ネットワークの設定で小さな問題が発生しています。
このネットワークでは、192.168.3.0から192.168.2.0にpingを実行し、その逆を行うことができますが、TCP接続では機能しません。ハンドシェイクは失敗します(ACKなし)。
以下は、Wiresharkのキャプチャと私の設定です。
icmpは192.168.3.2にリダイレクトします。
config router 192.168.2.1:
route 192.168.3.0/24 dev eth-right via 192.168.2.2
config router 192.168.3.1:
route 192.168.2.0/24 dev eth-left via 192.168.3.2
config router 192.168.2/3.2:
route 192.168.2.0/24 dev eth-left proto kernel scope link src 192.168.2.2
route 192.168.3.0/24 dev eth-right proto kernel scope link src 192.168.3.2
tcp_timestamps = 0 / 1 no effect
tcp_window_scaling = 0 / 1 no effect
ip_forward = 1
iptables:
*filter
:INPUT ACCEPT [558387:1126476966]
:FORWARD ACCEPT [7256:5227071]
:OUTPUT ACCEPT [366250:1071395133]
-A INPUT -p udp -m udp --sport 67:68 --dport 67:68 -j DROP
COMMIT
route 192.168.2.0/24 dev eth-left proto kernel scope link src 192.168.2.2
route 192.168.3.0/24 dev eth-right proto kernel scope link src 192.168.3.2
Src属性が問題です。次のようになります。
route 192.168.2.0/24 dev eth-left proto kernel scope link
route 192.168.3.0/24 dev eth-right proto kernel scope link