在linux服务器上,安全组通常由云服务商在外部网络层提供访问控制,而iptables是系统内部的包过滤防火墙。二者协同工作才能构建较完整的防护体系,单纯依赖其中之一都可能留下隐患。
安全组与iptables的区别
安全组是云平台提供的虚拟防火墙,作用于实例的网络入口和出口;iptables运行在linux内核,控制本机网络栈的数据包走向。安全组配置错误可能直接阻断SSH,iptables规则混乱则会让本机服务暴露。
基础设置流程
开始前建议通过云控制台确认安全组已放行运维所需端口,再登录服务器处理iptables。
- 备份当前规则:iptables-save > /root/iptables.bak
- 清空现有规则:iptables -F
- 设置默认策略为丢弃:iptables -P INPUT DROP
- 允许回环与已建立连接:iptables -A INPUT -i lo -j ACCEPT 以及 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
- 放行SSH与Web端口:iptables -A INPUT -p tcp --dport 22 -j ACCEPT,iptables -A INPUT -p tcp --dport 80 -j ACCEPT
常用防护策略对比
| 策略类型 | 配置方式 | 适用场景 |
|---|---|---|
| 限制IP访问 | iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT | 内网互通或固定办公网 |
| 防暴力破解 | iptables -A INPUT -p tcp --dport 22 -m recent --set | 公网SSH防护 |
| 安全组兜底 | 云平台控制台拒绝0.0.0.0/0不必要的端口 | 所有云服务器 |
保存与恢复
在Debian或CentOS旧版本中,可使用 service iptables save 或 iptables-save > /etc/sysconfig/iptables 持久化。若使用firewalld的发行版,应注意二者不要同时启用造成冲突。
重要提醒:修改iptables前务必保留可用会话,避免自己被挡在服务器门外。
总结
linux服务器安全组iptables设置需要内外配合,先想清业务端口再动手,测试完毕再保存。定期检查规则与云安全组日志,能及时发现异常访问并调整策略。
linux服务器安全组iptables设置修改时间:2026-07-29 20:15:27