更正 RPi 2 中 QoS 的 iptables 设置?
Correct iptables settings for QoS in RPi 2?
我的 Raspberry Pi 2 配置为接入点,使用以下 iptables
设置:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
我正在使用 libnetfilter_queue
库的 Python 绑定。
我正在尝试对我收到的每个数据包的源端口(使用 -j NFQUEUE --queue-num x
规则)进行基本的 Qos 读取(成功),并取决于从端口 25、80 或端口发送的数据包5060 我可能会延迟或立即发送数据包。
我的问题是:最后两条规则中的哪条应该应用于 NFQUEUE
目标?
直到现在我只将数据包放在 --queue-num
从 wlan0
到 eth0
,但我想没有必要将 NFQUEUE
目标应用于最后一条规则也监控从 eth0
到 wlan0
的数据包...对吗?
如果您尝试对从 Internet 服务器(SMTP、HTTP、SIP)返回的数据包进行 QoS,您将需要 NFQUEUE 第二条规则。这将使您从 eth0(您的有线接口)进入的 QoS 数据包在发送到您的无线接口(wlan0)之前。
如果你想 QoS 数据包双向传输,你可以在没有 -i
和 -o
标志的情况下执行相同的规则,然后根据 -o
标志的结果在用户空间中进行匹配=12=] 和 nfq_get_outdev
函数。
编辑
我应该再补充一点。
您决定 QoS 的方向将取决于您试图获得的内容。如果你想确保你的树莓派从它的 eth0 接口发出的所有数据包都没有被上游 (ISP) router/modem 限制,你应该对从 wlan0 到 eth0 的数据包进行 QoS。如果您更关心降低无线端的争用(即减少重传),您应该在另一个方向(eth0 到 wlan0)进行 QoS。
我的 Raspberry Pi 2 配置为接入点,使用以下 iptables
设置:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
我正在使用 libnetfilter_queue
库的 Python 绑定。
我正在尝试对我收到的每个数据包的源端口(使用 -j NFQUEUE --queue-num x
规则)进行基本的 Qos 读取(成功),并取决于从端口 25、80 或端口发送的数据包5060 我可能会延迟或立即发送数据包。
我的问题是:最后两条规则中的哪条应该应用于 NFQUEUE
目标?
直到现在我只将数据包放在 --queue-num
从 wlan0
到 eth0
,但我想没有必要将 NFQUEUE
目标应用于最后一条规则也监控从 eth0
到 wlan0
的数据包...对吗?
如果您尝试对从 Internet 服务器(SMTP、HTTP、SIP)返回的数据包进行 QoS,您将需要 NFQUEUE 第二条规则。这将使您从 eth0(您的有线接口)进入的 QoS 数据包在发送到您的无线接口(wlan0)之前。
如果你想 QoS 数据包双向传输,你可以在没有 -i
和 -o
标志的情况下执行相同的规则,然后根据 -o
标志的结果在用户空间中进行匹配=12=] 和 nfq_get_outdev
函数。
编辑
我应该再补充一点。
您决定 QoS 的方向将取决于您试图获得的内容。如果你想确保你的树莓派从它的 eth0 接口发出的所有数据包都没有被上游 (ISP) router/modem 限制,你应该对从 wlan0 到 eth0 的数据包进行 QoS。如果您更关心降低无线端的争用(即减少重传),您应该在另一个方向(eth0 到 wlan0)进行 QoS。