欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

docker 详解设置容器防火墙

程序员文章站 2022-04-06 10:15:18
docker 容器防火墙设置 启动容器时增加参数 方法一:完全开放 --privileged=true 但是这样的话就将系统的所有能力都开放给了d...

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
#配置网络ip
pipework 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 save
iptables: saving firewall rules to /etc/sysconfig/iptables:[ ok ]
[root@dee8225a9bba /]# service iptablse restart
iptablse: unrecognized service
[root@dee8225a9bba /]# service iptables restart
iptables: 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_tables
iptables: applying firewall rules:       [ ok ]
[root@dee8225a9bba /]# 

参考:

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