当前位置:   article > 正文

firewalld 防火墙策略_firewall-cmd --permanent --add-rich-rule

firewall-cmd --permanent --add-rich-rule

一 下面都是在public区

firewalld防火墙默认情况下(也就是public区域)是拒绝所有的,但是public区默认情况下ping和ssh服务都是放开的

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

#网关

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.200." accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.200.112" accept"
firewall-cmd --reload
firewall-cmd --permanent  --remove-rich-rule="rule family="ipv4" source address="192.168.200.1" accept"
firewall-cmd --permanent  --remove-rich-rule="rule family="ipv4" source address="192.168.200.112" accept"
  • 1
  • 2
  • 3
  • 4
  • 5

1.首先要允许网关及跳板机登录服务的22端口
2.其次在添加应用端口的ip规则

#添加允许规则:add-rich-rule accept

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.200.1" port protocol="tcp" port="22" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.200.111" port protocol="tcp" port="22" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.200.112" port protocol="tcp" port="22" accept"
  • 1
  • 2
  • 3

#移除规则:remove-rich-rule

firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.200.111" port protocol="tcp" port="22" accept"
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.200.112" port protocol="tcp" port="2230" accept"
  • 1
  • 2

#添加拒绝策略:reject

firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=192.168.200.113 reject"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.200.1" port protocol="tcp" port="80" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.200.112" port protocol="tcp" port="80" accept"
firewall-cmd --reload
  • 1
  • 2
  • 3
  • 4

拒绝某一个ip必须写拒绝策略,允许也是如此,如果规则限制到端口的级别,

Firewalld 是可用于许多 Linux 发行版的防火墙管理解决方案,它充当 Linux 内核提供的 iptables 数据包过滤系统的前端。
在本教程中,介绍如何为服务器设置防火墙,并使用 firewall-cmd 管理工具来管理防火墙添加 IP 白名单。

Firewalld 中的基本概念
区域(zone)
区域(zone)基本上是一组规则,它们决定了允许哪些流量,具体取决于你对计算机所连接的网络的信任程度。为网络接口分配了一个区域,以指示防火墙应允许的行为。
Firewalld 一般已经默认内置了 9 个区域(zone),大部分情况下,这些已经足够使用,按从最不信任到最受信任的顺序为:

drop:最低信任级别。所有传入的连接都将被丢弃而不会回复,并且只能进行传出连接。
block:与上述类似,但不是简单地删除连接,而是使用 icmp-host-prohibitedor 和 icmp6-adm-prohibited 消息拒绝传入的请求。
public:表示不信任的公共网络。您不信任其他计算机,但可能会视情况允许选择的传入连接。默认情况下,此区域为激活状态。
external:如果你使用防火墙作为网关,则为外部网络。将其配置为 NAT 转发,以便你的内部网络保持私有但可访问。
internal:external 区域的另一侧,用于网关的内部。这些计算机值得信赖,并且可以使用一些其他服务。
dmz:用于 DMZ (DeMilitarized Zone) 中的计算机(将无法访问网络其余部分的隔离计算机),仅允许某些传入连接。
work:用于工作机。信任网络中的大多数计算机。可能还允许其他一些服务。
home:家庭环境。通常,这意味着您信任其他大多数计算机,并且将接受其他一些服务。
trusted:信任网络中的所有计算机。可用选项中最开放的,应谨慎使用。

通过将当前默认区域pubilc切换到drop区,拒绝所有,然后在trusted区域中在添加白名单

二 简单命令

  1. 确认 Firewalld 服务是否正在运行
firewall-cmd --state
  • 1
  1. 查看当前所有区域的规则
[root@bogon ~]# firewall-cmd --list-all-zones
  • 1
  1. 查看当个区域的规则
[root@bogon ~]# firewall-cmd  --list-all --zone public
public
  target: default
  icmp-block-inversion: no
  interfaces: 
  sources: 
  services: ssh dhcpv6-client
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
	rule family="ipv4" source address="192.168.200.1" port port="22" protocol="tcp" accept
	rule family="ipv4" source address="192.168.200.112" port port="22" protocol="tcp" accept
	rule family="ipv4" source address="192.168.1.150" port port="2230" protocol="tcp" accept
	rule family="ipv4" source address="192.168.200.1" port port="80" protocol="tcp" accept
	rule family="ipv4" source address="192.168.200.112" port port="80" protocol="tcp" accept

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  1. 重新加载规则
    删除或者添加都需要
[root@bogon ~]# firewall-cmd --reload
  • 1
  1. 查看当前默认区域
[root@bogon ~]# firewall-cmd --get-default-zone 
public
  • 1
  • 2
  1. 查看当前活跃的区域
[root@bogon ~]# firewall-cmd --get-active-zone
public
  interfaces: ens32
  • 1
  • 2
  • 3
  1. 切换网卡接口到默认区域
firewall-cmd --permanent --change-interface=eth0 --zone=drop
2.添加网卡接口到指定区域
firewall-cmd --permanent --add-interface=eth0 --zone=drop
  • 1
  • 2
  • 3

在这里插入图片描述

三 防火墙策略编写

严格:默认区域设置为drop区域,允许的放入trusted区域
宽松:默认区域设置为trusted区域,拒绝的单独放入drop区域

[root@bogon ~]# firewall-cmd --set-default-zone=drop
success
[root@bogon ~]# firewall-cmd --get-active-zone
drop
  • 1
  • 2
  • 3
  • 4
  1. 将网络接口关联至drop区域
[root@bogon ~]# firewall-cmd --get-active-zone
drop
  interfaces: ens32
[root@bogon ~]# firewall-cmd --permanent  --change-interface=ens32 --zone=drop
The interface is under control of NetworkManager, setting zone to 'drop'.
success
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述

  1. 将允许的IP或者IP段加入trusted白名单
[root@bogon ~]# firewall-cmd --permanent --add-source=192.168.200.1 --zone=trusted
success
[root@bogon ~]# firewall-cmd --reload
success
[root@bogon ~]# firewall-cmd  --list-all --zone trusted
trusted (active)
  target: ACCEPT
  icmp-block-inversion: no
  interfaces: 
  sources: 192.168.200.1
  services: 
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

上面只是添加了网关,当我用192。168.200.112这台服务器访问时,无法ping,也无法telnet 22 端口,任何在192.168.200.111的应用服务都是不通的
在这里插入图片描述

[root@bogon ~]# firewall-cmd --permanent --add-source=192.168.200.112 --zone=trusted
success
[root@bogon ~]# firewall-cmd --reload
success
[root@bogon ~]# firewall-cmd  --list-all --zone trusted
trusted (active)
  target: ACCEPT
  icmp-block-inversion: no
  interfaces: 
  sources: 192.168.200.1 192.168.200.112
  services: 
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/552566
推荐阅读
相关标签
  

闽ICP备14008679号