Docker 容器内的 Conntrack 为空

Docker 容器内的 Conntrack 为空

conntrack你们当中有谁有在容器化环境中使用的经验?我docker run --network bridge --privileged --cap-add all -it --rm alpine在 Debian 操作系统(内核 5.10.0-6-amd64)上运行常规的 alpine docker 容器,但是,/proc/net/nf_conntrack容器内仍为空,并且conntrack -L返回 0 个活动连接,尽管我正在从该容器内启动传出连接。我可以在conntrack物理机器中看到这些打开的连接,但在容器内看不到 0 个。有没有建议的解决方案可以解决该问题,即能够使用conntrack容器内的列出这些连接?提前感谢任何关于如何实现这一点的提示!我真的很想使用容器的看到那些活动连接conntrack!在这里,我将简要介绍收到的功能。

host# docker run --network bridge --privileged --cap-add all -it --rm alpine
container# apk add screen
container# apk add ncftp
container# apk add conntrack-tools
container# screen
container/s1# ncftp ftp.de.debian.org
container/s2# conntrack -L -p tcp --dport 21
conntrack v1.4.6 (conntrack-tools): 0 flow entries have been shown.
host# conntrack -L -p tcp --dport 21
tcp      6 431889 ESTABLISHED src=172.17.0.2 dst=141.76.2.4 sport=50078 dport=21 packets=17 bytes=980 src=141.76.2.4 dst=192.168.190.230 sport=21 dport=50078 packets=15 bytes=1570 [ASSURED] mark=0 use=1
conntrack v1.4.6 (conntrack-tools): 1 flow entries have been shown.

答案1

iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

从容器内部执行即可。

相关内容