加油
努力

在TencentOS Server 3.1中如何启用和管理iptables服务?

在 TencentOS Server 3.1(基于 CentOS/RHEL 体系)中,iptables 服务默认由 firewalld 管理或需手动启用。以下是启用和管理 iptables 服务的完整步骤:


一、确认当前防火墙状态

systemctl status firewalld
systemctl status iptables

注意:TencentOS 默认使用 firewalld 作为主防火墙,若直接操作 iptables 需注意冲突风险。


二、禁用 firewalld(推荐做法,避免冲突)

sudo systemctl stop firewalld
sudo systemctl disable firewalld
# 可选:同时禁用 nftables(若存在)
sudo systemctl stop nftables.service
sudo systemctl disable nftables.service

三、安装并启用 iptables 服务

1. 安装依赖包(如未预装)

sudo yum install -y iptables-services

该包提供 iptables 命令及 iptables systemd 服务单元。

2. 启动并设置开机自启

sudo systemctl start iptables
sudo systemctl enable iptables

3. 验证服务状态

systemctl status iptables

四、配置 iptables 规则

保存当前规则到文件

sudo service iptables save
# 或等效命令(取决于版本)
sudo /sbin/iptables-save > /etc/sysconfig/iptables

加载已保存的规则

sudo service iptables restart
# 或
sudo systemctl restart iptables

常用示例规则(按需添加)

# 允许 SSH(端口 22)
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# 允许 HTTP/HTTPS
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# 拒绝其他所有入站连接(默认策略设为 DROP 前执行)
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT

# 允许本地回环
sudo iptables -A INPUT -i lo -j ACCEPT

⚠️ 重要:修改规则后务必测试连通性,避免锁死远程会话;建议先保留 SSH 规则再设默认 DROP。


五、持久化与备份

  • 规则自动保存在 /etc/sysconfig/iptables(通过 service iptables save)
  • 可手动备份:
    sudo cp /etc/sysconfig/iptables /etc/sysconfig/iptables.bak.$(date +%F)

六、替代方案建议(生产环境推荐)

若希望更现代化、动态化的防火墙管理,可考虑:

  • 继续使用 firewalld(TencentOS 默认),通过 firewall-cmd 管理;
  • 或使用云安全组(腾讯云控制台 + 实例安全组)+ 轻量级 iptables 组合策略。

✅ 最佳实践:优先使用腾讯云安全组控制网络层访问,iptables 仅用于主机内网隔离或特定应用防护。

如需具体场景规则(如防 DDoS、端口转发等),可提供需求进一步定制。

云服务器