重複したiptablesルールが最初の発生よりも多く一致するのはなぜですか?

重複したiptablesルールが最初の発生よりも多く一致するのはなぜですか?

私はiptablesで奇妙な動作を観察するためにdocker swarmを使用しています。おそらく、誰かがそこで何が起こっているのかを説明できます。iptables -Z FORWARDまず、次を使用してFORWARDチェーンのカウンタをクリアしますiptables -L FORWARD -n -v --line-numbers

Chain FORWARD (policy DROP 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1     115K   62M DOCKER-USER  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
2    57041   57M DOCKER-INGRESS  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
3    1299K 1009M DOCKER-USER  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
4    1299K 1009M DOCKER-ISOLATION-STAGE-1  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
5        0     0 ACCEPT     all  --  *      docker0  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
6        0     0 DOCKER     all  --  *      docker0  0.0.0.0/0            0.0.0.0/0           
7        0     0 ACCEPT     all  --  docker0 !docker0  0.0.0.0/0            0.0.0.0/0           
8        0     0 ACCEPT     all  --  docker0 docker0  0.0.0.0/0            0.0.0.0/0           
9     154K  159M ACCEPT     all  --  *      docker_gwbridge  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
10    5420  299K DOCKER     all  --  *      docker_gwbridge  0.0.0.0/0            0.0.0.0/0           
11   1140K  850M ACCEPT     all  --  docker_gwbridge !docker_gwbridge  0.0.0.0/0            0.0.0.0/0           
12       0     0 DROP       all  --  docker_gwbridge docker_gwbridge  0.0.0.0/0            0.0.0.0/0

ルール1とルール3が同じであることを確認するために、以下を実行しましたiptables -S FORWARD

-P FORWARD DROP
-A FORWARD -j DOCKER-USER
-A FORWARD -j DOCKER-INGRESS
-A FORWARD -j DOCKER-USER
-A FORWARD -j DOCKER-ISOLATION-STAGE-1
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o docker0 -j DOCKER
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
-A FORWARD -o docker_gwbridge -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o docker_gwbridge -j DOCKER
-A FORWARD -i docker_gwbridge ! -o docker_gwbridge -j ACCEPT
-A FORWARD -i docker_gwbridge -o docker_gwbridge -j DROP

冗長なルールが時々発生することはわかっていますが、ルールの2番目の発生が最初の発生(115K)よりも多くのパケット(1299K)を計算するのはなぜですか?

ベストアンサー1

おすすめ記事