firewalld高级防火墙规则-Direct Rules

一.Direct Rules概述

通过firewall-cmd工具,可以使用 --direct选项在运行时间里增加和删除链。如果不熟悉iptables,使用直接接口非常危险,因为可能无意间导致防火墙被入侵。直接端口模式适用于服务或者程序,以便于在运行时间内增加特定的防火墙规则。直接端口模式添加的规则优先应用

二.高级防火墙Direct规则的使用

1.查看防火墙上设置的规则

firewall-cmd --direct --get-all-rules 		##查看设置的规则

2.添加高级规则

firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -p tcp --dport 80 -s 172.25.254.77 -j ACCEPT 
##只允许172.25.254.77通过80端口访问主机位为110的http服务。因为访问的是主机位为110的http服务,需要主机位为110的内核同意开启http服务,需要在表filter中设置INPUT。
##-p 数据包类型;--dport 服务端口;

通过如下测试来理解高级规则:
1)开启httpd服务并且httpd服务不添加进火墙策略
firewalld高级防火墙规则-Direct Rules_第1张图片
2)添加规则:允许172.25.254.77通过80端口访问172.25.254.110的httpd服务
在这里插入图片描述

拒绝本机访问对端11.0.1.111的2202端口,在本机上做设置。

firewall-cmd --direct --add-rule ipv4 filter OUTPUT 0 -p tcp --dport 2202 -d 11.0.1.111/32 -j REJECT


3) 添加这条规则之后,172.25.254.10可以访问110的http服务
而其他主机不可以访问110的http服务
firewalld高级防火墙规则-Direct Rules_第2张图片

firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -p tcp --dport 22 -s 172.25.254.77 -j ACCEPT
##只允许172.25.254.77通过22端口访问主机位为110的ssh服务。因为访问的是主机位为110的ssh服务,需要主机位为110的内核同意开启ssh服务,需要在表filter中设置INPUT。

1)添加规则:只允许172.25.254.77通过22端口访问主机位为110的ssh服务
在这里插入图片描述2)添加上述规则之后, 只有172.25.254.77通过22端口访问主机位为110的ssh服务
firewalld高级防火墙规则-Direct Rules_第3张图片而其他主机不可以访问主机位为110的ssh服务在这里插入图片描述

firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -p tcp --dport 22 -s 172.25.254.210 -j REJECT 

1)火墙策略中添加ssh服务,所以人都可以用ssh登陆172.25.254.110
2)添加规则:不允许172.25.254.217通过22端口的访问ssh,连接172.25.254.110
firewalld高级防火墙规则-Direct Rules_第4张图片
3)添加规则之后,只有172.25.254.217不可以通过ssh连接172.25.254.110
在这里插入图片描述
3.删除防火墙上的规则

firewall-cmd --direct --remove-rule ipv4 filter INPUT 1 -p tcp --dport 22 -s 172.25.254.217 -j REJECT
##移除:不允许172.25.254.217通过22端口的访问ssh,连接172.25.254.110这条规则

删除这条规则之后,172.25.254.217可以通过ssh连接上172.25.254.110
firewalld高级防火墙规则-Direct Rules_第5张图片

firewalld高级防火墙规则-Direct Rules_第6张图片

转载至高级防火墙规则-Direct Rules_chaos_oper的博客-CSDN博客

你可能感兴趣的:(Linux,linux,firewalld)