linux下防火墙的管理工具firewall-cmd

简介:

关于firewalld

作为内核的管理软件firewall-cmd,通过使用这个软件来间接管理linux内核的开启与关闭等等,而firewall-cmd软件也本身支持firewall-cmd(命令)firewall-config(图形管理工具)两种管理模式来管理kerne lnetfilte。

配置文件:/usr/lib/firewalld//etc/firewalld/中的各种XML文件里


Firewall能将不同的网络连接归类到不同的信任级别,Zone提供了以下几个级别:

drop:丢弃所有进入的包,而不给出任何响应

block:拒绝所有外部发起的连接,允许内部发起的连接

public:允许指定的进入连接

external:同上,对伪装的进入连接,一般用于路由转发

dmz:允许受限制的进入连接

work:允许受信任的计算机被限制的进入连接,类似workgroup

home:同上,类似homegroup

internal:同上,范围针对所有互联网用户

trusted:信任所有连接

Screenshot from 2017-12-04 20-54-48.png

1)安装   yum    install   firewall   -y     (一般都会装机时候自带)

firewall-config     ------firewalld  的图形管理工具

runtime : 改了当时生效,但所systemctl  restart   firewall 后就失效了。

permanent   :   y永久性生效,但是写完之后必须systemctl  restart   firewall

Screenshot from 2017-12-02 20-31-03.png

所有永久性的更改会保存在 /usr/lib/firewall/zones/ 目录下的对应xml文件中,比如下图就是保存在了/usr/lib/firewall/zones/public.xml文件中。

Screenshot from 2017-12-02 20-31-24.png

2)命令firewall-cmd 添加各种功能

firewall-cmd --state        ------------查看火墙状态

firewall-cmd --get-default-zone        ----------查看默认域

firewall-cmd --get-active-zones         ---------------查看当前生效域的状态

firewall-cmd -get-zones        -------------查看存在的所有域

Screenshot from 2017-12-04 18-17-49.png


firewall-cmd --zone=public --list-all                          ------------------查看public域的所有信息

Screenshot from 2017-12-04 18-19-10.png


firewall-cmd --list-all-zones             --------------查看所有域的所有信息

Screenshot from 2017-12-04 18-19-56.png

firewall-cmd  --set-default-zone=home                 ---------------将默认域设置为home

Screenshot from 2017-12-04 18-22-07.png

3)高级命令设置

  1、firewall-cmd -zone=public  --add-source=172.25.254.50/24           ---------将172.25.254.50的主机添加到本机public块中,使得它可以访问本地资源


Screenshot from 2017-12-04 18-28-52.png

firewall-cmd  --zone=public  --remove-source=172.25.254.50/24                  --------------移除172.25.254.50 主机。

Screenshot from 2017-12-04 18-30-47.png

firewall-cmd  --remove-intenface=eth0         ------------删除接口eth0

Screenshot from 2017-12-04 18-41-48.png

firewall-cmd  --add-interface=eth0                -----------添加接口eth0.

Screenshot from 2017-12-04 18-42-23.png

firewall-cmd  --permanent  --remove-port=80/tcp              ----------------删除端口80

Screenshot from 2017-12-04 18-49-07.png

firewall-cmd --reload  和  firewall-cmd --complete-reload的区别:

firewall-cmd --reload在执行之后并不会将正在运行的服务打断,而firewall-cmd --complete-reload 将会把正在运行的服务打断,比如先将172.25.254.50 通过ssh连接主机172.25.254.220,然后在将50主机加入到block域中,最后执行firewall-cmd --complete-reload  命令时候50主机将会连输入字符的机会都没有了。所以说通过firewall-cmd --complete-reload  可以随时禁止哪台主机。

Screenshot from 2017-12-04 18-52-57.png

3)DirectRules

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


参数:filter(本地数据限制):-s源地址,-d目的地址,-p协议,--dport端口,-j行为/REJECT拒绝/ACCEPT同意/DROP丢弃)

firewall-cmd--direct --add-rule ipv4 filter IN_public_allow 0 -p tcp --dport 80-jACCEPT ---添加规则

firewall-cmd--direct --get-all-rules ---列出规则


firewall-cmd --direct  -add -rule ipv4 filter INPUT  1 -s  172.25.254.50  -p  tcp   -dport  22 -j  REJECT   ----------拒绝50主机的22端口访问。

Screenshot from 2017-12-04 19-10-34.png

4)RichRules

通过该方法,可以用比直接接口方式更易理解的方法建立复杂防火墙规则。此外,还能永久保留保留设置,这种语法使用关键词值。

主要参数:source源地址,destination目的地址,service服务名称,port端口,protocol协议名

地址伪装示例:

Screenshot from 2017-12-04 20-14-30.png

连接220主机,但是220主机成功将连接请求转到了50主机。


Screenshot from 2017-12-04 19-34-39.png



















本文转自技术小白JDY51CTO博客,原文链接:http://blog.51cto.com/13355576/2047352 ,如需转载请自行联系原作者



相关文章
|
9天前
|
监控 Unix Linux
Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态
Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态
26 0
|
16天前
|
存储 前端开发 Linux
Linux系统之部署ToDoList任务管理工具
【4月更文挑战第1天】Linux系统之部署ToDoList任务管理工具
61 1
|
17天前
|
存储 传感器 运维
linux系统资源统计工具
【4月更文挑战第1天】Linux系统监控工具如dstat、htop、glances、vmstat、top、iostat、mpstat、sar和atop,用于跟踪CPU、内存、磁盘I/O、网络和进程性能。这些工具提供实时、交互式和历史数据分析,助力管理员优化系统性能和故障排查。例如,dstat是vmstat等工具的增强版,htop提供彩色界面的进程管理,而atop则结合了多种功能并记录历史数据。
27 5
linux系统资源统计工具
|
27天前
|
存储 Shell Linux
【Shell 命令集合 系统设置 】Linux 软件包管理工具 rpm命令 使用指南
【Shell 命令集合 系统设置 】Linux 软件包管理工具 rpm命令 使用指南
46 0
|
27天前
|
运维 网络协议 安全
【Shell 命令集合 网络通讯 】Linux 网络抓包工具 tcpdump命令 使用指南
【Shell 命令集合 网络通讯 】Linux 网络抓包工具 tcpdump命令 使用指南
44 0
|
27天前
|
Linux Shell C语言
【Shell 命令集合 磁盘维护 】Linux 分区管理的工具 sfdisk命令使用教程
【Shell 命令集合 磁盘维护 】Linux 分区管理的工具 sfdisk命令使用教程
29 1
|
27天前
|
安全 Shell Linux
【Shell 命令集合 磁盘管理 】Linux 磁盘分区工具 fdisk命令使用教程
【Shell 命令集合 磁盘管理 】Linux 磁盘分区工具 fdisk命令使用教程
44 0
|
27天前
|
存储 算法 Shell
【Shell 命令集合 备份压缩 】⭐⭐Linux 压缩和归档工具 zip命令 使用指南
【Shell 命令集合 备份压缩 】⭐⭐Linux 压缩和归档工具 zip命令 使用指南
29 0
|
27天前
|
存储 算法 Shell
【Shell 命令集合 备份压缩 】⭐⭐⭐Linux 解压缩gz工具 gzip命令 使用指南
【Shell 命令集合 备份压缩 】⭐⭐⭐Linux 解压缩gz工具 gzip命令 使用指南
34 0
|
27天前
|
算法 Shell Linux
【Shell 命令集合 备份压缩 】⭐⭐Linux gz文件压缩解压工具 gunzip命令 使用指南
【Shell 命令集合 备份压缩 】⭐⭐Linux gz文件压缩解压工具 gunzip命令 使用指南
33 0