Исправить настройки iptables для QoS в 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

Я использую привязку Python libnetfilter_queue библиотека.

Я пытаюсь сделать элементарное чтение Qos (с успехом) исходный порт каждого пакета, который я получаю (с -j NFQUEUE --queue-num x правило), и в зависимости от пакета, отправленного с порта 25, 80 или 5060, я могу задержать или отправить пакет немедленно.

У меня вопрос: какое из двух последних правил должно применяться к NFQUEUE цель?

До сих пор я только кладу пакеты в --queue-num от wlan0 в eth0, но я думаю, что нет необходимости применять NFQUEUE цель до последнего правила тоже и мониторинг пакетов от eth0 в wlan0...право?

1 ответ

Решение

Если вы пытаетесь получить пакеты QoS, возвращающиеся с интернет-серверов (SMTP, HTTP, SIP), вам нужно NFQUEUE 2-е правило. Это позволит вам получать пакеты QoS, поступающие от eth0 (вашего проводного интерфейса), прежде чем они будут отправлены на ваш беспроводной интерфейс (wlan0).

Если вы хотите, чтобы пакеты QoS проходили в обоих направлениях, вы можете сделать то же правило без -i а также -o флаги, а затем выполнить сопоставление в пользовательском пространстве на основе результатов nfq_get_indev а также nfq_get_outdev функции.

РЕДАКТИРОВАТЬ

Я должен добавить еще один момент.

Направление (ы), которые вы решите выбрать для QoS, будет зависеть от того, что вы пытаетесь получить. Если вы хотите убедиться, что все пакеты, которые ваш RPi отправляет на свой интерфейс eth0, не регулируются вышестоящим (ISP) маршрутизатором / модемом, вам следует QoS пакеты, идущие от wlan0 к eth0. Если вас больше беспокоит снижение конкуренции за беспроводную связь (т. Е. Уменьшение количества повторных передач), вам следует выполнить QoS в другом направлении (от eth0 до wlan0).

Другие вопросы по тегам