Forest Posted September 23, 2004 Posted September 23, 2004 Доброго времени суток. Который день бьемся над сабжем. Имеем: рутер на 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" канал зарезается, но и соединения не лимитированы. Вставить ник Quote
repa Posted September 27, 2004 Posted September 27, 2004 Посмотри в мане на ipfw описание ситемной переменной касающейся onepass или что- то вроде того. Установи в "0" переменную. Перевеши правила. Все будет на много понятней и самое главное работать. Судя по твоим правилам, ман ты, скорее всего, не читал. Внимательно перечитай его!!! Вставить ник Quote
Forest Posted September 27, 2004 Author Posted September 27, 2004 Ман читал, net.inet.ip.fw.one_pass ставил в значение 0, не помогает, весь трафик по прежнему попадает в правила зарезки сессий, через трубы ничего не проходит. Так же пробывал добавлять limit на трубы исходящего трафика, пакеты тогда попадают только в эти трубы, полоса соответственно не режется. Вобщем по отдельности все работает (или только режем полосу, или только сессии), вместе не хотят. Вставить ник Quote
repa Posted September 27, 2004 Posted September 27, 2004 Одной установки меременной net.inet.ip.fw.one_pass недостаточно. Теперь нужно переписать правила. Смысл этой переменной в том, что проверка пакета на возможность передачи (ограничения сесий) продожается и далее после правила содержащиго pipe. Таки образом костяк правила должен выглядить следующим образом. 1. pipe 2. зарезка по количеству сесий 3. правило о ширене pipe pipe достаточно указать одну на всех пользователей. Только не забуть про маску при меняюмую к адресу пользователя. Примеры смотри в мане. Возможно, не проверял, такиме же образом (я говорю о маске) можно создать одно правило и на всех пользователей по зарезке количества сесий. Вставить ник Quote
repa Posted September 27, 2004 Posted September 27, 2004 Одкажись от указания в правилах фаервола направления пакета (IN и OUT). Их применение в схеме о которой я говорю, есть вопрос оптимизации фаервола. Но никак не необходимость. Как добьешься результатов, можешь по-экспериментировать с направлением пакетов. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.