操作与配置
启动服务:
systemctl start firewalld
停止服务:
systemctl stop firewalld
重启服务:
systemctl restart firewalld
查看服务状态:
systemctl status firewalld
命令
重载防火墙配置
firewall-cmd --reload
2.查看防火墙运行状态
firewall-cmd --state
3.查看默认区域的设置
firewall-cmd --list-all
4.应急命令
firewall-cmd --panic-on # 拒绝所有流量,远程连接会立即断开,只有本地能登陆
firewall-cmd --panic-off # 取消应急模式,但需要重启firewalld后才可以远程ssh
firewall-cmd --query-panic # 查看是否为应急模式
5.服务
firewall-cmd --add-service=<service name> #添加服务
firewall-cmd --remove-service=<service name> #移除服务
6.端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --add-port=<port>/<protocol> #添加端口/协议(TCP/UDP)
firewall-cmd --remove-port=<port>/<protocol> #移除端口/协议(TCP/UDP)
firewall-cmd --list-ports #查看开放的端口
7.协议
firewall-cmd --add-protocol=<protocol> # 允许协议 (例:icmp,即允许ping)
firewall-cmd --remove-protocol=<protocol> # 取消协议
firewall-cmd --list-protocols # 查看允许的协议
8.允许指定ip的所有流量
firewall-cmd --add-rich-rule="rule family="ipv4" source address="<ip>" accept"
例:
firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.1.11" accept" # 表示允许来自192.168.1.11的所有流量
9.允许指定ip的指定协议
firewall-cmd --add-rich-rule="rule family="ipv4" source address="<ip>" protocol value="<protocol>" accept"
例:
firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.1.11" protocol value="icmp" accept" # 允许192.168.1.11主机的icmp协议,即允许192.168.1.11主机ping
10.允许指定ip访问指定服务
firewall-cmd --add-rich-rule="rule family="ipv4" source address="<ip>" service name="<service name>" accept"
例:
firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.1.11" service name="ssh" accept" # 允许192.168.2.208主机访问ssh服务
11.允许指定ip访问指定端口
firewall-cmd --add-rich-rule="rule family="ipv4" source address="<ip>" port protocol="<port protocol>" port="<port>" accept"
例:
firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.1.11" port protocol="tcp" port="22" accept" # 允许192.168.1.11主机访问22端口
12.将指定ip改为网段
8-11 的各个命令都支持 source address
设置为网段,即这个网段的ip都是适配这个规则:
例如:
firewall-cmd --zone=drop --add-rich-rule="rule family="ipv4" source address="192.168.1.11/24" port protocol="tcp" port="22" accept"
表示允许192.168.1.11/24网段的主机访问22端口 。
13.禁止指定ip/网段
8-12 各个命令中,将 accept
设置为 reject
表示拒绝,设置为 drop
表示直接丢弃(会返回timeout连接超时)
例如:
firewall-cmd --zone=drop --add-rich-rule="rule family="ipv4" source address="192.168.1.11/24" port protocol="tcp" port="22" reject"
表示禁止192.168.1.11/24网段的主机访问22端口 。