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.service
或 systemctl start firewalld
查看状态:systemctl status firewalld.service
或 systemctl status firewalld
停止服务:systemctl stop firewalld.service
或 systemctl stop firewalld
重启服务:systemctl restart firewalld.service
或 systemctl restart firewalld
设置开机自启:systemctl enable firewalld.service
或 systemctl enable firewalld
取消开机自启:systemctl disable firewalld.service
或 systemctl disable firewalld
查看是否开机自启:systemctl is-enabled firewalld.service
或 systemctl 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 |