咨询热线:4006-75-4006

售前:9:00-23:30    备案:9:00-18:00    技术:7*24h

docker容器映射的端口无法用firewalld防火墙管理的问题

2024-08-01 09:49:31 1356次

docker容器映射的端口无法用firewalld防火墙管理的问题

 

蓝队云小课堂:

1. 设置docker服务参数,禁止使用iptables

编辑docker服务的配置文件/etc/docker/daemon.json,如果没有这个文件,需要创建一个空文件,添加以下内容:

{

    ... ,

    "iptables":false

}

保存配置文件。在命令行执行以下命令重启docker服务:

# systemctl restart docker

2. 设置防火墙参数,允许地址转发

在命令行执行以下命令,开启防火墙的地址转发:

# firewall-cmd --add-masquerade --permanent

# firewall-cmd -reload

重启服务器,让配置生效。

3. 限制端口仅允许特定IP地址访问,例如设置9200端口只能被192.168.0.184访问

3.1 查看防火墙是否开启了9200端口。

# firewall-cmd --list-all

image.png
 

3.2从防火墙中删除9200端口,如果没有,可忽略这一步。

在命令行执行命令

# firewall-cmd --remove-port=9200/tcp --permanent

# firewall-cmd --reload

# firewall-cmd --list-all

image.png
 

已经没有9200端口。

3.3 添加rich-rules防火墙规则,仅允许192.168.0.184 访问9200端口。

#firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.0.184" port protocol="tcp" port="9200" accept" --permanent

注意:上面的命令要在一行中输入,不能分行。

# firewall-cmd --reload

让修改及时生效。

#firewall-cmd --list-all

image.png
 

这样设置,即使重启操作系统,也仅有192.168.0.184能访问9200端口。

注意:如果添加rich-rule出现错误输入,可以把--add-rich-rule替换为--remove-rich-rule再执行一遍命令,就能删除这条错误的规则。

 

更多小知识,可联系蓝队云一起探讨。

 


首页
最新活动
个人中心