29
2023
11
14:49:18

防火墙firewall --add-rich-rule 规则排序限制指定IP访问端口 ;--add-rule 限制整个IP网段访问,并且允许指定IP访问可访问该限制网段



推荐点击下面图片,通过本站淘宝优惠价购买:

image.png

添加规则--add-rich-rule="rule XXXXX"

特别提醒rule默认的规则优先级与iptables不同请注意,拒绝与丢弃默认都比接受规则优先级高。

日志规则>reject/drop>accept ,需要使用priority参数来设置规则优先级区间(-3276732767)数字越小规则优先级越高默认不填的话priority都是0,下面举例拿22端口举例写的比较粗糙没有划分zone等


#因为我之前有开放22端口所以先删除,避免和下面的rule冲突。

firewall-cmd --permanent --remove-port=22/tcp

# 丢弃drop所有源地址0.0.0.0/0的IPV4请求并丢弃数据包,优先级100

firewall-cmd --permanent --add-rich-rule="rule priority="100" family="ipv4" source address="0.0.0.0/0" port protocol="tcp" port="22" drop"

# 拒绝reject所有IPV6的地址访问22端口,并返回一个拒绝包,优先级100。ipv6这条可以不写目前没什么人用。

firewall-cmd --permanent --add-rich-rule="rule priority="100" family="ipv4"  port protocol="tcp" port="22" reject"

# 允许192.168.109.1的地址访问22端口,优先级10。 端口支持单个也支持区间port="2222-3333"

firewall-cmd --permanent --add-rich-rule="rule priority="10" family="ipv4" source address="192.168.109.1" port protocol="tcp" port="22" accept"

#刷新全局配置

firewall-cmd --reload

# 打印最新配置信息,打印出来规则会按照执行顺序从上到下排列

firewall-cmd --list-all


# 删除规则同理不赘述--remove-rich-rule="rule XXXXX"

firewall-cmd --permanent --remove-rich-rule="rule priority="10" family="ipv4" source address="192.168.109.1" port protocol="tcp" port="22" accept"
firewall-cmd --reload
firewall-cmd --list-all


#命令的配置文件都在下面文件夹内也可以直接编辑

vim   /etc/firewalld/zones/public.xml


--add-rich-rule 和 --add-rule, 优先级写法的区别:

--add-rich-rule="rule priority="10"  其他参数 "
--add-rule  ipv4 raw PREROUTING 200


举例       pc1(10.20.1.2/24)   ----  (10.20.1.1/24) linux(10.30.1.1/24)  ----  (10.30.1.2/24)pc2

禁止10.20.1.0/24 访问 10.3.1.0/24 ,允许指定10.20.1.2 可以访问10.3.1.0/24


//建立chain 黑名单list

firewall-cmd --direct --permanent --add-chain ipv4 raw blacklist       

//建立黑名单list的目的ip范围,200是级别,优先级数字设置高一些l例如200,以便后续插入优先(优先级数字小)于这条优先级的规则 

firewall-cmd --direct --permanent --add-rule ipv4 raw PREROUTING 200 -d 10.30.1.0/24 -j blacklist

//黑名单应用drop

firewall-cmd --direct --permanent --add-rule ipv4 raw blacklist 1 -j DROP



//建立chain 白名单list

 firewall-cmd --direct --permanent --add-chain ipv4 raw whitelist

//建立白名单list的目的ip范围,10是级别,优先黑名单list的200

firewall-cmd --direct --permanent --add-rule "ipv4 raw PREROUTING 10 -s 10.30.1.2/32 -d 10.20.1.0/24 -j  whitelist"

//白名单应用accept

firewall-cmd --direct --permanent --add-rule ipv4 raw whitelist 1 -j accept


//重新加载防火墙配置

firewall-cmd --reload



查看chains配置

[root@localhost ~]# firewall-cmd --direct --get-all-chains

ipv4 raw blacklist

ipv4 raw whitelist


查看rule配置

[root@localhost ~]# firewall-cmd --direct --get-all-rule

ipv4 raw PREROUTING 10 -d 10.30.1.0/24 -j blacklist

ipv4 raw PREROUTING 200 -s 10.20.1.2/32 -d 10.30.1.0/24 -j whitelist

ipv4 raw whitelist 1 -j ACCEPT

ipv4 raw blacklist 1 -j DROP


本文链接:http://www.hqyman.cn/post/4615.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:





休息一下,本站随机推荐观看栏目:


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

您的IP地址是: