Exileum
@Exileum
PHP-программист

Проброс портов в OpenVPN через ufw?

Добрый вечер.

Есть OpenVPN-сервер поднятый на DigitalOcean с помощью скрипта https://github.com/Nyr/openvpn-install - соответственно вся базовая часть работает, клиенты коннектятся трафик ходит. Однако есть одна загвоздка, решения которой сам не нашел.

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

Пробовал вот так с iptables:
iptables -A FORWARD -d 10.8.0.2 -i eth0 -p tcp -m tcp --dport 3000:65500 -j ACCEPT
iptables -A FORWARD -d 10.8.0.2 -i eth0 -p udp -m udp --dport 3000:65500 -j ACCEPT
iptables -t nat -A PREROUTING -d 37.139.29.*** -p tcp -m tcp --dport 3000:65500 -j DNAT --to-destination 10.8.0.2
iptables -t nat -A PREROUTING -d 37.139.29.*** -p udp -m udp --dport 3000:65500 -j DNAT --to-destination 10.8.0.2
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

И так:
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 10.8.0.2
iptables -A FORWARD -s 10.8.0.2 -p tcp --dport 8080 -j ACCEPT

И вот так через ufw пробовал:
# START OPENVPN RULES
# NAT table rules
*nat
:POSTROUTING ACCEPT [0:0]

-A PREROUTING -i eth0 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 10.8.0.2:8080
-A PREROUTING -i eth0 -p udp -m udp --dport 8080 -j DNAT --to-destination 10.8.0.2:8080

# Allow traffic from OpenVPN client to eth0
-A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE
COMMIT
# END OPENVPN RULES

...

# START OPENVPN RULES
-A FORWARD -d 10.8.0.2/32 -p tcp -m tcp --dport 8080 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -d 10.8.0.2/32 -p udp -m udp --dport 8080 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
# END OPENVPN RULES

Но ничего не помогает и порт открытым не становится.

IP сервера: 37.139.29.***
IP клиента VPN после подключения внутренний: 10.8.0.2

В ядре проброс портов разрешен. В настройках ufw проброс разрешен тоже.

Возможно кто-то сталкивался?
  • Вопрос задан
  • 1251 просмотр
Пригласить эксперта
Ответы на вопрос 2
Ziptar
@Ziptar
Дилетант широкого профиля
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j DNAT --to-destination 10.8.0.2:8080
iptables -A FORWARD -t eth0 -p tcp --dport 8080 -j ACCEPT
iptables -A FORWARD -s 10.8.0.2 -p tcp --sport 8080 -j ACCEPT

Должно работать, если ничего не напутал. С iptables общаюсь не то что бы часто.
А вообще: https://www.opennet.ru/docs/RUS/iptables/

P.S. форвардинг должен быть включён на обоих интерфейсах - то есть eth0 и tun/tap
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы