帮助中心 >
  关于独立服务器 >
  高效管理Linux防火墙:FirewallD规则精讲
高效管理Linux防火墙:FirewallD规则精讲
时间 : 2024-12-11 14:33:00
编辑 : Jtti

FirewallD提供了一种在linux中配置动态防火墙规则的方法,这个规则可以直接应用,无需启动防火墙且还支持D-BUS和区域概念简化了配置。

在执行FirewallD规则前必须检查FirewallD服务是否已启用且运行中:

# systemctl status firewalld

如显示结果是FirewallD已启动,建议检查全部活动区域和活动服务:

# firewall-cmd --get-active-zones

# firewall-cmd --get-services

如还不大熟悉用法,可以从GUI管理FirewallD。只需要在系统上安装GUI包:

# yum install firewalld firewall-config

先确保确认要在哪个公共区域配置 Linux 防火墙,并使用以下命令列出公共区域的所有活动服务、端口和丰富规则:

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

要为公共区域打开任何端口,请使用以下命令。例如,以下命令将为公共区域打开端口 80:

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

要删除添加的端口,只需使用firewalld命令中的“ -remove ”选项,如下所示:

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

添加或删除特定端口后,需要使用“ -list-ports ”选项确认该端口是否被添加或删除:

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

默认情况下,FirewallD带有预定义服务,添加特定服务列表需要创建一个新的xml文件并在文件中包含全部服务,否则要通过手动定义或删除每个服务。

#firewall-cmd --zone=public --add-service=ftp

#firewall-cmd --zone=public --remove-service=ftp

#firewall-cmd --zone=public --list-services

如果想阻止任何传入或传出连接,需要使用“ panic-on ”模式来阻止此类请求。如可以删除系统上任何现有的已建立连接:

# firewall-cmd --panic-on

在尝试ping任何区域,使用“ -query-panic ”选项检查恐慌模式是否开启,如下所示。

# ping google.com -c 1

# firewall-cmd --query-panic

您是否在上图中看到,恐慌查询显示“未知主机 google.com ”。现在尝试禁用恐慌模式,然后再次 ping 并检查。

# firewall-cmd --query-panic

# firewall-cmd --panic-off

# ping google.com -c 1

现在这一次,将会有来自谷歌的 ping 请求。

伪装IP地址也是一种网络地址转换,允许服务器借助基础机器连接到互联网。如想从任何地方用SSH连接到家庭虚拟机,只需要把SSH端口22转发到不同端口。进行端口转发前,要先检查外部区域是否启用Masquerade,因为我们要从外部网络访问机器。

# firewall-cmd --zone=external --query-masquerade

如果尚未启用需先启用:

# firewall-cmd --zone=external --add-masquerade

再把全部SSH端口22连接转发到IP地址192.168.0.132的端口2222。

#firewall-cmd--zone=external--add-forward-port=port=22:proto=tcp:toport=2222:toaddr=192.168.0.132

# firewall-cmd --zone=external --list-all

JTTI-Defl
JTTI-COCO
JTTI-Selina
JTTI-Ellis
JTTI-Eom