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

Перенаправление портов с OpenVPN

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

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

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

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

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

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 на любой интерфейс, на котором фактически находится ваша глобальная сеть).

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

  • Сервер 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-адрес МАРШРУТИЗАТОРА).

Итак, это было наше решение в 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