docker有自己的防火墙吗 docker有防火墙吗

IT技术 稻草人 4个月前 (10-16) 71次浏览 已收录 0个评论 扫描二维码

pre{overflow-x: auto}

   

docker有自己的防火墙吗?

有的,开启防火墙端口:firewall-cmd --zone=public --add-port=80/tcp --permanent。但是docker的部分网络功能是通过iptables转发来完成的,转发规则是docker进程启动后动态添加的,也就意味着如果你重启iptables,将会丢失docker的转发规则。

有两种解决办法:

1、动态添加iptables规则,然后保存到防火墙软件配置文件中

动态添加iptables规则可以使规则立即生效(重启失效)

sudo iptables -I INPUT 1 -p tcp --dport 46379 -j ACCEPT

这条命令会将规则添加到input规则的第一位 ,-I参数指定插入位置。不要使用-A参数,该参数会将规则添加到input的最后一条,一般原来的最后一条都是reject规则,所以新插入的规则无法生效。

sudo service iptables save

2、重启iptable后重新启动docker

影响:重启docker会导致全部容器重启,有可能造成短时间的业务故障。

此方法不建议使用,如果已经重启防火墙,导致docker业务故障,使用下面命令重启dcoker。

systemctl restart docker

它的基本操作是什么?

1、启动服务:systemctl start firewalld.service

2、关闭服务:systemctl stop firewalld.service

3、重启服务:systemctl restart firewalld.service

4、显示服务的状态:systemctl status firewalld.service

5、开机自动启动:systemctl enable firewalld.service

6、禁用开机自动启动:systemctl disable firewalld.service

7、查看版本: firewall-cmd --version

8、查看帮助: firewall-cmd --help

9、显示状态: firewall-cmd --state

10、查看所有打开的端口: firewall-cmd --zone=public --list-ports

11、更新防火墙规则: firewall-cmd --reload

12、查看区域信息: firewall-cmd --get-active-zones

13、查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0

14、拒绝所有包:firewall-cmd --panic-on

15、取消拒绝状态: firewall-cmd --panic-off

16、查看是否拒绝: firewall-cmd --query-panic

以上就是小编的分享,希望可以帮助到大家。

喜欢 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址