ポート tun0 を eth0 経由でローカル アドレスに転送するにはどうすればよいですか?

ポート tun0 を eth0 経由でローカル アドレスに転送するにはどうすればよいですか?

IPテーブル

私 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

1つのポートだけを転送する必要がある場合は、カーネルでIP転送をオンにしたり、iptablesをいじったりするのではなく、次のような専用プログラムを使用します。ソカットポート転送を行うには(リンク先のページには、ポート転送を行う例がありますsocat)。私のお気に入りのポート転送ツールはtcppmから3プロキシパッケージ。

関連情報