The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"IPFW не режет скорость"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Открытые системы на рабочей станции (Public)
Изначальное сообщение [ Отслеживать ]

"IPFW не режет скорость"  
Сообщение от stufford email(ok) on 04-Мрт-08, 02:22 
Доброго времени суток. Задача такая: есть локальная сеть: 10.10.16.0, есть сеть провайдера: 192.168.7.0. стоит сервер маршрутизации на FreeBSD c mpd5. Все подключается. NAT работает. но вот только скорость не режет. надо на каждого пользователя резать скорость. у всех скорость должна соответствовать тарифному плану. В конфиге вписан только один пользователь для теста.

в ipfw пишу вот так:

#!/bin/sh
ipfw='/sbin/ipfw -q'

VPN="172.146.16.0" #Виртуальная внп-сеть
NetIn="10.10.16.0"    # Внутренняя сеть
NetMask="24"            # маска сети
IpOut="192.168.7.217" # внешний IP адрес машины
LanOut="rl0"            # внешний интерфейс
LanIn="rl1"             # внутренний интерфейс

${ipfw} -f flush
${ipfw} add check-state

${ipfw} add divert natd ip from ${VPN}/${NetMask} to any out via ${LanOut}
${ipfw} add divert natd ip from any to ${IpOut} in via ${LanOut}
${ipfw} add allow udp from any 53 to any via ${LanOut}
${ipfw} add allow tcp from any to any established
${ipfw} add allow udp from any 53 to any via ${LanOut}
${ipfw} add allow udp from any to any 123 via ${LanOut}

${ipfw} -f pipe flush

${ipfw} add pipe 3 ip from any to 172.146.16.21 in
${ipfw} add pipe 3 ip from 172.146.16.21 to any out
${ipfw} pipe 3 config bw 1Mbit/s queue 10

${ipfw} add allow ip from any to any

скорость не режет... хоть убей.. в ядре прописано DUMMYNET... помогите разобраться в чем проблема. Заранее спасибо


Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "IPFW не режет скорость"  
Сообщение от MOV_ah email on 04-Мрт-08, 09:01 
Дык.
У Вас сначала пакеты проходят через divert, на котором, видимо, висит nat. Следовательно, при втором прохождении пакета source-address будет уже не 172.146.16.21, а тот, в который вы натите.
И, вполне естественно, что в пайпы пакеты не попадут - под условие не подходит.
Ставьте пайп до диверта.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "IPFW не режет скорость"  
Сообщение от stufford email(ok) on 04-Мрт-08, 12:20 
>Дык.
>У Вас сначала пакеты проходят через divert, на котором, видимо, висит nat.
>Следовательно, при втором прохождении пакета source-address будет уже не 172.146.16.21, а
>тот, в который вы натите.
>И, вполне естественно, что в пайпы пакеты не попадут - под условие
>не подходит.
>Ставьте пайп до диверта.

Хм... если я не ошибаюсь - правила читаются с конца. И в таком случае они стоят до диверта.
Но тем не менее, я сделал так как Вы посоветовали - не помогло.. да и вообще натится перестало....

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "IPFW не режет скорость"  
Сообщение от MOV_ah email on 04-Мрт-08, 12:23 
sysctl -a | grep net.inet.ip.fw.one_pass ?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "IPFW не режет скорость"  
Сообщение от stufford email(ok) on 04-Мрт-08, 12:44 
>sysctl -a | grep net.inet.ip.fw.one_pass ?

net.inet.ip.fw.one_pass: 1

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "IPFW не режет скорость"  
Сообщение от MOV_ah email on 04-Мрт-08, 12:52 
Цитирую http://www.opennet.me/docs/RUS/ipfw/ipfw.html:

net.inet.ip.fw.one_pass: 1 Когда установлено, пакет, выходящий из потока dummynet, не проходит через брандмауэр повторно, В противном случае, после обработки канала пакет повторно вводится в брандмауэр по следующему правилу.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "IPFW не режет скорость"  
Сообщение от stufford email(ok) on 04-Мрт-08, 12:59 
>Цитирую http://www.opennet.me/docs/RUS/ipfw/ipfw.html:
>
>net.inet.ip.fw.one_pass: 1 Когда установлено, пакет, выходящий из потока dummynet, не проходит через
>брандмауэр повторно, В противном случае, после обработки канала пакет повторно вводится
>в брандмауэр по следующему правилу.

Хм :) Вроде вижу решение... вот только пока не пойму как реализовать :) Я еще не владею фрибсд даже на уровне пользователя уверенного :) Так вот, как изменить значение net.inet.ip.fw.one_pass на 0 ?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "IPFW не режет скорость"  
Сообщение от MOV_ah email on 04-Мрт-08, 13:03 
Вообще, man sysctl, конечно :)

sysctl net.inet.ip.fw.one_pass=0 от рута.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "IPFW не режет скорость"  
Сообщение от stufford email(ok) on 04-Мрт-08, 13:12 
>Вообще, man sysctl, конечно :)
>
>sysctl net.inet.ip.fw.one_pass=0 от рута.

спасибо :) Проблема вроде решилась!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "IPFW не режет скорость"  
Сообщение от MOV_ah email on 04-Мрт-08, 13:17 
Пожалуйста :)


>Хм... если я не ошибаюсь - правила читаются с конца.

Забыл отписаться - ошибаетесь. В противном случае у Вас срабатывало бы первым делом
>${ipfw} add allow ip from any to any

и все остальные правила были бы не задействованными.
А, т.к. у ipfw последним правилом всегда стоит или allow ip from any to any или deny ip from any to any (смотря с какими опциями ядро собрано), а оба эти правила (allow, deny) являются терминирующими, то, если исходить из Вашего предположения, то смысла в фаерволе нет вообще никакого. И nat бы не работал в том числе.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "IPFW не режет скорость"  
Сообщение от stufford email(ok) on 04-Мрт-08, 13:29 
>[оверквотинг удален]
>делом
>>${ipfw} add allow ip from any to any
>
>и все остальные правила были бы не задействованными.
>А, т.к. у ipfw последним правилом всегда стоит или allow ip from
>any to any или deny ip from any to any (смотря
>с какими опциями ядро собрано), а оба эти правила (allow, deny)
>являются терминирующими, то, если исходить из Вашего предположения, то смысла в
>фаерволе нет вообще никакого. И nat бы не работал в том
>числе.

тоже верно ;)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "IPFW не режет скорость"  
Сообщение от stufford email(ok) on 04-Мрт-08, 14:58 
нет, все таки проблема не решилась... :( поставил пайпы до диверта. и нифига.. не режет :(
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "IPFW не режет скорость"  
Сообщение от stufford email(ok) on 04-Мрт-08, 16:10 
В общем резать начал, но не верно. ставлю 1 мбит, а режет на 2, ставлю 256 кбит, а режет на 500. Помогите разобраться. Спасибо.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "IPFW не режет скорость"  
Сообщение от stufford email(??) on 06-Мрт-08, 13:25 
>В общем резать начал, но не верно. ставлю 1 мбит, а режет
>на 2, ставлю 256 кбит, а режет на 500. Помогите разобраться.
>Спасибо.

Хелп, проблема существует! :(

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "IPFW не режет скорость"  
Сообщение от Touch on 06-Мрт-08, 14:25 
>>В общем резать начал, но не верно. ставлю 1 мбит, а режет
>>на 2, ставлю 256 кбит, а режет на 500. Помогите разобраться.
>>Спасибо.
>
>Хелп, проблема существует! :(

http://ipfw.ism.kiev.ua/

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "IPFW не режет скорость"  
Сообщение от PeNDaL (ok) on 27-Мрт-08, 10:14 
Не мучайся!
Я так понимаю биллинг стоит?

1.Научи свой радиус, чтоб мог понимать mpd
# cat dictionary
ATTRIBUTE       mpd-rule        1       string          mpd
ATTRIBUTE       mpd-pipe        2       string          mpd
ATTRIBUTE       mpd-queue       3       string          mpd

2.После укажи в базе своих тарифов, в соответствии со скоростью
(mpd может передавать правила ipwf)

Acct-Interim-Interval = 60, Service-Type = Framed-User, mpd-pipe += '1=bw 526Kbit/s', mpd-pipe += '5=bw 526Kbit/s', mpd-rule += '1=pipe %p1 tcp from any to any in', mpd-rule += '2=pipe %p5 tcp from any to any out'


3.После этого должно получится
ipfw list | grep pipe
10000 pipe 10000 tcp from any to any in via ng1
10001 pipe 10001 tcp from any to any out via ng1
10002 pipe 10002 tcp from any to any in via ng8
10003 pipe 10003 tcp from any to any out via ng8
10004 pipe 10004 tcp from any to any in via ng10
10005 pipe 10005 tcp from any to any out via ng10
10006 pipe 10006 tcp from any to any in via ng2
10007 pipe 10007 tcp from any to any out via ng2
10008 pipe 10008 tcp from any to any in via ng9
10009 pipe 10009 tcp from any to any out via ng9
10012 pipe 10012 tcp from any to any in via ng5
10013 pipe 10013 tcp from any to any out via ng5
10014 pipe 10014 tcp from any to any in via ng15
10015 pipe 10015 tcp from any to any out via ng15
10030 pipe 10030 tcp from any to any in via ng21
10031 pipe 10031 tcp from any to any out via ng21

Прошу заметить, что шейпится интерфейс и не нужно себе ломать голову с подсетями и ip. В данном методе назначай ip какие хочешь

p.s. Извените за столь скудное описание! Небыло времени! Данное описание подходит для связки FREENIBS1.9+FREERADIUS1.1.7+MPD4.4+IPFW

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру