Переадресация портов с OpenVPN

Настройте сервер openvpn, но возникли проблемы с перенаправлением портов клиенту.

Вот что я пытаюсь сделать:

WAN: 123.45.67.89:4444 -> [OpenVPN Server] -> CLIENT: 192.168.1.10:4444

Видел много разных ответов о том, как это сделать, но, что бы я ни пытался, это не работает, и тесты портов всегда показывают, что порт закрыт.

2 ответа

Я предполагаю, что вы используете OpenVPN в режиме маршрутизации и NATting своих клиентов в глобальной сети. Если это так, вы хотите сделать следующее:

iptables -t nat -A PREROUTING -i eth0 -d 123.45.67.89 -p tcp --dport 4444 -j DNAT --to-destination 192.168.1.10 (измените eth0 на любой интерфейс, на котором фактически находится ваша WAN).

Если вы не используете NAT, тогда нужно просто убедиться, что хост, с которого вы пытаетесь подключиться, знает, чтобы маршрутизировать пакеты, предназначенные для 192.168.1.10 - 123.45.67.89 (что, очевидно, не будет работать на IP RFC1918 через интернет). В любом случае, единственными другими требованиями являются то, что у вас включена маршрутизация IPv4 (я бы предположил, что VPN не будет работать вообще, если вы этого не сделали) и что у вас нет других правил брандмауэра, которые блокировали бы этот трафик.

Так что это было наше решение в iptables. Вам все еще нужно установить ip_forward в Linux.

 *nat
:PREROUTING ACCEPT [56:16971]
:INPUT ACCEPT [1:52]
:OUTPUT ACCEPT [31:2256]
:POSTROUTING ACCEPT [31:2256]
-A POSTROUTING -s 10.2.0.0/24 -o enp1s0 -j MASQUERADE
-A PREROUTING -i enp1s0 -p tcp --dport 9000 -j DNAT --to-destination 10.2.0.22
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [5618:4419840]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 10.2.0.0/24 -j ACCEPT
-A FORWARD -i enp1s0 -o tun1 -p tcp --dport 9000 --syn -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD -i enp1s0 -o tun1 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -i tun1 -o enp1s0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Wed Dec 20 18:30:08 2017
  • Сервер OpenVPN может работать за маршрутизатором с частным IP-адресом, если только порт 1194_UDP перенаправляет маршрутизатор на ваш сервер OpenVPN. Пример: общедоступный IP-адрес МАРШРУТИЗАТОРА 1.1.1.1 (интерфейс WAN) LAN-интерфейс МАРШРУТИЗАТОРА 192.168.10.1 IP-адрес сервера OpenVPN 192.168.10.10

  • Создайте правило переадресации портов на МАРШРУТИЗАТОРЕ Internal_port External_port Internal_Server_ip 1194 1194 192.168.10.10

  • При установке и настройке OpenVPN Server установите его IP-адрес 192.168.10.10.

  • В client.ovpn установите удаленный IP-адрес и порт как 1.1.1.1 1194 (общедоступный IP-адрес МАРШРУТИЗАТОРА).
Другие вопросы по тегам