在 CentOS 系统中,使用 iptables 开放端口需要遵循以下步骤:
以 root 用户身份登录到 CentOS 系统。
查看当前的 iptables 规则,使用以下命令:
sudo iptables -L
添加新的 iptables 规则以允许特定端口的流量。例如,如果您想要开放端口 80(HTTP),可以使用以下命令:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
这里,-A INPUT 表示将规则添加到 INPUT 链,-p tcp 表示使用 TCP 协议,--dport 80 表示目标端口为 80,-j ACCEPT 表示接受匹配此规则的流量。
如果您想要开放一个 UDP 端口,例如端口 53(DNS),可以使用以下命令:
sudo iptables -A INPUT -p udp --dport 53 -j ACCEPT
保存 iptables 规则,以便在系统重启后仍然生效。CentOS 7 及更高版本使用 firewalld 作为默认防火墙,因此您需要安装并启用 firewalld。使用以下命令安装 firewalld:
sudo yum install firewalld
启动 firewalld 服务:
sudo systemctl start firewalld
使用以下命令启用刚刚添加的端口:
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
sudo firewall-cmd --permanent --zone=public --add-port=53/udp
这里,--permanent 表示永久生效,--zone=public 表示公共区域,--add-port=80/tcp 和 --add-port=53/udp 分别表示添加 TCP 端口 80 和 UDP 端口 53。
重新加载 firewalld 配置以应用更改:
sudo firewall-cmd --reload
再次查看防火墙规则以确认端口已添加:
sudo firewall-cmd --list-all
现在,您已经成功地在 CentOS 系统中使用 iptables 开放了指定端口。