linux
July 26, 2022

Как с помощью iptables и чёрной магии перенаправить трафик с одной машины на другую

Нужно спрятать vpn сервер за посредником, используем правила iptables.

Все команды вводятся на машине посреднике, конечный сервер не трогаем. Порты на посреднике можно выбрать любые.

sudo echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
iptables -A FORWARD -p tcp -d конечный_адрес \
--dport конечный_порт -j ACCEPT
iptables -A FORWARD -p tcp -s конечный_адрес \
--sport конечный_порт -j ACCEPT
iptables -A PREROUTING -t nat -p tcp -d адрес_посредник \
--dport порт_посредника -j DNAT \
--to-destination конечный_адрес:конечный_порт
iptables -A POSTROUTING -t nat -p tcp -d конечный_адрес \
--dport конечный_порт -j SNAT --to-source адрес_посредник