iptables使用详解( 七 )


那解决办法很简单 , 既然包导向了FORWARD链 , 那么在FORWARD链中添加拦路虎 , 不就得了嘛 。DOCKER官方给的建议便是如此 , 比如 , 针对本文中的例子 , 我们可以添加如下规则 , 即可实现所有外部网络都无法访问docker中的服务:
iptables -I DOCKER-USER -i enp0s3 -j DROP规则含义是:所有从外部网络进入的数据包 , 直接被丢弃 。DOCKER-USER链是上述FORWARD链中第一个规则匹配的到的链 。外部访问的数据包 , 其输入网口 , 肯定是enp0s3 , 因为在本例中 , 它是对外通信的网口 。当然我们也可以在此 , 插入只允许某个网络访问 , 或某个网络不能访问的规则 , 不再赘述 。
参考资料https://www.zsythink.net/archives/1199https://www.booleanworld.com/depth-guide-iptables-linux-firewall/https://linuxconfig.org/how-to-make-iptables-rules-persistent-after-reboot-on-linuxhttps://askubuntu.com/questions/579231/whats-the-difference-between-prerouting-and-forward-in-iptableshttps://docs.docker.com/network/iptables/

欢迎关注我的个人公众号"西北偏北UP" , 记录代码人生 , 行业思考 , 科技评论

经验总结扩展阅读