25 个必知 IPTables 规则示例与配置详解

Linux 的 IPTables 就像你的网络保安,通过规则控制数据进出。本文用 25 个实用案例,教你打造专属网络安全防线!

一、基础防护规则(小区基础安保)

1. 允许 SSH 远程登录(允许家人回家)

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
注意:建议修改 SSH 默认端口(参考前文《5 分钟提升服务器安全》)

2. 禁止 ICMP 请求(关闭敲门功能)

 
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
效果:别人无法用ping命令探测你的服务器

3. 允许 HTTP/HTTPS 访问(开放商店大门)

 
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
适用:搭建 Web 服务器时启用

二、访问控制规则(小区访客管理)

4. 允许特定 IP 访问(给朋友发通行证)

 
iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
场景:仅允许办公室 IP 远程管理

5. 禁止某个 IP 访问(拉黑可疑访客)

 
iptables -A INPUT -s 1.2.3.4 -j DROP
案例:某电商平台通过此规则封禁恶意爬虫 IP

6. 按时间段控制访问(夜间安保模式)

 
iptables -A INPUT -p tcp --dport 80 -m time --timestart 22:00 --timestop 06:00 -j DROP
效果:每天 22 点至次日 6 点关闭网站访问

三、网络地址转换(快递中转站)

7. 端口转发(把快递转交给家人)

 
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.200:80
场景:将公网 8080 端口请求转发到内网服务器

8. 伪装源地址(隐藏真实身份)

 
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
适用:共享上网时隐藏内网 IP

四、高级防御规则(智能监控系统)

9. 防御 SYN Flood 攻击(拦截恶意快递车)

 
iptables -A INPUT -p tcp --syn -m limit --limit 1/s --limit-burst 3 -j ACCEPT
原理:每秒最多允许 3 个新连接

10. 禁止空包探测(识破伪装包裹)

 
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
作用:阻止黑客用空 TCP 包探测端口

五、服务专属规则(不同房间的门锁)

11. 允许 MySQL 远程连接(开放数据库大门)

 
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
注意:生产环境建议仅允许可信 IP 访问

12. 允许 FTP 上传文件(开放文件传输通道)

 
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
提示:建议改用更安全的 SFTP 协议

六、日志与调试(小区监控记录)

13. 记录可疑连接(开启监控摄像头)

 
iptables -A INPUT -j LOG --log-prefix "Suspicious connection: "
查看日志tail -f /var/log/firewalld

14. 测试规则效果(模拟访客测试)

 
iptables -nL --line-numbers  # 查看当前规则列表

七、常用组合规则(安保套餐)

15. 仅允许 HTTP 和 SSH(基础服务组合)

 
iptables -P INPUT DROP
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT  # 允许本地环回

16. 禁止 PING 但允许访问(隐身服务器)

 
iptables -A INPUT -p icmp --icmp-type 8 -j DROP
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

八、一键式管理脚本(安保机器人)

17. 保存当前规则(备份安保方案)

 
iptables-save > /etc/sysconfig/iptables

18. 恢复默认规则(重置安保系统)

 
iptables -F  # 清空所有规则
iptables -X  # 删除自定义链

九、特殊场景应用(特殊访客处理)

19. 允许 VPN 连接(给员工开后门)

 
iptables -A INPUT -p udp --dport 1194 -j ACCEPT  # OpenVPN默认端口

20. 阻止 BT 下载(禁止占用带宽)

 
iptables -A INPUT -p tcp --dport 6881:6889 -j DROP

十、云服务器适配(云端小区安保)

21. 允许 NTP 时间同步(保持时间准确)

 
iptables -A INPUT -p udp --dport 123 -j ACCEPT

22. 允许 RDP 远程桌面(Windows 服务器)

 
iptables -A INPUT -p tcp --dport 3389 -j ACCEPT

十一、安全增强技巧(升级安保系统)

23. 状态检测防火墙(智能识别快递类型)

biptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
原理:自动允许已建立连接的响应包

24. 防御端口扫描(识破快递员踩点)

 
iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

25. 防御 ICMP 洪水攻击(拦截恶意包裹)

 
iptables -A INPUT -p icmp -m limit --limit 100/sec -j ACCEPT

操作备忘录

  1. 规则顺序:先允许后拒绝(如先加允许 SSH 规则,再加默认 DROP)
  2. 测试方法:修改规则后,用另一台电脑测试连接
  3. 紧急恢复:若无法连接,通过 VNC / 本地终端登录服务器恢复规则
通过这 25 个规则,你可以像专业安保人员一样管理网络访问。记住:安全没有一劳永逸,定期检查规则并更新策略是关键!