iptables命令详细介绍

130 阅读2分钟

iptables 命令详细介绍

1. 作用

iptables 是 Linux 下用于配置和管理防火墙规则的命令行工具。它通过操作内核的 netfilter 框架,实现数据包的过滤、转发、NAT(网络地址转换)等功能。常用于服务器安全、流量控制、端口转发等场景。


2. 基本结构

  • 表(table):常用有 filter(默认,包过滤)、nat(地址转换)、mangle(包修改)、raw(特殊处理)。
  • 链(chain):如 INPUT(入站)、OUTPUT(出站)、FORWARD(转发)、PREROUTINGPOSTROUTING
  • 规则(rule):具体的匹配条件和动作(如 ACCEPT、DROP、REJECT)。

3. 常用命令示例

查看规则

iptables -L           # 查看所有规则
iptables -L -n -v     # 显示详细信息(数字格式)
iptables -t nat -L    # 查看 NAT 表规则

添加规则

iptables -A INPUT -s 192.168.1.100 -j DROP
# 阻止来自 192.168.1.100 的所有入站流量

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 允许所有入站 SSH(22端口)流量

iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
# 允许 eth0 到 eth1 的转发流量

删除规则

iptables -D INPUT 1
# 删除 INPUT 链的第1条规则

iptables -D INPUT -s 192.168.1.100 -j DROP
# 按内容删除规则

插入规则

iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
# 在 INPUT 链第1条插入允许80端口(HTTP)流量

保存和恢复规则

service iptables save         # 保存当前规则(部分系统)
iptables-save > /etc/iptables.rules
iptables-restore < /etc/iptables.rules

清空规则

iptables -F
# 清空所有规则

4. 常见用法

  • 端口开放/关闭
    只允许特定端口流量,阻止其他端口。
  • IP 白名单/黑名单
    允许或拒绝指定 IP 的访问。
  • NAT 转发
    实现端口映射、内网穿透等。
  • 包日志
    记录特定流量到日志文件。

5. 注意事项

  • 规则顺序很重要,先匹配先执行。
  • 默认策略建议设置为 DROP,只允许需要的流量。
  • 修改规则可能导致远程连接中断,建议本地操作或提前设置回滚。

总结
iptables 是 Linux 防火墙和网络安全的核心工具,灵活强大,适合各种网络环境的流量控制和安全防护。