docker 详解设置容器防火墙

时间:2021-05-19

docker 容器防火墙设置

启动容器时增加参数

方法一:完全开放

--privileged=true

但是这样的话就将系统的所有能力都开放给了Docker容器

有一个image为aaa的将启动为容器名为bbb的且在容器内需要使用iptables功能,可以使用–privileged=true来进行开启,如:

docker run --privileged=true -d -p 4489:4489/tcp --name bbb aaa

方法二:部分开放

对于iptables需要的权限进行开放,其它的权限不予开放

--cap-add NET_ADMIN --cap-add NET_RAW

操作实例(桥接模式配置容器防火墙):

#生成容器docker run -itd --net=none --name=centos06 --cpuset-cpus="0-3" -m 1024M --memory-reservation 1024M --cap-add NET_ADMIN --cap-add NET_RAW ssh-java1.8-tomcat8-centos6 /bin/bash#配置网络IPpipework br0 centos06 132.97.8.6/24@132.97.8.1#进入容器docker attach centos06#设置容器的防火墙[root@dee8225a9bba /]# iptables -A INPUT -s 132.97.0.0/16 -p tcp -m tcp --dport 21 -j ACCEPT[root@dee8225a9bba /]# iptables -A INPUT -s 132.97.0.0/16 -p tcp -m tcp --dport 22 -j ACCEPT[root@dee8225a9bba /]# iptables -A INPUT -s 132.97.0.0/16 -p tcp -m tcp --dport 8080 -j ACCEPT[root@dee8225a9bba /]# iptables -A INPUT -j DROP[root@dee8225a9bba /]# service iptables saveiptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ][root@dee8225a9bba /]# service iptablse restartiptablse: unrecognized service[root@dee8225a9bba /]# service iptables restartiptables: Setting chains to policy ACCEPT: mangle nat filte[ OK ]iptables: Flushing firewall rules: [ OK ]iptables: Unloading modules: iptable_mangle iptable_nat ip[FAILED]lter iptable_mangle iptable_nat iptable_filter ip_tablesiptables: Applying firewall rules: [ OK ][root@dee8225a9bba /]#

参考:

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章