常用的防火墙配置命令:
firewall-cmd --list-all-zones
firewall-cmd --list-all
firewall-cmd --add-service=ssh
firewall-cmd --remove-service=ssh
firewall-cmd --query-service=ssh
firewall-cmd --permanent --path-service=ssh
firewall-cmd --add-port=2000-2010/tcp
firewall-cmd --remove-port=2000-2010/tcp
firewall-cmd --query-port=2005/tcp
firewall-cmd --reload
1、查看防火墙状态
systemctl status firewalld
或者
firewall-cmd --state
#Active: active (running),防火墙已开启
#Active: inactive (dead),防火墙已关闭
2、启动&停止&重启
systemctl start firewalld #启动
systemctl stop firewalld #停止
systemctl restart firewalld #重启
2、允许\禁止开机自启动
systemctl enable firewalld #允许
systemctl disable firewalld #禁止
4、查看防火墙规则
firewall-cmd --list-all
-----------------------------------------
public (active)
target: default
icmp-block-inversion: no
interfaces: ens33
sources:
services: dhcpv6-client ssh
ports: 4400-4600/udp 4400-4600/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
5、查看端口列表
firewall-cmd --list-ports
-----------------------
4400-4600/udp 4400-4600/tcp
6、查看指定端口是否开启
firewall-cmd --query-port=3306/tcp
--------------------------------
no
firewall-cmd --query-port=4400/tcp
--------------------------------
yes
7、添加端口
firewall-cmd --add-port=9001/tcp --permanent #添加单个端口
firewall-cmd --add-port=65001-65010/tcp --permanent #批量添加区间端口
firewall-cmd --reload #一定要重载下
# 查看是否添加成功
firewall-cmd --list-ports
-------------------------
4400-4600/udp 4400-4600/tcp 2888/tcp 9001/tcp 65001-65010/tcp
======================================================
`–permanent 永久生效 / 否则重启失效
–zone 作用域 一般都是public , 可以使用firewall-cmd --list-all-zones命令查看当前使用的域
–add-service 添加服务
–add-port 添加端口, 格式为 端口号/端口协议`
8、删除端口
firewall-cmd --remove-port=9001/tcp --permanent #删除指定端口
firewall-cmd --reload
9、重新加载(修改防火墙规则后需要执行reload)
firewall-cmd --reload
10、端口转发路由
# 将80端口的流量转发至8080
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080
# 将80端口的流量转发至192.168.0.1
firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.1.0.1
# 将80端口的流量转发至192.168.0.1的8080端口
firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.0.1:toport=8080
11、获取支持的区域列表
firewall-cmd --get-zones
12、获取所有支持的服务
firewall-cmd --get-services
13、获取所有支持的ICMP类型
firewall-cmd --get-icmptypes
14、列出全部启用的区域的特性
firewall-cmd --list-all-zones
15、扩展命令
# 检查是否允许伪装IP
firewall-cmd --query-masquerade
# 允许防火墙伪装IP
firewall-cmd --add-masquerade
# 禁止防火墙伪装IP
firewall-cmd --remove-masquerade
/etc/firewalld/
/usr/lib/firewalld/zones
/usr/lib/firewalld/services
/etc/firewalld/zones
使用之前,几个需要理解的概念。
icmp-host-prohibited
类型ICMP消息,对于IPv6应答icmp-adm-prohibited
类型ICMP消息,