
IPTABLES
Eu 10.8.0.7 Debian
Servidor Linux cent8 eth0 192.168.88.11 tun0 10.8.0.6
Como conectar o encaminhamento de porta 10.8.0.6:8888 à máquina local 192.168.88.10:443?
Ativar encaminhamento
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
O que é que não está funcionando?
Responder1
Se você precisar encaminhar apenas uma porta, eu não ativaria o encaminhamento de IP no kernel e não mexeria com o iptables, mas usaria um programa especializado comosocatpara fazer o encaminhamento de porta (na página vinculada você tem um exemplo de como fazer o encaminhamento de porta com socat
). Minha ferramenta favorita de encaminhamento de porta étcppmde3proxypacote.