firewall-cmd 常用命令

firewalld zone 说明

Public(公共):
  此区域适用于公共网络,例如互联网。
  默认情况下,不信任的流量通常被阻止。
External(外部):
  此区域适用于外部网络,例如在连接到互联网的服务器上的网络接口。
  类似于 Public 区域,但是可以区分外部和内部信任的网络流量。
Internal(内部):
  此区域适用于内部网络,例如局域网。
  允许较多的流量通过,通常被信任的流量不会被阻止。
DMZ(非信任区域):
  此区域适用于放置公共服务器的网络区域。
  允许一些服务通过,但通常比 Internal 区域更严格。
Work(工作):
  此区域适用于工作环境中的网络,例如企业内部网络。
  允许更多类型的流量通过,通常被信任的流量不会被阻止。
Home(家庭):
  此区域适用于家庭网络。
  允许较多的流量通过,通常被信任的流量不会被阻止。
Trusted(受信任):
  此区域信任所有流量,不进行任何过滤。
Block(阻止):
  此区域拒绝所有流量。

firewall-cmd 常用参数

--add-service=<service>:添加一个服务到防火墙规则中。<service> 是要添加的服务的名称。
--remove-service=<service>:从防火墙规则中移除指定的服务。<service> 是要移除的服务的名称。
--add-port=<port>/tcp:添加一个 TCP 端口到防火墙规则中。<port> 是要添加的端口号。
--add-port=<port>/udp:添加一个 UDP 端口到防火墙规则中。<port> 是要添加的端口号。
--remove-port=<port>/tcp:从防火墙规则中移除指定的 TCP 端口。<port> 是要移除的端口号。
--remove-port=<port>/udp:从防火墙规则中移除指定的 UDP 端口。<port> 是要移除的端口号。
--zone=<zone>:指定要操作的防火墙区域。<zone> 是防火墙的区域名称。
--list-all:列出当前防火墙的所有规则。
--reload:重新加载防火墙规则,使更改生效。
--permanent:将规则永久性地保存在防火墙配置中。
--query-service=<service>:检查指定服务是否在防火墙规则中。
--get-services:获取所有可用的服务列表。
--panic-on:将防火墙设置为 Panic 模式,即阻止所有网络流量。
--panic-off:禁用 Panic 模式,允许网络流量通过防火墙。
--get-active-zones:它将列出系统上所有活动的网络接口及其所属的区域。
--get-zone-of-interface=<interface>:它将返回指定接口所属的防火墙区域的名称。例如 eth0。

firewall-cmd 常用命令

添加允许某个端口的流量到特定区域

firewall-cmd --zone=public --add-port=80/tcp --permanent

移除某个端口的流量规则

firewall-cmd --zone=public --remove-port=80/tcp --permanent

添加允许某个服务的流量到特定区域

firewall-cmd --zone=public --add-service=http --permanent

移除某个服务

firewall-cmd --permanent --zone=public --remove-service=ssh

查看当前区域的所有规则

firewall-cmd --zone=public --list-all

重新加载防火墙规则

firewall-cmd --reload

查看所有打开的端口

firewall-cmd --zone=public --list-ports

direct

firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -p tcp --dport 22 -j ACCEPT
这条命令告诉firewalld在INPUT链的顶部(0)添加一个允许TCP端口22的规则(SSH连接),并将其设置为接受(ACCEPT)。

端口转发

# 这个命令将在防火墙上创建一个源 NAT 转发规则,将来自本机的 TCP 流量的 8080 端口转发到内部主机的 192.168.1.100 地址的 80 端口。
firewall-cmd --add-forward-port=port=8080:proto=tcp:toport=80:toaddr=192.168.1.100  
# 这个命令将在防火墙上创建一个端口转发规则,将 TCP 流量的 8080 端口转发到内部主机的 192.168.1.100 地址的 80 端口。这使得外部用户可以通过访问防火墙上的 8080 端口来访问内部网络的 Web 服务。
firewall-cmd --add-forward-port=port=8080:proto=tcp:toport=80:toaddr=192.168.1.100

添加允许特定源 IP 访问的规则 

# 允许具有源IP地址为192.168.1.100的IPv4流量通过防火墙。
firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept'

添加拒绝特定端口访问的规则

# 拒绝所有IPv4 UDP流量的53端口访问。
firewall-cmd --add-rich-rule='rule family="ipv4" port protocol="udp" port="53" drop'

添加限制 ICMP 类型的规则

# 允许IPv4 ICMP 协议通过防火墙。
firewall-cmd --add-rich-rule='rule family="ipv4" protocol value="icmp" icmp-type=echo-reply accept'

添加限制特定网络接口的规则

# 拒绝所有从eth0网络接口进入的IPv4流量。
firewall-cmd --add-rich-rule='rule family="ipv4" source interface="eth0" drop'
posted @ 2024-03-30 20:59  小吉猫  阅读(49)  评论(0编辑  收藏  举报