Linux防火墙服务firewalld的基本使用

​ 防火墙是一种位于内部网络与外部网络之间的网络安全系统。一项信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过。防火墙通常工作在网络层,即IPv4或IPv6的IP包上。

什么是firewalld

​ firewalld即Dynamic Firewall Manager of Linux systems,Linux系统的动态防火墙管理器。firewalld是一个服务,用于配置网络连接,从而哪些内外部网络的数据包可以允许穿过网络或阻止穿过网络。

​ firewalld允许两种类型的配置:永久类型和运行时类型。运行时类型的配置在防火墙被重启后会丢失相应的规则配置;而永久类型的配置即使遇到系统重启,也会保留生效。

​ 对应于上面两种类型的配置,firewalld相应的有两个目录:针对运行时类型配置的目录/usr/lib/firewall;以及针对永久类型配置的目录/etc/firewall。

firewalld的基本使用

启动服务: systemctl start firewalld.servicesystemctl start firewalld

查看状态:systemctl status firewalld.servicesystemctl status firewalld

停止服务:systemctl stop firewalld.servicesystemctl stop firewalld

重启服务:systemctl restart firewalld.servicesystemctl restart firewalld

设置开机自启:systemctl enable firewalld.servicesystemctl enable firewalld

取消开机自启:systemctl disable firewalld.servicesystemctl disable firewalld

查看是否开机自启:systemctl is-enabled firewalld.servicesystemctl is-enabled firewalld

systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。

使用firewalld-cmd配置防火墙

查看版本: firewall-cmd --version

查看帮助:firewall-cmd --help

显示状态: firewall-cmd --state

查看所有打开的端口: firewall-cmd --zone=public --list-ports

重新加载防火墙规则: firewall-cmd --reload

查看区域信息: firewall-cmd --get-active-zones

查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0

拒绝所有包:firewall-cmd --panic-on

取消拒绝状态:firewall-cmd --panic-off

查看是否拒绝: firewall-cmd --query-panic

如何添加/删除一个端口(在防火墙上凿洞)

添加端口(凿洞)

1
firewall-cmd --zone=public --add-port=端口/tcp --permanent

–permanent永久生效,没有此参数重启后失效

重新载入防火墙配置

1
firewall-cmd --reload

查看端口在防火墙配置中的状态

1
firewall-cmd --zone= public --query-port=端口/tcp

删除端口

1
firewall-cmd --zone= public --remove-port=端口/tcp --permanent