linux firewalld简介

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)

你可能感兴趣的:(网络系统管理,linux,网络,运维)