0


linux的firewalld防火墙规则配置

一、查看firewall规则

  1. [root@localhost ~]# firewall-cmd --list-all
  2. public (active)
  3. target: default
  4. icmp-block-inversion: no
  5. interfaces: enp0s3
  6. sources:
  7. services: dhcpv6-client ssh
  8. ports:
  9. protocols:
  10. masquerade: no
  11. forward-ports:
  12. sourceports:
  13. icmp-blocks:
  14. rich rules:

二、配置允许访问规则

(一)配置文件添加

  1. 具体添加的内容:
  1. [root@localhost zones]# vim /etc/firewalld/zones/public.xml
  2. <?xml version="1.0" encoding="utf-8"?>
  3. <zone>
  4. <short>Public</short>
  5. <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  6. <service name="dhcpv6-client"/>
  7. <service name="http"/>
  8. <service name="ssh"/>
  9. <rule family="ipv4">
  10. <source address="10.10.10.10"/>
  11. <port protocol="tcp" port="80"/>
  12. <drop/>
  13. </rule>
  14. <rule family="ipv4">
  15. <source address="10.10.10.11"/>
  16. <port protocol="tcp" port="22"/>
  17. <accept/>
  18. </rule>
  19. </zone>
  1. 编辑文件保存后,要执行firewall-cmd --reload才生效。

(二)命令行添加

1. 开通所有源IP访问http服务

  1. 方法一:
  1. [root@localhost conf]# firewall-cmd --permanent --add-port=80/tcp
  2. [root@localhost conf]# firewall-cmd --reload
  1. 结果:

[root@localhost conf]# firewall-cmd --list-all

public (active)

target: default

icmp-block-inversion: no

interfaces: enp0s3

sources:

services: dhcpv6-client ssh

ports: 80/tcp

protocols:

masquerade: no

forward-ports:

sourceports:

icmp-blocks:

rich rules:

  1. 方法二:
  1. [root@localhost conf]# firewall-cmd --permanent --add-service=http
  2. [root@localhost conf]# firewall-cmd --reload
  1. 结果:

[root@localhost conf]# firewall-cmd --list-all

public (active)

target: default

icmp-block-inversion: no

interfaces: enp0s3

sources:

services: dhcpv6-client http ssh

ports:

protocols:

masquerade: no

forward-ports:

sourceports:

icmp-blocks:

rich rules:

2. 开通访问http服务,并限制源IP访问

  1. firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=10.10.10.10 port port=80 protocol=tcp accept'
  2. [root@localhost ~]# firewall-cmd --reload
  1. 参数说明:
  2. family 对哪个协议;
  3. source address 源地址;
  4. accept 允许;
  5. drop 拒绝;

三、配置禁止访问规则

  1. 禁止某个源IP访问:
  1. [root@localhost conf]# firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=10.10.10.10 port port=80 protocol=tcp drop'
  2. [root@localhost conf]# firewall-cmd --reload
  1. 结果:

[root@localhost conf]# firewall-cmd --list-all

public (active)

target: default

icmp-block-inversion: no

interfaces: enp0s3

sources:

services: dhcpv6-client http ssh

ports:

protocols:

masquerade: no

forward-ports:

sourceports:

icmp-blocks:

rich rules:

  1. rule family="ipv4" source address="10.10.10.10" port port="80" protocol="tcp" drop

四、删除规则

  1. 删除访问规则命令:
  1. firewall-cmd --permanent --remove-rich-rule 'rule family=ipv4 source address=10.10.10.10 port port=80 protocol=tcp accept'
  2. [root@localhost ~]# firewall-cmd --reload

五、备注

  1. 同一规则允许及拒绝时,效果为拒绝,不会跟iptables一样,没有先后顺序优先匹配,为全文匹配,拒绝大于允许。

本文转载自: https://blog.csdn.net/u013930899/article/details/126353258
版权归原作者 見贤思齊 所有, 如有侵权,请联系我们删除。

“linux的firewalld防火墙规则配置”的评论:

还没有评论