Wie leite ich Port tun0 über eth0 an eine lokale Adresse weiter?

Wie leite ich Port tun0 über eth0 an eine lokale Adresse weiter?

IPTABLES

Ich 10.8.0.7 Debian

Linux-Server cent8 eth0 192.168.88.11 tun0 10.8.0.6

Wie verbinde ich die Portweiterleitung 10.8.0.6:8888 mit der lokalen Maschine 192.168.88.10:443?

Weiterleitung aktivieren

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

Was funktioniert daran nicht?

Antwort1

Wenn Sie nur einen einzigen Port weiterleiten müssen, würde ich die IP-Weiterleitung im Kernel nicht aktivieren und nicht mit iptables herumspielen, sondern ein spezielles Programm wie verwendensocatum die Portweiterleitung durchzuführen (auf der verlinkten Seite finden Sie ein Beispiel, wie Sie die Portweiterleitung mit durchführen socat). Mein bevorzugtes Portweiterleitungstool isttcppmvon dem3ProxyPaket.

verwandte Informationen