Linux系统中Firewalld防火墙

一.Firewalld防火墙概述

动态防火墙后台程序firewalld提供了一个动态管理的防火墙,用以支持网络"zones",以分配对一个网络及其相关链接和界面一定程度的信任。它具备对IPv4和IPv6防火墙设置的支持。它支持以太网桥,并有分离运行时间和永久性配置选择。它还具备一个通向服务或者应用程序以直接增加防火墙规则的接口。

系统提供了图像化的配置工具firewall-config,system-config-firewall.提供命令行客户端firewall-cmd,用以配置firewalld永久性或非永久性运行时间的改变。依次用iptables工具与执行数据包筛选的内核中的Netfilter通行
在这里插入图片描述

数据包的流通有三道防线:
1.server服务本身
如果服务端口没开,数据出不来的。
2.perm 权限(rwx)
服务端口开了,数据可以进来,但是权限被限制。
3.selinux
firewall表格数据能否通过
底层命令iptables 网络过滤功能
input output限制数据包的进出

二.Firewalld启动和控制管理

yum install -y firewalld firewall-config
systemctl start firewalld	##打开防火墙
systemctl enable firewalld	##防火墙开机自启
systemctl disable firewalld	##防火墙开机不自启
systemctl stop firewalld	##关闭防火墙
systemctl mask firewalld	##冻结防火墙

三.Firewalld所有的域

在这里插入图片描述

四.使用命令行接口配置防火墙

firewall-cmd --state			##查看防火墙状态
firewall-cmd --get-active-zones		##查看防火墙正在使用活跃的域

在这里插入图片描述

firewall-cmd --get-default-zone		##查看防火墙默认使用的域

在这里插入图片描述

firewall-cmd --set-default-zone=dmz	##设置默认域为dmz(非军事区)

在这里插入图片描述

firewall-cmd --get-zones		##查看防火墙所有的域
firewall-cmd --zone=public --list-all	##查看public域的信息
firewall-cmd --zone=work --list-all 	##查看work域的信息
firewall-cmd --list-all-zones		##查看所有的域的信息

在这里插入图片描述

firewall-cmd --get-services		##查看防火墙支持的服务名称

在这里插入图片描述

systemctl start httpd
firewall-cmd --permanent --add-service=http ##防火墙永久允许http服务
firewall-cmd --reload	##刷新防火墙

此时所有机器都可以访问服务端的http服务
在这里插入图片描述

firewall-cmd --permanent --remove-service=http ##防火墙永久移除http服务
firewall-cmd --reload	##刷新防火墙

在这里插入图片描述 此时所有机器都不可以访问服务端的http服务
在这里插入图片描述

firewall-cmd --permanent --zone=trusted --add-source=172.25.254.77 ##特定ip永久添加
firewall-cmd --reload 

在这里插入图片描述 172.25.254.77可以访问,其他未添加的ip主机不可以访问
在这里插入图片描述

firewall-cmd --permanent --remove-source=172.25.254.77  --zone=trusted

在这里插入图片描述

firewall-cmd --zone=block --add-source=172.25.254.77
firewall-cmd --reload

在这里插入图片描述
172.25.254.77主机ping不通172.25.254.110。但是给回应:
在这里插入图片描述

firewall-cmd --remove-source=172.25.254.77 --zone-drop

在这里插入图片描述

firewall-cmd --zone=drop --add-source=172.25.254.77
firewall-cmd --reload

172.25.254.77主机ping不通172.25.254.110。但是不给回应,卡到那个界面不动了
在这里插入图片描述

firewall-cmd --remove-interface=eth0 --zone=public

在这里插入图片描述
在这里插入图片描述

firewall-cmd --change-interface=eth0 --zone=public
firewall-cmd --list-all

在这里插入图片描述

firewall-cmd --change-interface=eth0 --zone=trusted
firewall-cmd --list-all --zone=trusted

在这里插入图片描述
服务是/usr/lib/firewalld/services/目录中以xml文件格式写的
在这里插入图片描述
http服务是以http.xml文件控制的
在这里插入图片描述
在这里插入图片描述
设置http8080这个服务
在这里插入图片描述
在这里插入图片描述

firewall-cmd --permanent --remove-service=ssh

在这里插入图片描述
可以正常使用ssh服务
在这里插入图片描述

firewall-cmd --permanent --remove-service=ssh
firewall-cmd --reload                	##ssh服务移除后,不影响之前连接的ssh服务

在这里插入图片描述
在这里插入图片描述

  firewall-cmd --complete-reload		##ssh服务移除之后,影响之前和之后的ssh服务。已经连接ssh服务shell会卡到那

猜你喜欢

转载自blog.csdn.net/chaos_oper/article/details/84938005