Iptables
IP 表攔截異常
我有一組如下所示的 iptable 規則:
-A PREROUTING --jump intercept-nat -A intercept-nat --jump DNAT -s 10.10.1.0/24 ! -d 10.10.1.1/32 -p tcp -m tcp --dport 80 --to-destination 10.10.1.1:3126 -m comment --comment "intercept-nat" -A intercept-nat --jump DNAT -s 10.10.1.0/24 ! -d 10.10.1.1/32 -p tcp -m tcp --dport 443 --to-destination 10.10.1.1:3127 -m comment --comment "intercept-nat" -A intercept-nat --jump DNAT -s 10.1.2.0/24 ! -d 10.10.1.1/32 -p tcp -m tcp --dport 80 --to-destination 10.10.1.1:3126 -m comment --comment "intercept-nat" -A intercept-nat --jump DNAT -s 10.1.2.0/24 ! -d 10.10.1.1/32 -p tcp -m tcp --dport 443 --to-destination 10.10.1.1:3127 -m comment --comment "intercept-nat"
它的設計目的是向 http 記憶體代理 Squid 發送 80 和 443 流量。我想在 iptables 規則中添加一些不會將 443 流量定向到特定 IP 地址的行到 10.10.1.1:3127 (squid)
案例:我有一個 websocket 伺服器,代理後面的客戶端需要連接,但 squid 不支持 websocket。所以我希望那些流量繞過 squid
我會做以下事情:
-A PREROUTING -s 10.10.1.0/24 ! -d 10.10.1.1/32 --jump intercept-nat -A PREROUTING -s 10.1.2.0/24 ! -d 10.10.1.1/32 --jump intercept-nat -A intercept-nat -d target-ip -p tcp -m tcp --dport 443 -j RETURN -A intercept-nat --jump DNAT -p tcp -m tcp --dport 80 --to-destination 10.10.1.1:3126 -m comment --comment "intercept-nat" -A intercept-nat --jump DNAT -p tcp -m tcp --dport 443 --to-destination 10.10.1.1:3127 -m comment --comment "intercept-nat"
每次數據包目的地匹配
target-ip
時,它將跳過其餘的攔截-nat 規則。我還稍微更改了您的規則,以使它們更具可讀性和易於更改;-)。