Как перенаправить порт tun0 на локальный адрес через eth0?

Как перенаправить порт tun0 на локальный адрес через eth0?

IPTABLES

Я 10.8.0.7 Дебиан

Linux сервер cent8 eth0 192.168.88.11 tun0 10.8.0.6

Как подключить переадресацию порта 10.8.0.6:8888 к локальной машине 192.168.88.10:443?

Включить пересылку

echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
sudo sysctl -w net.ipv4.ip_forward=1
echo '1' | sudo tee /proc/sys/net/ipv4/conf/eth0/forwarding ;
echo '1' | sudo tee /proc/sys/net/ipv4/conf/tun0/forwarding
sudo iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT

# forward 10.8.0.6:8888 to local 192.168.88.10:443 
sudo iptables -t nat -A PREROUTING -p tcp -d 10.8.0.6 --dport 8888-j DNAT --to-destination 192.168.88.10:443
#  return
sudo iptables -t nat -A POSTROUTING -p tcp --dst 192.168.88.10 -j SNAT --to-source 10.8.0.6:8888

# remove
sudo iptables -t nat -D PREROUTING 2
sudo iptables -t nat -D POSTROUTING 2

Что не работает?

решение1

Если вам нужно перенаправить только один порт, я бы не включал переадресацию IP в ядре и не возился с iptables, а использовал бы специализированную программу типасокатдля переадресации портов (на странице по ссылке есть пример того, как сделать переадресацию портов с помощью socat). Мой любимый инструмент для переадресации портов —tcppmиз3проксиупаковка.

Связанный контент