Jump to content

Recommended Posts

Posted (edited)

Всех приветствую.

 

Столкнулся со следующей проблемкой: сделал 4 виртуальных интерфейса imq0 imq1 imq2 imq3, первые два работают уже год на благо QoS аплинка для vpn-щиков. Вторые два (imq2, imq3) пытаюсь со вчерашнего дня прикрутить для целей шейпа ipoe юзеров (да, да, только сейчас начали переходить потихоньку). На этой же машине NAT - это и является причиной использования IMQ, к сожалению, других вариантов пока нет.

Итак, интерфейсы по команде ip link set imq[2|3] up поднимаются, в iptables стоят соотв. правила

$IPT -t mangle -A PREROUTING -i $IF_LAN -m set --set IPOEUSERNETS src -j IMQ --todev 3
$IPT -t mangle -A POSTROUTING -o $IF_LAN -m set --set IPOEUSERNETS dst -j IMQ --todev 2

По правилам счётчики пакетов шевелятся, а вот на интерфейсах по команде ifconfig imq2 или imq3 счётчики стоят в нулях.

 

Пробую экспериментировать: убираю полностью использование QoS на imq0 и imq1 и отдаю их под мой новый шейпер и всё зашевелилось. Скорость у абонентов режется туда сюда отлично! Отсюда делаю предварительный вывод, что проблема в количестве этих самых устройств, прописываю в /etc/modules imq numdevs=4, перезагружаю модуль и все свои настройки (снова с 4-мя устройствами) - а не тут-то было, снова ничего не работает...

 

Коллеги, подскажите, в чём может быть дело? Если нужны какие-нибудь ещё данные по моей конфигурации для уточнения, спрашивайте. Буду рад любым комментариям.

Edited by lan-viper
Posted

к сожалению, других вариантов пока нет.

Как это нет? А ifb?

Меня вообще удивляет, почему все так уверены, что ifb+nat не будет работать. Нужно redirect делать с внутреннего интерфейса, и можно будет фильтровать по серым адресам.

Posted

к сожалению, других вариантов пока нет.

Как это нет? А ifb?

Меня вообще удивляет, почему все так уверены, что ifb+nat не будет работать. Нужно redirect делать с внутреннего интерфейса, и можно будет фильтровать по серым адресам.

А мне imq больше нравится. )))

 

Немного разобрался со своей проблемой, оказалось, что уткнулся в неприятную особенность работы модуля для iptables (причём в забугорном инете тоже попадались теже самые симптомы, проблему в явном виде так никто там и не решил...).

 

Я думал сделать так (часть правил для исходящего трафика):

$IPT -t mangle -A PREROUTING -i $IF_LAN -m set --set IPOEUSERIPS src -j IMQ --todev 3
$IPT -t mangle -A PREROUTING -i $IF_LAN -m set --set IPOEUSERNETS src -j IMQ --todev 3
$IPT -t mangle -A PREROUTING -i $IF_LAN -m set --set IPOEUSERIPS src -j IMQ --todev 1
$IPT -t mangle -A PREROUTING -i $IF_LAN -m set --set IPOEUSERNETS src -j IMQ --todev 1
$IPT -t mangle -A PREROUTING -i ppp+ -j IMQ --todev 1

где imq1 - это устройство с дисциплинами для приоритезации общего канала для всех, а imq3 - устройство, где находятся шейпы для счастливых абонентов без vpn-а.

Так вот, петрушка вся в том, что нельзя сделать перенаправление в одной цепочке (в данном случае PREROUTING) для одного конкретного интерфейса ($IF_LAN) на несколько imq устройств. Перенаправление будет работать только для последнего по цепочке правил imq устройства, т.е. imq1. imq3 идёт лесом...

Если оставить следующую цепочку правил, то всё работает:

$IPT -t mangle -A PREROUTING -i $IF_LAN -m set --set IPOEUSERIPS src -j IMQ --todev 3
$IPT -t mangle -A PREROUTING -i $IF_LAN -m set --set IPOEUSERNETS src -j IMQ --todev 3
$IPT -t mangle -A PREROUTING -i ppp+ -j IMQ --todev 1

Вот такие вот пироги. Остались мои ipoe-шники без приоритезации общего канала, а это огорчает...

Posted

Используйте физические интерфейсы для части задачи. Например $IF_LAN для шейпера входящего для абонентов трафика (при этом imqX для приоретизации).

Posted (edited)

Используйте физические интерфейсы для части задачи. Например $IF_LAN для шейпера входящего для абонентов трафика (при этом imqX для приоретизации).

По физ. интерфейсам: допустим, что $IF_WAN - интерфейс аплинка. На нём NAT => на физ интерфейс смысла нет что-либо вешать, т.е. мы лишаемся контроля над исходящим трафиком. Смысл использования IMQ как раз и заключается в том, что мы можем до NAT контролировать трафик с ещё серыми абонентскими адресами.

 

UPD

... хотяя, если речь вести только о приоритезации общего канала, где нет необходимости учёта ip абонентов, то идея с физ интерфейсами годная. Надо подумать.

Edited by lan-viper

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.