centos7防火墙白名单总结

需求:

某台服务器的es的8300,8200端口需要指定白名单访问,需要在不影响服务器上其他服务的前提下(因为是历史项目),完善防火墙配置。

首先梳理发现,这两个端口是docker映射出来的端口,开启防火墙。发现防火墙无法限制端口。

先解决:

centos中docker开放的端口 无法受防火墙 控制:

在 CentOS 中,Docker 容器开放的端口默认不受 firewalld 防火墙控制,因为 Docker 使用了自己的网络命名空间和 iptables 规则来管理容器的网络。这可能会导致在 firewalld 中设置的规则对 Docker 容器不生效。为了使 firewalld 能够控制 Docker 容器的端口,可以采取以下步骤:

1. **修改 Docker 配置**:编辑 `/etc/docker/daemon.json` 文件,添加或修改 `"iptables": false` 配置,这样 Docker 就不会自动设置 iptables 规则。例如:
   {
     "iptables": false
   }
   修改后需要重启 Docker 服务。


systemctl restart docker

注意:重启docker时候,最好先备份docker ps 的结果

centos中指定端口访问地址

方法1:

随后配置public.xml

<?xml version="1.0" encoding="utf-8"?>
<zone
  <rule family="ipv4">
    <source address="xx.21.0.16"/>
	<source address="xx.21.0.99"/>
    <port protocol="tcp" port="8200"/>
	<port protocol="tcp" port="8300"/>
    <accept/>
  </rule>
  <port protocol="tcp" port="80-8199"/>
  <port protocol="tcp" port="8201-8299"/>
  <port protocol="tcp" port="8301-30000"/>
</zone>

 重启防火墙

systemctl restart firewalld

方法2:

也可以 public.xml配置

<?xml version="1.0" encoding="utf-8"?>
<zone
  <port protocol="tcp" port="80-8199"/>
  <port protocol="tcp" port="8201-8299"/>
  <port protocol="tcp" port="8301-30000"/>
</zone>

newszone.xml配置

<?xml version="1.0" encoding="utf-8"?>
<zone
    <source address="xx.21.0.16"/>
	<source address="xx.21.0.99"/>
    <port protocol="tcp" port="8200"/>
	<port protocol="tcp" port="8300"/>
</zone>

注意,有的版本不支持这种合在一起的写法

那就老老实实用命令行,一行一个规则:

sudo firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='182.12.14.3' port protocol='tcp' port='2181' accept"
sudo firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='145.2.4.5' port protocol='tcp' port='2181' accept"

sudo firewall-cmd --reload

这样生成的配置是:

<rule family="ipv4">
    <source address="182.12.14.3"/>
    <port protocol="tcp" port="2181"/>
    <accept/>
</rule>

<rule family="ipv4">
    <source address="145.2.4.5"/>
    <port protocol="tcp" port="2181"/>
    <accept/>
</rule>
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值