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

时间:2024-04-04 16:21:37

关于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:信任所有连接

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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


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

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

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

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

3)高级命令设置

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


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

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

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

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

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

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

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

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

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

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  可以随时禁止哪台主机。

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

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端口访问。

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

4)RichRules

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

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

地址伪装示例:

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

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


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



















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