firewalld常用命令

firewalld是CentOS7起默认的防火墙前端工具,相比iptables更加语义华,也有更好的性能。顺便提一句,CentOS 8起,firewalld默认的后端改成nftables,iptables可以说是正式退休了。

本文介绍firewalld常用的命令。

firewalld管理

安装firewalld:yum install firewalld

查看版本:firewall-cmd --version

查看运行状态:

firewall-cmd --state # 输出running 或者 not running
# 或者用systemctl查看
systemctl status firewalld
# 输出
firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2020-03-09 21:45:32 CST; 2s ago
     Docs: man:firewalld(1)

启动firewalld:systemctl start firewalld

重启firewalld:systemctl restart firewalld

停止firewalld:systemctl stop firewalld

设置开机启动:systemctl enable firewalld

禁止开机启动:systemctl disable firewalld

firewalld规则管理

查询

查看放行端口:firewall-cmd --list-ports

列出所有服务:firewall-cmd --get-services

查看放行服务:firewall-cmd --list-services

查看放行协议:firewall-cmd --list-protocols

查看放行ip:firewall-cmd --list-sources

查看富规则:firewall-cmd --list-rich-rules

更改

新增服务: firewall-cmd --add-service=服务名,例如http,https

删除服务:firewall-cmd --remove-service=服务名

新增端口:firewall-cmd --add-port=1234/tcp

删除端口:firewall-cmd --remove-port=1234/tcp

新增ip:firewall-cmd --add-source=123.123.123.123/32

删除ip:firewall-cmd --remove-source=123.123.123.123/32

添加富规则:firewall-cmd –add-rich-rule=“rule family=”ipv4” source address=”10.10.16.2” port protocol=”tcp” port=”22” accept”

删除富规则:firewall-cmd –remove-rich-rule=“rule family=”ipv4” source address=”10.10.16.2” port protocol=”tcp” port=”22” accept”

开启转发:firewall-cmd --add-masquerade

关闭转发:firewall-cmd --remove=masquerade

注意:上述更改命令临时生效,要想永久生效,需要添加 --permanent 参数,然后重新加载配置:firewall-cmd --reload

 

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注