如何在Linux云服务器上配置IPtables规则?
Linux云服务器IPtables配置终极指南
在云计算时代,服务器安全防护成为每个运维人员的必修课。本文将详细介绍如何在Linux云服务器上配置IPtables防火墙规则,帮助您构建强大的第一道安全防线。
一、IPtables基础概念
IPtables是Linux内核集成的包过滤系统,通过对网络数据包的检查和控制,实现防火墙功能。它包含四个默认表(filter、nat、mangle、raw)和五个链(INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING)。
二、准备工作
- 使用SSH连接到您的云服务器
- 检查当前iptables规则:
sudo iptables -L -n
- 确保拥有root权限或sudo权限
三、基本配置步骤
1. 设置默认策略
sudo iptables -P INPUT DROP sudo iptables -P FORWARD DROP sudo iptables -P OUTPUT ACCEPT
2. 允许本地回环
sudo iptables -A INPUT -i lo -j ACCEPT sudo iptables -A OUTPUT -o lo -j ACCEPT
3. 允许已建立的连接
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
四、服务端口配置
服务 | 端口 | 命令示例 |
---|---|---|
SSH | 22 | sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT |
HTTP | 80 | sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT |
HTTPS | 443 | sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT |
五、高级防护配置
- 防止DoS攻击:
sudo iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT
- 阻止恶意IP:
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
- 端口转发:
sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 80
六、规则持久化
为防止重启后规则丢失,需要保存规则:
sudo apt-get install iptables-persistent sudo netfilter-persistent save sudo netfilter-persistent reload
七、常见问题排查
- 无法连接SSH:检查INPUT链中是否允许22端口
- 网站无法访问:确认80/443端口是否开放
- 规则不生效:检查规则顺序,先匹配的规则会优先执行
通过本文的配置指南,您应该已经掌握了Linux云服务器上IPtables的基本配置方法。建议定期审查防火墙规则,并根据业务需求进行调整,确保服务器安全稳定的运行。