docker 详解设置容器防火墙
docker容器防火墙设置
启动容器时增加参数
方法一:完全开放
--privileged=true
但是这样的话就将系统的所有能力都开放给了Docker容器
有一个image为aaa的将启动为容器名为bbb的且在容器内需要使用iptables功能,可以使用–privileged=true来进行开启,如:
dockerrun--privileged=true-d-p4489:4489/tcp--namebbbaaa
方法二:部分开放
对于iptables需要的权限进行开放,其它的权限不予开放
--cap-addNET_ADMIN--cap-addNET_RAW
操作实例(桥接模式配置容器防火墙):
#生成容器 dockerrun-itd--net=none--name=centos06--cpuset-cpus="0-3"-m1024M--memory-reservation1024M--cap-addNET_ADMIN--cap-addNET_RAWssh-java1.8-tomcat8-centos6/bin/bash #配置网络IP pipeworkbr0centos06132.97.8.6/24@132.97.8.1 #进入容器 dockerattachcentos06 #设置容器的防火墙 [root@dee8225a9bba/]#iptables-AINPUT-s132.97.0.0/16-ptcp-mtcp--dport21-jACCEPT [root@dee8225a9bba/]#iptables-AINPUT-s132.97.0.0/16-ptcp-mtcp--dport22-jACCEPT [root@dee8225a9bba/]#iptables-AINPUT-s132.97.0.0/16-ptcp-mtcp--dport8080-jACCEPT [root@dee8225a9bba/]#iptables-AINPUT-jDROP [root@dee8225a9bba/]#serviceiptablessave iptables:Savingfirewallrulesto/etc/sysconfig/iptables:[OK] [root@dee8225a9bba/]#serviceiptablserestart iptablse:unrecognizedservice [root@dee8225a9bba/]#serviceiptablesrestart iptables:SettingchainstopolicyACCEPT:manglenatfilte[OK] iptables:Flushingfirewallrules:[OK] iptables:Unloadingmodules:iptable_mangleiptable_natip[FAILED]lteriptable_mangleiptable_natiptable_filterip_tables iptables:Applyingfirewallrules:[OK] [root@dee8225a9bba/]#
参考:https://www.nhooo.com/article/103515.htm
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!