Jump to content

Recommended Posts

Posted

Доброго времени суток.

Который день бьемся над сабжем.

Имеем: рутер на 2 интерфейса.

Необходимо: дать каждому пользователю канал 256Kbit/s (in/out) и ограничить количество соединений в мир.

Вот правила:

 

## user 1

ipfw add 15000 pipe 1 ip from any to 10.0.1.251 in

ipfw add 15001 pipe 2 ip from 10.0.1.251 to any out

ipfw pipe 1 config bw 256Kbit/s

ipfw pipe 2 config bw 256Kbit/s

ipfw add 20000 allow ip from any to 10.0.1.251 in

ipfw add 20001 allow ip from 10.0.1.251 to any limit src-addr 15 out

 

## user 2

ipfw add 25000 pipe 3 ip from any to 10.0.1.252 in

ipfw add 25001 pipe 4 ip from 10.0.1.252 to any out

ipfw pipe 3 config bw 256Kbit/s

ipfw pipe 4 config bw 256Kbit/s

ipfw add 30000 allow ip from 10.0.1.252 to any limit src-addr 15 out

ipfw add 30001 allow ip from any to 10.0.1.252 in

 

У user 1 все работает, канал и количество коннектов лимитируется.

У user 2 канал не режется, убираем из правила 30000 "limit src-addr 15" канал зарезается, но и соединения не лимитированы.

Posted

Посмотри в мане на ipfw описание ситемной переменной касающейся onepass или что- то вроде того. Установи в "0" переменную. Перевеши правила. Все будет на много понятней и самое главное работать.

 

Судя по твоим правилам, ман ты, скорее всего, не читал. Внимательно перечитай его!!!

Posted

Ман читал, net.inet.ip.fw.one_pass ставил в значение 0, не помогает, весь трафик по прежнему попадает в правила зарезки сессий, через трубы ничего не проходит.

Так же пробывал добавлять limit на трубы исходящего трафика, пакеты тогда попадают только в эти трубы, полоса соответственно не режется.

Вобщем по отдельности все работает (или только режем полосу, или только сессии), вместе не хотят.

Posted

Одной установки меременной net.inet.ip.fw.one_pass недостаточно. Теперь нужно переписать правила.

 

Смысл этой переменной в том, что проверка пакета на возможность передачи (ограничения сесий) продожается и далее после правила содержащиго pipe.

 

Таки образом костяк правила должен выглядить следующим образом.

1. pipe

2. зарезка по количеству сесий

3. правило о ширене pipe

 

pipe достаточно указать одну на всех пользователей. Только не забуть про маску при меняюмую к адресу пользователя. Примеры смотри в мане.

 

Возможно, не проверял, такиме же образом (я говорю о маске) можно создать одно правило и на всех пользователей по зарезке количества сесий.

Posted

Одкажись от указания в правилах фаервола направления пакета (IN и OUT). Их применение в схеме о которой я говорю, есть вопрос оптимизации фаервола. Но никак не необходимость. Как добьешься результатов, можешь по-экспериментировать с направлением пакетов.

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 и с Политикой конфиденциальности.