iptables是linux防火墙核心工具,通过表(Filter、nat、mangle)和链(input、OUTPUT、FORWARD)管理流量;常用命令包括查看(-L -n -v)、清空(-F)、设置默认策略(-P)和添加规则(-A);典型规则允许回环、已建立连接及http/https流量,并可阻止特定IP;规则需保存至配置文件以防重启丢失,使用iptables-save和iptables-restore进行持久化。
Linux中的iptables是管理防火墙规则的核心工具,通过配置规则可以控制进出系统的网络流量。掌握iptables的基本结构和常用命令,能有效提升系统安全性。
理解iptables的基本结构
iptables基于“表(tables)”和“链(chains)”组织规则。常用表包括:
- filter:默认表,用于包过滤,包含INPUT、OUTPUT、FORWARD链
- nat:用于网络地址转换,如端口转发
- mangle:用于修改数据包的特定字段(较少使用)
常见链的作用:
- INPUT:处理进入本机的数据包
- OUTPUT:处理从本机发出的数据包
- FORWARD:处理经过本机转发的数据包
常用iptables操作命令
添加、删除、查看规则是日常管理的基本操作。
- 查看当前规则:iptables -L -n -v(-n表示不解析主机名,-v显示详细信息)
- 清空规则:iptables -F(慎用,会清除所有规则)
- 设置默认策略:iptables -P INPUT DROP(默认拒绝所有入站)
- 添加允许规则:iptables -A INPUT -p tcp –dport 22 -j ACCEPT(允许ssh)
- 删除规则:iptables -D INPUT -p tcp –dport 80 -j ACCEPT
配置典型防火墙规则示例
实际使用中,通常需要允许特定服务并拒绝其他流量。
- 允许本地回环接口通信:iptables -A INPUT -i lo -j ACCEPT
- 允许已建立的连接返回流量:iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
- 开放HTTP/HTTPS端口:iptables -A INPUT -p tcp –dport 80 -j ACCEPT 和 iptables -A INPUT -p tcp –dport 443 -j ACCEPT
- 阻止特定IP访问:iptables -A INPUT -s 192.168.1.100 -j DROP
保存和恢复iptables规则
重启后规则会丢失,需手动保存。
- ubuntu/debian:iptables-save > /etc/iptables/rules.v4(需安装iptables-persistent)
- centos/RHEL:service iptables save 或 /sbin/iptables-save > /etc/sysconfig/iptables
- 恢复规则:iptables-restore
基本上就这些。合理配置iptables规则,能有效保护Linux服务器。建议先在测试环境练习,避免误操作导致网络中断。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END