Skip to content

Commit d104b12

Browse files
committed
routing: Add note on ip rule from matcher
1 parent 2808bc5 commit d104b12

File tree

1 file changed

+13
-12
lines changed

1 file changed

+13
-12
lines changed

docs/ops/network/routing.md

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -187,21 +187,22 @@ ip rule add from 192.0.2.0/24 table 100 pref 1000
187187

188188
路由规则的匹配条件可以包含多个字段,常用的匹配条件包括:
189189

190-
| 条件 | 说明 |
191-
| ----------------------------------- | ----------------------------------------- |
192-
| from CIDR | 源地址(CIDR) |
193-
| to CIDR | 目的地址(CIDR) |
194-
| fwmark mark<br>fwmark mark/mask | 防火墙标记(firewall mark),可以附带掩码 |
195-
| iif IFACE | 数据包的输入接口 |
196-
| oif IFACE | 数据包的输出接口 |
197-
| uidrange MIN-MAX | 进程的用户 ID 范围 |
198-
| tos TOS | 服务类型(Type of Service) |
199-
| ipproto PROTOCOL | IP 层内协议(如 `tcp``udp``icmp` 等) |
200-
| sport port<br>sport portmin-portmax | 源端口号或范围 |
201-
| dport port<br>dport portmin-portmax | 目的端口号或范围 |
190+
| 条件 | 说明 |
191+
| ----------------------------------- | ------------------------------------------ |
192+
| from CIDR | 源地址(CIDR) |
193+
| to CIDR | 目的地址(CIDR) |
194+
| fwmark mark<br>fwmark mark/mask | 防火墙标记(firewall mark),可以附带掩码 |
195+
| iif IFACE | 数据包的输入接口 |
196+
| oif IFACE | 数据包的输出接口 |
197+
| uidrange MIN-MAX | 进程的用户 ID 范围 |
198+
| tos TOS | IP 数据包的服务类型(Type of Service)字段 |
199+
| ipproto PROTOCOL | IP 层内协议(如 `tcp``udp``icmp` 等) |
200+
| sport port<br>sport portmin-portmax | 源端口号或范围 |
201+
| dport port<br>dport portmin-portmax | 目的端口号或范围 |
202202

203203
其中:
204204

205+
- from 条件既适用于本机发出的数据包(需要 socket 已经 `bind()` 到一个 IP 地址上),也适用于经过本机转发的数据包(此时数据包的源地址是已知的)。如果要匹配没有 `bind()` 的数据包,可以使用 `from 0.0.0.0``from ::`。特别注意这里的 `from 0.0.0.0` 等价于 `from 0.0.0.0/32`,而非 `from all``from 0.0.0.0/0`
205206
- fwmark 条件匹配防火墙的数据包标记,通常与 Netfilter 的 `MARK` 目标结合使用,实现更复杂的路由策略。
206207
- iif 条件匹配数据包的输入接口,其中由本机发出的数据包可以用 `iif lo` 匹配。
207208
- oif 条件匹配数据包的输出接口,只适用于本机发出的包,对应的 socket 已经绑定到该接口(`setsockopt(SO_BINDTODEVICE)`[^oif-why]

0 commit comments

Comments
 (0)