防火墙配置

Firewalld

查看防火墙状态

systemctl status firewalld

开启防火墙

systemctl start firewalld

关闭防火墙

systemctl stop firewalld

添加新规则

firewall-cmd --zone=public --add-source=172.43.0.0/16 --permanent

添加指定端口规则

firewall-cmd --zone=public --add-port=80/tcp --permanent

移除指定端口规则

firewall-cmd --zone=public --remove-port=80/tcp --permanent

重新加载Firewalld

firewall-cmd --reload

查看防火墙规则

firewall-cmd --zone=public --list-all

直接编辑配置文件

vi /etc/firewalld/zones/public.xml
  <port port="80" protocol="tcp"/>
  <rule family="ipv4">
    <source address="172.43.12.1"/>
    <accept/>
  </rule>
    <rule family="ipv4">
    <source address="172.43.12.1"/>
    <port port="80" protocol="tcp"/>
    <reject/>
  </rule>

有时添加的IP很多,则可以通过IP段来配置

创建一个 ipset 集合并添加两个 IP 段

# 创建名为"trusted_ips"的集合(类型为hash:net,支持IP范围)
sudo firewall-cmd --permanent --new-ipset=trusted_ips --type=hash:net --option=family=inet

# 向集合添加第一个IP段:172.43.32.66-172.43.32.113
sudo firewall-cmd --permanent --ipset=trusted_ips --add-entry=172.43.32.66-172.43.32.113

# 向集合添加第二个IP段:172.43.80.131-172.43.80.169
sudo firewall-cmd --permanent --ipset=trusted_ips --add-entry=172.43.80.131-172.43.80.169

添加防火墙规则允许集合中的所有 IP 访问

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source ipset="trusted_ips" accept'

重新加载防火墙使配置生效

sudo firewall-cmd --reload

验证配置

# 查看集合中的所有IP段
sudo firewall-cmd --ipset=trusted_ips --get-entries

# 查看已生效的规则
sudo firewall-cmd --list-rich-rules

如需删除配置

# 移除富规则
sudo firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source ipset="trusted_ips" accept'

# 删除ipset集合
sudo firewall-cmd --permanent --delete-ipset=trusted_ips

# 重新加载
sudo firewall-cmd --reload
posted @ 2024-07-19 11:27  村尚chun叔  阅读(26)  评论(0)    收藏  举报