我需要知道 iptables 中 TOS 字段的有效值是什么。
我的意思是当我尝试使用 ip rule add 添加规则时我可以给出什么作为 tos 值
我找不到任何有关 tos 值的资源。我知道它是什么,但是 Linux 中以及 iptables 中 tos 的有效值是什么。
谢谢
答案1
本质上,这取决于你想要实现什么。大多数系统在转发/处理决策时不遵守 TOS。如果你有一个系统做尊重它,那么它可能就会被记录在那里。
然而,RFC 1349最初指定了 TOS 字段的用途,但实际上并没有使用。后来被RFC 2474,该字节的前 6 位定义为包含差分服务代码点(低两位由ECN)。在 Wikipedia 中可以找到有关典型值的良好概述。因此高 6 位的典型值为:
- 0x00(默认)
- 0x0a、0x0c、0x0e;0x12、0x14、0x16;0x1a、0x1c、0x1e;0x22、0x24、0x26(十二种不同的保证转发行为)
- 0x2c(语音允许)
- 0x2e(加速转发)
要使用这些值,请将它们乘以 4,并添加适当的 ECN 值,或者只需使用--set-dscp
命令选项iptables
。
设置 TOS/DSCP 不会直接影响您的流量处理,除非路由器配置为对这些位采取行动,这主要意味着您需要与您的 ISP 沟通(并且可能需要支付一些费用)。