форвардинг OpenVPN

Автор sues, 06 августа 2014, 00:15:35

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

sues

прошу помощи. взял в аренду впс на дебиане (по-моему шестой). поставил туда openvpn. все проблемы постепенно решались хоть и уровень моих знаний в линуксе чуть ниже нуля ).
все работает, отлично. айська, скайп, браузер идут на ура...

но вот какая незадача выходит: при включенном впне с этого сервера - я не могу зайти на сам сервер через putty или виндовое "подключение к удаленному рабочему столу".

подключаюсь к впну с винды хп, тут же стоит файрвол. а самый главный момент вот в чем: файрвол разрешает впну все что угодно, а устройству, которое дает доступ во всемирную паутину - запрещает любой коннект кроме впна. так вот, логи файрвола показывают - что хоть через путти, хочеть через "подключение к удаленному рабочему столу" - подключиться пытается устройство интернета а не тап-32 впновская. порты: 22 для putty и 3389 через удаленный рабочий стол.

что самое интересное: у меня есть еще платный впн - через него нормально ходит на свежекупленный впс обоими способами. попробовал приконнектиться со включенным этим платным впном к серваку платного впна через путти - все работает.

через свой впн - так же легко заходит на сервак купленного впна через путти.

то есть дело не в портах, а как я понимаю - сервак не хочет отправлять пакеты сам себе... либо форвардится не весь трафик

и вот тут я впадаю в ступор, чего не пытался - не выходит и все тут. мой скудный умишко не нашел способа сформулировать вопрос гуглу правильно )

что было сделано: через iptables пробовал: окрывать порты, разрешать трафик внутри сервера, потом вобще октрыл все таким образом:
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

не помогло...

людиии добрые, отзовитесь кто чем может помочь. если нужны какие-либо исходные данные - всегда готов предоставить, если осилю исполнение их добычи конечно )

впн работает через нат:
iptables -t nat -A POSTROUTING -s ${NETWORK_VPN} -j SNAT -o venet0 --to-source ${IP_SERVER}
iptables -A FORWARD -i tun0 -o venet0 -s ${NETWORK_VPN} -j ACCEPT
iptables -A FORWARD -i venet0 -o tun0 -d ${NETWORK_VPN} -m state --state RELATED,ESTABLISHED -j ACCEPT

не совсем понимаю для чего последние две строки - так было в мануале. а это был наверное десятый мануал, который я изучал. и он помог мне решить многие вопросы )). с обычными мануалами тоже все работало абсолютно так же - зайти на свой сервак из под впна я не мог.

zarguni


sues

Благодарю за ответ и внимание к теме.
root@name:~# iptables -L -n
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
ACCEPT     tcp  --  0.0.0.0/0            ${IP_SERVER}        tcp dpt:22
ACCEPT     tcp  --  0.0.0.0/0            ${IP_SERVER}        tcp dpt:1194
ACCEPT     udp  --  ${NETWORK_VPN}/24        0.0.0.0/0           udp dpt:53

Chain FORWARD (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  ${NETWORK_VPN}/24        0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            ${NETWORK_VPN}/24       state RELATED,ESTABLISHED

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain ISPMGR (0 references)
target     prot opt source               destination

zarguni

Пинг на этот сервер проходит?
И попробуйте на win xp задать маршрут для указанного сервера через нужный интерфейс.

sues

при включенном впне пинг не проходит. файрвол пишет что пакеты идут напрямую с интерфейса источника интернета.
возникает вопрос, каким образом стоит задать маршрут?
1. вписать днс в интерфейс подключения интернета - не помогает
2. вписать днс в интерфейс впна (тап-32) - не помогает
3. вписать и днс и айпи+основной шлюз в интерфейс впна (хотя dhcp на сервере работает исправно) - тоже не помогает

может быть я что-то неверно понял?

zarguni

Через консоль на win машине:
route add <SERVER_IP> <GATEWAY> if <INTERFACE>
где <INTERFACE> номер интерфейса, можно посмотреть через route print.

sues

спасибо за ответ.
что использовать в качестве <GATEWAY>? присвоенный адрес серверу внутренней сети для впна интерфейса tun0? или тот же <SERVER_IP>?
и что использовать в качестве <INTERFACE>? тап-32 или устройство подключения к интернету?
и, заодно, мне бы потом на будущее тоже знать каким действием убрать сии настройки, пожалуйста.

и смущает еще один момент - в покупном впне всё работает и без подобных манипуляций на вин хп, значит какие-то настройки различаются на линукс-серверах...

zarguni

#7
<INTERFACE> - интерфейс тап
<GATEWAY> - адрес указанный у вас как шлюз на тап интерфейсе

Удалить маршрут можно командой:
route delete <SERVER_IP>

Еще бы хорошо сравнить настройки обоих vpn-серверов. Может все-таки на этом входящие заблокированы... пингуется ли адрес виртуального интерфейса на сервере?

p.s. но мне кажется, что не там ищем проблему

sues

понятно. спасибо за разъяснение.
сделал. не помогло.

к сожалению, не имею возможности смотреть настройки сервера платного сервиса.

Цитироватьпингуется ли адрес виртуального интерфейса на сервере?
из вин хп? да, норм пингуется. ведь впн практически полностью функционирует. одна незадача - не удается при включенном впне зайти на сам сервер где этот впн расположен.

как уже писал выше - пробовал создавать правило на разрешение всех входящих и исходящих:
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT


все оставалось так же. вот такой вот курьез )

zarguni

А войти по ssh на адрес виртуального интерфейса?

sues

отличная идея, оригинальая ).
не работает (((. но разрешил все входящие на серваке и заработало! ))

создал правило. все ок. спасибо огромное!

но все арвно остается непонятным, почему сервак не хочет принимать пакаеты от самого себя.