linux firewalld简介

发布时间:2023年12月29日

firewalld简介

Firewalld上有一些预定义区域,可分别进行自定义,下表介绍了这些初始区域配置

firewalld将所有传入流量划分成区域,每个区域都具有自己的一套规则
任何新网络接口默认区域都将设置为public区域

区域名称默认配置
trusted可信区域,防火墙放行一切流量,等同于关闭防火墙功能
home区全域内主动发起连接的流入回程数据包允许通过,默认放行ssh,mdns,ipp-client,samba-clent或dhcpv6-client服务 //别人不能连进来,但是区域内发起的请求,回程数据能进来
internal与home区域相同
work区域内主动发起连接的流入回程数据包允许通过,放行ssh,dhcpv6-client服务
external区域内主动发起连接的流入回程数据包允许通过,放行ssh服务匹配,开启地址伪装功能
dmz区域内主动发起连接的流入回程数据包允许通过,放行ssh服务匹配
block区域内主动发起连接的流入回程数据包允许通过
drop对进入该区域的所有数据包丢弃,并且不进行任何回包,区域内主动发起连接的流入回程数据包允许通过
public默认区域,拒绝除与出站有关的通信或预定义服务(ssh,dhcpv6-client)以外的所有进站通信

配置

firewall-cmd --set-default-zone=drop    //set 设置  设置默认区域为drop区域
firewall-cmd --reload   //firewall重新生效
firewall-cmd --get-default-zone    //get  查看  查看默认区域
firewall-cmd --list-all    //查看放行了哪些服务

firewall-cmd命令行工具

参数作用
–get-default-zone查访默认的区域名称
–set-default-zone=(区域名称)设置默认的区域,使其永久生效
–list-all显示当前区域的网卡配置参数,资源,端口以及服务等信息
–list-all-zone显示所有区域的网卡配置参数,资源,端口以及服务等信息
–get-zones显示可用可用的区域
–get-active-zones显示当前正在使用的区域,来源地址和网卡名称
–add-source=将源自此IP或子网的流量导向指定的区域
–remove-source=不再将源自此IP或子网的流量导向这个区域
–change-source=将源自此IP或子网的流量导向指定到新的区域
firewall-cmd --add-source=172.25.250.11 --zone=drop   //把源IP为172.25.250.11引入到drop区域
参数作用
–add-interface=(网卡名称)将源自该网卡的所有流量都导向某个指定区域
–change-interface=(网卡名称)将某个网卡与区域进行关联
–get-services显示预定义的服务
–add-service=(服务名)设置默认区域允许该服务的流量
–add-port=(端口号/协议)设置默认区域允许该端口的流量
–remove-service=(服务名)设置默认区域不再允许该服务的流量
–remove-port=(端口号/协议)设置默认区域不再允许该端口的流量
–permanent让配置永久生效
–reload让“永久生效”的配置规则立即生效,并覆盖当前的配置规则
firewall-cmd --change-interface=ens32 --zone=trusted   //将ens32网卡该改变到trusted区域

firewall-cmd --remove-interface=ens32 --zone=trusted   //把ens32网卡从trusted区域放出来

生产配置

firewall-cmd --permanent --add-service=http   //最好要加permanent   永久放行http服务
firewall-cmd --list-all   //查看当前区域的所有规则
firewall-cmd --get-service   //查看放行的服务

firewall-cmd --permanent --add-port=90/tcp   //永久放行端口为tcp 90

放行nfs要放行三个服务
firewall-cmd --permanent --add-service=mountd  
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=rpc-bind

管理firewalld

可以通过三种方式来管理firewalld
    使用命令行工具firewall-cmd
    	运行时配置
    	永久时配置  --permanent
	
	使用图形工具firewall-config
    	打开方式applications->sundry->firewall
    
    使用/etc/firewalld/中的配置文件(不建议)

还有个web端的firewall
	cockpit
		systemctl start cockpik    //开启cockpik服务
firewall有两种模式
    runtime临时模式:修改规则马上生效,但如果重启服务则马上失效,测试建议
	permanent持久模式:修改规则后需要reload重载服务才会生效,生产建议

放行规则

firewall-cmd --add-service=http   //默认runtime模式,放行80端口

firewall-cmd --permanent --add-service=http  //permanent模式下放行80端口
firewall-cmd --reload   //需要重启firewall服务

防火墙规则匹配

firewalld会对于一个接收到的请求具体使用哪个zone,firewalld通过三种方式来判断的:

? 1.source (来源地址)

? 2.interface (接收请求的网卡)

? 3.firewalld配置的默认区域(zone)

文章来源:https://blog.csdn.net/qq2353177176/article/details/135279953
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。