iptables 常用规则速查与示例

type
status
date
slug
summary
tags
category
icon
password

一、iptables 概述

iptables 是 Linux 系统内核防火墙(netfilter)的用户空间管理工具,用于定义、查看、修改防火墙规则。
它通过“表(table)”和“链(chain)”的概念对网络包进行控制。

1、常见表(table)

表名
功能
常用链
filter
数据包过滤(最常用)
INPUT、FORWARD、OUTPUT
nat
网络地址转换(NAT)
PREROUTING、POSTROUTING、OUTPUT
mangle
修改数据包(TOS、TTL等)
各链皆可
raw
数据包连接跟踪前的处理
PREROUTING、OUTPUT

2、常见链(chain)

链名
作用
INPUT
进入本机的数据包
OUTPUT
本机发出的数据包
FORWARD
经过本机转发的数据包
PREROUTING
数据包进入路由前
POSTROUTING
数据包离开路由后

3、iptables语法格式

iptables常用参数:
  • -P 设置默认策略:iptables
  • -P INPUT (DROP|ACCEPT)
  • -F 清空规则链
  • -L 查看规则链
  • -A 在规则链的末尾加入新规则
  • -I num 在规则链的头部加入新规则
  • -D num 删除某一条规则
  • -s 匹配来源地址IP/MASK,加叹号"!"表示除这个IP外。
  • -d 匹配目标地址
  • -i 网卡名称 匹配从这块网卡流入的数据
  • -o 网卡名称 匹配从这块网卡流出的数据
  • -p 匹配协议,如tcp,udp,icmp
  • --dport num 匹配目标端口号
  • --sport num 匹配来源端口号

二、基础操作

1、清空规则

2、查看规则

3、设置默认策略

默认策略用于匹配不到任何规则时的处理方式。
💡 通常服务器上建议:
  • INPUT:DROP(防护)
  • FORWARD:DROP(非路由用途)
  • OUTPUT:ACCEPT(一般允许外联)

三、规则示例合集

1、阻止指定 IP

指定网卡:

2、允许 SSH 连接

允许所有外部主机 SSH 访问:
仅允许指定网段访问 SSH:

3、允许 HTTP / HTTPS

多端口合并写法(multiport 模块)

4、从本机发起的连接(主动外联)

例如允许服务器主动 SSH 或 HTTPS 出站:

5、Ping 通信(ICMP)


6、允许回环访问


7、内外网转发

假设:
  • eth0:内部网(192.168.1.0/24)
  • eth1:外部网(互联网)

8、DNS、邮件、数据库常用端口


9、邮件访问协议(IMAP/POP3)


10、防止 DoS 攻击

--limit 25/minute:每分钟最多25个连接--limit-burst 100:突发连接上限

四、端口转发与 NAT

1、端口转发(DNAT)

2、IP 映射(NAT)

假设:
名称
内部IP
外部IP
A单位
192.168.1.100
202.110.123.100
B单位
192.168.1.200
202.110.123.200
防火墙:
  • 内网接口:eth1 → 192.168.1.1
  • 外网接口:eth0 → 202.110.123.1

添加公网别名 IP

DNAT:外到内

SNAT:内到外


五、日志记录

1、创建 LOGGING 链

记录被丢弃的数据包信息,可查看 /var/log/messages 或 /var/log/syslog。

六、常用扩展模块

模块
作用
state / conntrack
追踪连接状态
limit
限速/防DoS攻击
multiport
多端口匹配
nth
负载均衡
mac
根据MAC地址匹配
iprange
IP区间匹配

七、保存与持久化


八、负载均衡示例(nth 模块)

每3个新连接轮流分配至3台后端主机,实现简单的轮询负载均衡。

九、补充

  • iptables 已逐步被 nftables 取代,但许多企业环境仍以 iptables 为主。
  • 持久化管理工具:
    • iptables-services
    • firewalld(iptables 封装)
  • 快速调试:
    • 使用 iptables -vnL 查看匹配计数
    • 使用 iptables -t nat -L -n -v 查看NAT转发情况
  • 安全建议:
    • 开启日志记录,避免隐形丢包
    • 对外服务只开放必要端口
    • 定期保存规则文件备份

Loading...