CentOS 设置 iptables
封面图
•
2025-11-29
•
Linux
195
0
0
0
在 CentOS 系统中,`iptables` 是一个用于配置 IPv4 数据包过滤的工具。不过从 **CentOS 7** 开始,默认使用的是 `firewalld` 而不是 `iptables`。如果你确实需要使用 `iptables`,可以通过以下步骤进行设置。 --- ## ✅ 一、安装 iptables(如果未安装) ```bash sudo yum install iptables-services -y ``` > 注意:在 CentOS 8 及以上版本中,`iptables` 已被弃用,推荐使用 `nftables` 或 `firewalld`。 --- ## ✅ 二、启用并启动 iptables 服务 ```bash sudo systemctl enable iptables sudo systemctl start iptables ``` --- ## ✅ 三、查看当前的 iptables 规则 ```bash sudo iptables -L -n -v ``` - `-L`:列出规则 - `-n`:不解析主机名和端口号 - `-v`:显示详细信息 --- ## ✅ 四、设置基本的 iptables 规则 ### 1. 允许已建立的连接 ```bash sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT ``` ### 2. 允许 SSH 连接(默认端口 22) ```bash sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT ``` ### 3. 允许 HTTP 和 HTTPS(80 和 443) ```bash sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT ``` ### 4. 拒绝其他所有入站流量 ```bash sudo iptables -A INPUT -j DROP ``` > ⚠️ 设置后请确保你有其他方式访问服务器,否则可能无法远程登录。 --- ## ✅ 五、保存 iptables 规则 在 CentOS 中,可以使用 `iptables-save` 命令将规则保存到文件: ```bash sudo iptables-save > /etc/sysconfig/iptables ``` > 在某些系统上,也可以使用 `service iptables save` 来保存规则: ```bash sudo service iptables save ``` --- ## ✅ 六、查看保存的规则 ```bash sudo cat /etc/sysconfig/iptables ``` --- ## ✅ 七、重启后生效 ```bash sudo systemctl restart iptables ``` --- ## 📝 补充说明 | 工具 | 适用系统 | 说明 | |------|----------|------| | `iptables` | CentOS 6, 7 | 需要手动管理规则 | | `firewalld` | CentOS 7+ | 默认防火墙,支持动态更新 | | `nftables` | CentOS 8+ | 新一代防火墙工具 | --- ## 🧩 示例:允许特定 IP 访问 SSH ```bash sudo iptables -A INPUT -s 192.168.1.100 -p tcp --dport 22 -j ACCEPT ``` --- ## 🔐 安全建议 - 不要随意开放 0.0.0.0/0 的端口。 - 使用 `iptables` 时务必测试规则是否正确。 - 如果你是通过 SSH 连接服务器,建议先测试规则再应用拒绝策略。 --- 如果你使用的是 **CentOS 7 或更高版本**,我建议你使用 `firewalld` 或 `nftables` 替代 `iptables`,因为它们更现代且更容易管理。 如需了解如何使用 `firewalld` 或 `nftables`,我可以继续为你提供帮助!
上一篇:
iptables 开放22 53端口
下一篇:
Centos7 如何查看时区
标题录入,一次不能超过6条
留言
评论