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

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

Вот мой сценарий:

  1. Удаленный сервер OpenVPN v2.3.2, 1 общедоступный IP, CentOS 6.4, 2.6.32-042stab079.6
  2. Tunnelblick (клиент OpenVPN)

Я хочу направить весь клиентский трафик через VPN - и я это сделал. Однако я испытываю проблемы с перенаправлением портов клиентов через VPN.

например Мне нужен порт 5780 для проведения матча на клиенте, но я за VPN, поэтому VPN получает пакеты. Я бы хотел, чтобы VPN пересылал каждый пакет на порт 5780 на IP-адрес моего клиента.

Как я могу это сделать? Обратите внимание, что на удаленном сервере работает CSF + LFD.

Вы должны NAT пакеты для вашего клиента через iptables:

iptables -t nat -A PREROUTING -p tcp --dport 5780 -i $external_Interface -j DNAT --to-destination $VPN_client_IP
iptables -t nat -A POSTROUTING -o $vpn_Interface -j MASQUERADE

Обновление: вам также понадобится правило FORWARD, если ваша политика FORWARD установлена ​​на DROP. Как вы видете Вот, FORWARD происходит между PREROUTING и POSTROUTING, поэтому DNAT уже выполнен. Это должно работать:

iptables -I FORWARD -i $external_Interface -d $VPN_client_IP --dport $port -j ACCEPT