docker里面的iptables – conntrack不起作用

我试图在Docker容器(基于Centos 7的镜像)中设置iptables规则,连接跟踪不起作用。

# iptables -S INPUT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -j DROP 

当我build立一个出站连接时,它会在conntrack表中创build一个条目,但是激活的数据包与该条目不匹配,因此被iptables的最后一条规则丢弃。

 # wget -O /dev/null https://example.com 

(……)

 # conntrack -E -d 1.2.3.4 [NEW] tcp 6 120 SYN_SENT src=1.1.1.1 dst=1.2.3.4 sport=49696 dport=443 [UNREPLIED] src=1.2.3.4 dst=1.1.1.1 sport=443 dport=49696 [DESTROY] tcp 6 src=1.1.1.1 dst=1.2.3.4 sport=49696 dport=443 [UNREPLIED] src=1.2.3.4 dst=1.1.1.1 sport=443 dport=49696 

iptables计数器:

 # iptables -nv -L INPUT Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 5 300 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 

是否有可能在Docker容器中使用连接跟踪,或者是某种types的bug或类似的东西? 难道我做错了什么?