Centos7(firewalld)

简介

防火墙(Firewall),也称防护墙,是由Check Point创立者Gil Shwed于1993年发明并引入国际互联网(US5606668(A)1993-12-15)。防火墙是位于内部网和外部网之间的屏障,它按照系统管理员预先定义好的规则来控制数据包的进出。防火墙是系统的第一道防线,其作用是防止非法用户的进入。

策略

防火墙会从上至下的顺序来读取配置的策略规则,在找到匹配项后就立即结束匹配工作并去执行匹配项中定义的行为(即放行或阻止)。如果在读取完所有的策略规则之后没有匹配项,就去执行默认的策略。一般而言,防火墙策略规则的设置有两种:一种是“通”(即放行),一种是“堵”(即阻止)。当防火的默认策略为拒绝时(堵),就要设置允许规则(通),否则谁都进不来;如果防火墙的默认策略为允许时,就要设置拒绝规则,否则谁都能进来,防火墙也就失去了防范的作用。

规则链

➢ 进行路由选择前处理数据包(PREROUTING);
➢ 处理流入的数据包(INPUT);
➢ 处理流出的数据包(OUTPUT);
➢ 处理转发的数据包(FORWARD);
➢ 在进行路由选择后处理数据包(POSTROUTING);

linux版本6

iptables介绍

iptables 命令可以根据流量的源地址、目的地址、传输协议、服务类型等信息进行匹配,一旦匹配成功,iptables 就会根据策略规则所预设的动作来处理这些流量。

iptables常用的参数

-P 	设置默认策略
-F 	清空规则链
-L 	查看规则链
-A 	在规则链的末尾加入新规则
-I num 		在规则链的头部加入新规则
-D num 	删除某一条规则
-s 	匹配来源地址 IP/MASK,加叹号“!”表示除这个 IP 外
-d 	匹配目标地址
-i 		网卡名称 匹配从这块网卡流入的数据
-o 	网卡名称 匹配从这块网卡流出的数据
-p 	匹配协议,如 TCP、UDP、ICMP
--dport num 	匹配目标端口号
--sport num 		匹配来源端口号

iptables -L			# 查看已有的防火墙规则链
iptables -F			# 清空已有的防火墙规则链
iptables -P INPUT DROP		# input规则链的默认策略设置为拒绝
iptables -I INPUT -p icmp -j ACCEPT			# input链中添加允许ICMP流量进入的策略规则
iptables -D INPUT 1		# 删除input规则链中的第一条策略
iptables -P INPUT ACCEPT		# 设置默认为允许
iptables -I INPUT -s 192.168.10.0/24 -p tcp --dport 22 -j ACCEPT		# 设置允许网段的主机的22端口
iptables -A INPUT -p tcp --dport 22 -j REJECT		# 拒绝所有22端口
iptables -I INPUT -p tcp --dport 12345 -j REJECT		# tcp允许12345端口
iptables -I INPUT -p udp --dport 12345 -j REJECT		# udp允许12345端口
iptables -I INPUT -p tcp -s 192.168.10.5 --dport 80 -j REJECT		# 拒绝主机192.168.10.5访问本机的80端口
iptables -A INPUT -p tcp --dport 1000:1024 -j REJECT		# 拒绝所有主机tcp访问1000-1024端口
iptables -A INPUT -p udp --dport 1000:1024 -j REJECT	# 拒绝所有主机udp访问1000-1024端口
service iptables save		# 保存防火墙规则,永久生效。

linux版本7

firewalld简介

RHEL 7 系统中集成了多款防火墙管理工具,其中 firewalld(Dynamic Firewall Manager of Linux systems, Linux 系统的动态防火墙管理器)服务是默认的防火墙配置管理工具,它拥有基于 CLI (命令行界面)和基于 GUI(图形用户界面)的两种管理方式。

irewalld 支持动态更新技术并加入了区域(zone)的概念。简单来说,区域就是 firewalld 预先准备几套防火墙策略集合(策略模板),用户可以根据生产场景的不同而选择合适的策略集合,从而实现防火墙策略之间的快速切换。

firewalld区域名称

trusted		允许所有的数据包
home		拒绝流入的流量,除非与流出的流量相关;而如果流量与 ssh、mdns、ipp-client、amba-client 与 dhcpv6-client 服务相关,则允许流量
internal	等同于 home 区域
work		拒绝流入的流量,除非与流出的流量数相关;而如果流量与 ssh、ipp-client 与dhcpv6-client 服务相关,则允许流量
public		拒绝流入的流量,除非与流出的流量相关;而如果流量与 ssh、dhcpv6-client 服务相关,则允许流量
external 	拒绝流入的流量,除非与流出的流量相关;而如果流量与 ssh 服务相关,则允许流量
dmz 		拒绝流入的流量,除非与流出的流量相关;而如果流量与 ssh 服务相关,则允许流量
block 		拒绝流入的流量,除非与流出的流量相关
drop 		拒绝流入的流量,除非与流出的流量相关

firewalld命令参数

--get-default-zone 						# 查询默认的区域名称
--set-default-zone=<区域名称> 	# 设置默认的区域,使其永久生效
--get-zones 									# 显示可用的区域
--get-services 								# 显示预先定义的服务
--get-active-zones 						# 显示当前正在使用的区域与网卡名称
--add-source= 							# 将源自此 IP 或子网的流量导向指定的区域
--remove-source= 						# 不再将源自此 IP 或子网的流量导向某个指定区域
--add-interface=<网卡名称>	 	# 将源自该网卡的所有流量都导向某个指定区域
--change-interface=<网卡名称> 	# 将某个网卡与区域进行关联
--list-all 										# 显示当前区域的网卡配置参数、资源、端口以及服务等信息
--list-all-zones 								# 显示所有区域的网卡配置参数、资源、端口以及服务等信息
--add-service=<服务名> 				# 设置默认区域允许该服务的流量
--add-port=<端口号/协议> 			# 设置默认区域允许该端口的流量
--remove-service=<服务名> 		# 设置默认区域不再允许该服务的流量
--remove-port=<端口号/协议> 	# 设置默认区域不再允许该端口的流量
--reload 										# 让“永久生效”的配置规则立即生效,并覆盖当前的配置规则
--panic-on 		# 开启应急状况模式
--panic-off 		# 关闭应急状况模式

(Runtime)模式,又称为当前生效模式,而且随着系统的重启会失效。
(Permanent)模式,一直存在

firewall-cmd --get-default-zone		# 查看当前的区域
firewall-cmd --get-zone-of-interface=ens33		# 查看区域中的网卡
firewall-cmd --permanent --zone=external --change-interface=ens33		# 网卡默认修改为external
firewall-cmd	--set-default-zone=public		# 默认区域设置为public
firewall-cmd --panic-on		# 开启拒绝所有网络
firewall-cmd --panic-off		# 关闭拒绝所有网络
firewall-cmd --zone=public --query-service=ssh			# 查看public区域是否允许ssh协议
firewall-cmd --zone=public --query-service=https		# 查看public区域是否允许https协议
firewall-cmd --permanent --zone=public --add-service=https			# 永久允许https协议
irewall-cmd --permanent --zone=public --remove-service=http		# 永久拒绝http协议
firewall-cmd --zone=public --add-port=8080-8081/tcp		# 允许访问8080和8081端口

#####流量转发######
命令格式
firewall-cmd --permanent --zone=<区域> --add-forward-port=port=<源端口>:proto=<协议>:toport=<目标端口>:toaddr=<目标IP地址>

firewall-cmd --permanent --zone=public --add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.10.10

#####富规则######
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.10.0/24" service name="ssh" reject"			#拒绝192.168.10.0/24网段访问本机ssh服务(22端口)
firewall-cmd --reload		# 重新加载防火墙

图形界面的防火墙

firewall-config 的界面
在这里插入图片描述

1、选择运行时(Runtime)模式或永久(Permanent)模式的配置。
2、可选的策略集合区域列表。
3、常用的系统服务列表。
4、当前正在使用的区域。
5、管理当前被选中区域中的服务。
6、管理当前被选中区域中的端口。
7、开启或关闭 SNAT(源地址转换协议)技术。
8、设置端口转发策略。
9、控制请求 icmp 服务的流量。
10、管理防火墙的富规则。
11、管理网卡设备。
12、被选中区域的服务,若勾选了相应服务前面的复选框,则表示允许与之相关的流量。
13、firewall-config 工具的运行状态。

firewall-config 工具配置完防火墙策略之后,无须进行二次确认,因为只要有修改内容,它就自动进行保存

猜你喜欢

转载自blog.csdn.net/qq_42345960/article/details/86511731
今日推荐