Назад | Перейти на главную страницу

Туннелирование Windows VPN через SSH

Хорошо, вот моя проблема ...

Я хочу подключиться к VPN через pptp однако в Windows XP он находится за брандмауэром, который я не могу контролировать. Я могу устанавливать SSH-соединения.

Я хочу подключиться к серверу, который я не контролирую, но разрешает доступ через VPN. Допустим, у него IP 193.60.20.50 ради аргументов.

У меня есть промежуточный сервер под управлением Debian Wheezy, который я полностью контролирую и могу подключаться по SSH с компьютера Windows. Допустим, у него IP 212.74.214.28 ради аргументов.

Как мне туннелировать VPN-соединение с машины Windows через мой промежуточный сервер на конечный сервер? Я предполагаю, что это возможно с использованием SSH-туннелирования в PuTTY. Однако я понятия не имею, что iptables правила, которые я требую на промежуточном сервере, чтобы разрешить прохождение трафика.

Пока я настроил PuTTY на переадресацию порта 1723 к 193.60.20.50:1723 похоже, это работает, поскольку VPN-соединение сразу возвращает ошибку, в отличие от того, когда туннель выключен, и оно пытается подключиться в течение длительного периода времени, прежде чем выдает ошибку. Однако я считаю, что мой iptables правила запрещают соединение.

Мой iptables правила в настоящее время (я выделил конкретные правила, которые я добавил, пытаясь решить эту проблему):

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
fail2ban-ssh-ddos  tcp  --  anywhere             anywhere             multiport dports ssh
fail2ban-ssh  tcp  --  anywhere             anywhere             multiport dports ssh
ACCEPT     all  --  anywhere             anywhere
REJECT     all  --  anywhere             loopback/8           reject-with icmp-port-unreachable
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ПРИНЯТЬ tcp - везде где угодно tcp dpt: 1723
ПРИНЯТЬ gre - в любом месте
ACCEPT     tcp  --  anywhere             anywhere             tcp dpts:http-alt:8090
ACCEPT     udp  --  anywhere             anywhere             udp dpts:60000:61000
ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:ssh
ACCEPT     icmp --  anywhere             anywhere             icmp echo-request
LOG        all  --  anywhere             anywhere             limit: avg 5/min burst 5 LOG level debug prefix "iptables denied: "
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ПРИНЯТЬ tcp - везде где угодно tcp dpt: 1723
ПРИНЯТЬ gre - в любом месте

Chain fail2ban-ssh (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere

Chain fail2ban-ssh-ddos (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere

Вы не можете туннелировать GRE через ssh. ( https://superuser.com/questions/657758/is-it-possible-to-tunnel-pptp-over-ssh )

Я бы посоветовал вам использовать настройку MyEnTunnel и Proxifier. MyEnTunnel не является обязательным, вы также можете сделать это с помощью Putty.

Однако вы можете туннелировать OpenVPN в режиме TCP через SSH.