温馨提示×

centos iptables端口如何关闭

小樊
122
2025-03-13 10:08:32
栏目: 智能运维

在 CentOS 系统中,使用 iptables 命令可以管理防火墙规则,包括关闭特定端口。以下是一些常用的命令示例,帮助你关闭特定端口:

关闭特定端口

假设你想关闭 TCP 端口 8080,可以使用以下命令:

sudo iptables -A INPUT -p tcp --dport 8080 -j DROP

这条命令的意思是:

  • -A INPUT:将规则添加到 INPUT 链。
  • -p tcp:指定协议为 TCP。
  • --dport 8080:指定目标端口为 8080。
  • -j DROP:丢弃匹配的数据包。

保存规则

在 CentOS 7 及更高版本中,iptables 规则在重启后不会自动保存。你可以使用 firewall-cmd 命令来保存规则:

sudo firewall-cmd --runtime-to-permanent

关闭所有端口(仅限测试)

如果你想关闭所有端口以进行测试,可以使用以下命令:

sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT

这条命令的意思是:

  • -P INPUT DROP:将 INPUT 链的默认策略设置为 DROP。
  • -P FORWARD DROP:将 FORWARD 链的默认策略设置为 DROP。
  • -P OUTPUT ACCEPT:将 OUTPUT 链的默认策略设置为 ACCEPT。

恢复默认规则

如果你想恢复默认规则,可以使用以下命令:

sudo iptables -F
sudo iptables -X
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t mangle -F
sudo iptables -t mangle -X
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT

这条命令的意思是:

  • -F:清空所有链中的规则。
  • -X:删除用户自定义的链。
  • -t nat -F-t nat -X:清空和删除 NAT 表中的规则。
  • -t mangle -F-t mangle -X:清空和删除 MANGLE 表中的规则。
  • -P INPUT ACCEPT 等:将所有链的默认策略恢复为 ACCEPT。

使用 firewalld

CentOS 7 及更高版本推荐使用 firewalld 来管理防火墙规则。你可以使用以下命令来关闭特定端口:

sudo firewall-cmd --permanent --zone=public --remove-port=8080/tcp
sudo firewall-cmd --reload

这条命令的意思是:

  • --permanent:使规则永久生效。
  • --zone=public:指定区域为 public。
  • --remove-port=8080/tcp:移除 TCP 端口 8080。
  • --reload:重新加载防火墙配置。

希望这些命令能帮助你成功关闭 CentOS 系统中的特定端口。

0