在 CentOS 系统中,使用 iptables 开放端口需要遵循以下步骤:
以 root 用户身份登录或使用 sudo 命令获取管理员权限。
查看当前的防火墙规则,以确保您要开放的端口没有被阻止。运行以下命令:
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 协议的端口,请使用类似的命令,将 -p tcp 替换为 -p udp。例如,要开放 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 systemctl enable firewalld
使用 firewall-cmd 命令添加端口规则。例如,要开放 TCP 端口 80,运行:
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
对于 UDP 端口 53,运行:
sudo firewall-cmd --permanent --zone=public --add-port=53/udp
重新加载 firewalld 配置以应用更改:
sudo firewall-cmd --reload
现在,您已经成功地在 CentOS 系统中使用 iptables 开放了所需的端口。