ブリッジの同期エージェント

ブリッジの同期エージェント

ブリッジインターフェイス(eth1とeth2の間)のファイアウォールにsynproxyを実装しようとしています。私のルールは次のとおりです。

/usr/local/sbin/iptables -t raw -i PREROUTING -i br0 -m physdev --physdev-in eth1 -p tcp -m tcp --syn -j CT --notrack
/usr/local/sbin/iptables -A FORWARD -i br0 -m physdev --physdev-in eth1 -p tcp -m tcp -m state --state INVALID,UNTRACKED -j SYNPROXY --sack-perm --timestamp --wscale 7 --mss 1460
echo 0 > /proc/sys/net/netfilter/nf_conntrack_tcp_loose

eth1に接続されたクライアントとeth2に接続されているhttpサーバー(192.168.0.1)があります。

これらのルールを適用すると、curl 192.168.0.1クライアントで実行しようとするとタイムアウトが発生します。通常のTCP要求は進まないようです。

br0 で tcpdump を実行すると、syn-ack パケットと ack パケットは表示されません。すべての syn パケットが synproxy 宛先から失われたようです。

どんなアイデアがありますか?

ベストアンサー1

Syn-ack応答を送信すると、synproxyモジュールはルーティングテーブルを見つけます。特定のパスに基づいてsyn-ack応答を送信できるように、必要なパスを追加する必要があります。

おすすめ記事