0
私は2つのシステムAを持っているとB. AはTCPクライアントであるとiptablesの
------------------ --------------------------
System A System B
192.168.0.5 wlan0 192.168.0.3 wlan0
127.0.0.1 lo 127.0.0.1 lo
TCP Client <------------> TCP Server on 127.0.0.1
------------------ ----------------------------
TCPクライアントが192.168.0.3にメッセージを送信B.にTCPサーバーにメッセージを送信を使用してIP転送ルールを策定する方法。
TCP ServerはシステムB
のポート8000で127.0.0.1上で実行されているように、これは、したがって、私はBで次のIPテーブルのルール、しかし、私のサーバーを書いBのローカルインタフェースにリダイレクトする必要がありますメッセージは受信されません。ああ、この2つのシステムは、UbuntuのLinuxシステムです。ここで
は、私は、システムBにやったことです:
#Enable IP Forwarding for NAT
echo "1" < /proc/sys/net/ipv4/ip_forward
#Flush all iptable chains and start afresh
sudo iptables -F
#Forward incoming packets on 192.168.0.3 at wlan0 interface to 127.0.0.1
sudo iptables -t nat -A PREROUTING -p tcp -i wlan0 -d 192.168.0.3 --dport 8000 -j DNAT --to 127.0.0.1:8000
#Explicitly allow incoming connections on port 8000
sudo iptables -A INPUT -i wlan0 -p tcp --dport 8000 -m state --state NEW,ESTABLISHED -j ACCEPT
#Explicitly allow outgoing messages from port 8000
sudo iptables -A OUTPUT -o wlan0 -p tcp --sport 8000 -m state --state ESTABLISHED -j ACCEPT
その後、私は、私はwlan0に192.168.0.5からのwiresharkでパケットを見ることができますBにサーバーを起動して、A.にTCPクライアントからメッセージを送信します彼ら転送されることはありません飽きない:(
助けてください