一、防火墙配置
在 CentOS 上,firewalld
管理 NAT 规则可以通过其区域和服务配置进行控制。如果你想关闭或删除 NAT 规则,可以通过以下步骤来操作。
1. 移除特定的 NAT 规则
firewalld
中的 NAT 规则通常位于 masquerade
(伪装)设置中。你可以通过以下命令关闭 NAT(即关闭 masquerade
伪装):
sudo firewall-cmd --zone=public --remove-masquerade
这会从 public
区域中移除 masquerade
,即关闭 NAT 功能。如果你在其他区域配置了 masquerade
,需要指定该区域,例如:
sudo firewall-cmd --zone=work --remove-masquerade
2. 永久移除 NAT 规则
上面的命令只是临时关闭,重启后会恢复。如果你希望永久关闭 NAT,需要添加 --permanent
选项:
sudo firewall-cmd --zone=public --remove-masquerade --permanent
然后重新加载防火墙配置,使更改生效:
sudo firewall-cmd --reload
3. 查看当前的 NAT 规则
如果你想查看当前 firewalld
中的 NAT 规则,可以使用以下命令:
sudo firewall-cmd --zone=public --query-masquerade
这会显示 public
区域的 NAT 状态。如果显示 yes
,表示 masquerade
已启用;如果显示 no
,表示 NAT 已关闭。
4. 重启 firewalld
在更改防火墙配置后,建议检查 firewalld
状态,确保更改已生效:
sudo systemctl restart firewalld
要恢复之前通过 sudo firewall-cmd --zone=public --remove-masquerade --permanent
移除的 masquerade
(NAT)规则,可以使用以下步骤:
5. 恢复 masquerade
(开启 NAT)
使用以下命令将 masquerade
(NAT)重新添加到 public
区域:
sudo firewall-cmd --zone=public --add-masquerade --permanent
6. 重新加载防火墙规则
为了使永久更改立即生效,需要重新加载 firewalld
配置:
sudo firewall-cmd --reload
7. 验证 masquerade
是否恢复
可以使用以下命令检查 masquerade
是否已经重新启用:
sudo firewall-cmd --zone=public --query-masquerade
如果输出结果为 yes
,说明 masquerade
已成功恢复,NAT 功能已经启用。
8. 重启 firewalld
服务(可选)
如果你想确保所有配置完全应用,你可以重启 firewalld
服务:
sudo systemctl restart firewalld