ルーティングポリシーが機能しない

ルーティングポリシーが機能しない

OpenWrtを使用するアクセスポイントがあります。同じLAN上の他のホストにSquid(IPアドレス192.168.80.148)があります。ターゲットポート80を使用してパッケージを192.168.80.148にルーティングしたいと思います。

だから私は持っています

root@ap:/tmp# iptables -L -vn -t mangle
Chain PREROUTING (policy ACCEPT 67354 packets, 54M bytes)
 pkts bytes target     prot opt in     out     source               destination         
67358   54M fwmark     all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain INPUT (policy ACCEPT 1548 packets, 127K bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 65789 packets, 54M bytes)
 pkts bytes target     prot opt in     out     source               destination         
65789   54M mssfix     all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain OUTPUT (policy ACCEPT 1017 packets, 133K bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 66808 packets, 54M bytes)
 pkts bytes target     prot opt in     out     source               destination         
25686 1564K MARK       tcp  --  *      br-lan  0.0.0.0/0            0.0.0.0/0            PHYSDEV match ! --physdev-in eth0+ tcp dpt:80 MARK set 0x1

Chain fwmark (1 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain mssfix (1 references)
 pkts bytes target     prot opt in     out     source               destination         
root@ap:/tmp# ip rule ls
0:      from all lookup 128 
0:      from all fwmark 0x1 lookup squid1 
1:      from all lookup local 
32766:  from all lookup main 
32767:  from all lookup default 
root@ap:/tmp# ip route show table squid1
default via 192.168.80.148 dev br-lan 

したがって、ルーティングは機能しません。パッケージが私のステーションからイカの入った箱に送られるのを見ることはできません。

1つの重要な点は、アクセスポイントがサイトのデフォルトゲートウェイではないことです。 APのすべてのポートは同じVLANにあるため、APは一意のIPアドレスを持ち、内部インターネットADSLモデムと同じLANにあります。 ADSLモデムのLAN IPアドレスはデフォルトゲートウェイです。

私は何が間違っていましたか?

編集する:

テストルールを追加しました。

iptables -t mangle -A OUTPUT -o br-lan -p tcp -m physdev ! --physdev-in eth0+ -m tcp --dport 80 -
j MARK --set-xmark 0x1/0xffffffff

この場合、ルーティングが機能することがわかりました(AP自体のトラフィックはイカボックスを通過します)。したがって、問題は、このステーションのトラフィックがルーティングされないことです。なぜ?

ベストアンサー1

おすすめ記事