售前咨询400-838-0503

怎样在Linux云服务器上配置IPtables?

发布:2025-03-31 10:20

搜索全部帮助分类的文档

Linux云服务器IPtables配置全攻略:从入门到精通

在云服务器安全管理中,IPtables作为Linux内核内置的防火墙工具,是保护服务器安全的第一道防线。本文将手把手教你如何正确配置IPtables规则,让你的云服务器固若金汤。

一、IPtables基础概念

IPtables通过定义规则链(Chain)来处理网络数据包,主要包括三个默认链:

  • INPUT链:处理进入本机的数据包
  • OUTPUT链:处理从本机发出的数据包
  • FORWARD链:处理转发到其他主机的数据包

每条链都有默认策略(ACCEPT/DROP),规则按顺序匹配,一旦匹配成功就会执行相应动作。

二、准备工作

  1. 确认系统已安装IPtables:sudo iptables --version
  2. 查看当前规则:sudo iptables -L -n -v
  3. 备份现有规则:sudo iptables-save > ~/iptables.backup

注意:操作前请确保有SSH的备用连接方式,避免误操作导致失联。

三、基础规则配置

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

四、服务端口配置

1. 开放SSH端口(示例使用2222)

sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT

2. 开放Web服务端口

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

3. 允许Ping

sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

五、高级防护配置

1. 防止端口扫描

sudo iptables -N ANTISCAN
sudo iptables -A ANTISCAN -m recent --name ATTACK --set -j DROP
sudo iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j ANTISCAN
sudo iptables -A INPUT -p tcp --tcp-flags ALL NONE -j ANTISCAN

2. 限制连接频率

sudo iptables -A INPUT -p tcp --dport 22 -m connlimit --connlimit-above 3 -j DROP

3. IP黑名单

sudo iptables -A INPUT -s 123.123.123.123 -j DROP

六、规则持久化

CentOS/RHEL:

sudo service iptables save
sudo chkconfig iptables on

Ubuntu/Debian:

sudo apt-get install iptables-persistent
sudo netfilter-persistent save

常见问题解决

Q: 配置后无法连接SSH怎么办?
A: 通过云平台控制台使用VNC连接,检查规则是否正确,或临时清空规则:sudo iptables -F

Q: 规则不生效?
A: 检查规则顺序,IPtables是从上到下匹配的。使用sudo iptables -L -n --line-numbers查看规则序号,用-I参数插入到正确位置。

最佳实践建议

  1. 配置前做好备份
  2. 先设置允许规则再设置默认拒绝
  3. 生产环境建议使用-I而非-A添加规则
  4. 定期检查/var/log/syslog中的防火墙日志
  5. 考虑使用更现代的firewalld或nftables

通过以上步骤,你已经为Linux云服务器建立了一套完整的防火墙防护体系。记住,安全配置是一个持续的过程,需要根据实际业务需求不断调整优化。

按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。

提交工单