在 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命令及iptablessystemd 服务单元。
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、端口转发等),可提供需求进一步定制。
云小栈