LINUX.ORG.RU
ФорумAdmin

Проброс портов (port forwarding) в Ubuntu используя iptables

 


0

0

Люди добрые, есть ubuntu машина ( белый внешный IP SERVER_EXT_IP, утановлен VPN сервер( точнее Wireguard).

Есть клиент-машина подключенный к VPN (IP адрес CLIENT_VPN_IP) c установленным веб сервером Apache 2.4

На сервере выполняю с правами root:

ufw allow 444/tcp

iptables -A FORWARD -i ens160 -o wg0 -j ACCEPT

iptables -t nat -A PREROUTING -p tcp -d SERVER_EXT_IP –dport 444 -j DNAT –to-destination CLIENT_VPN_IP:443

iptables -t nat -A POSTROUTING -p tcp –sport 443 –dst CLIENT_VPN_IP -j SNAT –to-source SERVER_EXT_IP :444

Тут: ens160 -Wan интерфейс с бел. ИП SERVER_EXT_IP,wg0 -VPN интерфейс сервера но не работает. Но, perl скрипт для перенаправления трафика действует (естественно без настройки iptables ) В чем проблема, чего я делаю не правиллно? Заране блогадарен

не понятно что ты хочешь от второго правила

если хочешь чтоб клиенты vpn выглядели как клиенты с SERVER_EXT_IP то должно быть

iptables -t nat -A POSTROUTING -o ens160 -s CLIENT_VPN_IP/32 -j SNAT –to-source SERVER_EXT_IP

вместо CLIENT_VPN_IP/32 может быть твоя vpn сеть там 10.10.0.0/24

cylon17
()
Последнее исправление: cylon17 (всего исправлений: 2)
Ответ на: комментарий от cylon17

Цитирую: «не понятно что ты хочешь от второго правила» Вот именно! Спосибо,cylon17! Вот правильный вариант:

iptables -t nat -A POSTROUTING -p tcp -d CLIENT_VPN_IP –dport 443 -j SNAT –to-source Шлюз_ВПН

или

iptables -t nat -A POSTROUTING -j MASQUERADE

Zohrab_emi
() автор топика