фигня с dummynet

Технические вопросы по UTM 5.0
Ответить
Роман
Сообщения: 265
Зарегистрирован: Вс май 08, 2005 00:55
Откуда: MSK

фигня с dummynet

Сообщение Роман »

Ребята, есть ли у кого-нибудь пример nat_ng + pipe на внешнем интерфейсе.
что-то не могу заставить шейпить исходящий трафик - входящий шейпит (если перенести на внутренний интерфейс, то шейпится все как положено)


mkpeer ipfw: nat 60 out
name ipfw:60 nat
connect ipfw: nat: 61 in
msg nat: setaliasaddr внешний_ip

/sbin/ipfw add 1000 netgraph 61 all from any to any in via внешний_ip
/sbin/ipfw add 1010 netgraph 60 all from any to any out via внешний_ip

ipfw pipe 2000 config bw 128Kbit/s
ipfw add 2000 pipe 2000 ip from any to IP/MASK in via внешний_ip
ipfw add 2000 pipe 2000 ip from IP/MASK out via веешний_ip



IP/MASK - внутренний IP

на меня проходит все оки, от меня не шейпит - перепробовал все комбинации уже, и ничего

PS: fw.one_pass=0


поделитесь примерчиками если не затруднит.


мой список прохождения (em2= внешний интерфейс):

[root@nat ~]# ipfw show
00300 13947 8308069 netgraph 61 ip from any to any in via em2
00400 15343 5124168 netgraph 60 ip from any to any out via em2
00900 378 28873 allow ip from any to me
00900 10849 2540451 allow ip from me to any
01000 175 12332 allow ip from 192.168.1.8 to me via em2
01000 29 1973 allow ip from me to 192.168.1.8 via em2
01000 13 1767 allow udp from 195.225.130.2 53 to me via em2
01000 0 0 allow udp from me to 192.225.130.2 dst-port 53 via em2
05005 1484 1154592 pipe 5005 ip from any to 10.10.11.99 in via em2
05005 0 0 pipe 5005 ip from 10.10.11.99 to any out via em2
05005 46 4977 pipe 100 icmp from any to 10.10.11.99 in via em2
05005 0 0 pipe 100 icmp from 10.10.11.99 to any out via em2
05005 1686 250295 allow ip from 10.10.11.99 to any
05005 2968 2309184 allow ip from any to 10.10.11.99
65535 1326 130763 deny ip from any to any


PS:
правила 900 перенес вниз, после этого стало проходить до пайпа out,
но сам pipe out работает только с IP внешнего интерфейса.... :(

получается что правила pipe на out нужно переносить до NAT - что непонятно как реализовать с привязкой в UTM5

Роман
Сообщения: 265
Зарегистрирован: Вс май 08, 2005 00:55
Откуда: MSK

Сообщение Роман »

Ребят, рад конечно в Вы меня поддержали, но разобрался сам путем переноса всех правил в tables и выноса исходящего трафика перед NAT.

так что сейчас работает связка:

ng_nat (PAT), ng_nat (STATIC), ng_netflow, ng_car для шейпа (решил что на внешке будет столько же гемора как и с dummynet и выбрал в пользу быстродействия)

жаль что ng_nat не поддерживает динамическую трансляцию адресов в пул :)

Роман
Сообщения: 265
Зарегистрирован: Вс май 08, 2005 00:55
Откуда: MSK

Сообщение Роман »

кому необходимо выложу конфиги + тестовый скрипт для создания тарифов ng_car. 50 штук максимум. 128 - ограничение по таблицам в ipfw

South
Сообщения: 21
Зарегистрирован: Чт фев 12, 2009 14:12
Откуда: С-Петербург
Контактная информация:

Приветы

Сообщение South »

Приветы

Поделись плиз конфигами и скриптом для ng_car.

JAO
Сообщения: 1153
Зарегистрирован: Вт дек 11, 2007 08:17

Сообщение JAO »

У меня есть трансляция адресов в пул через ng_nat, но не динамическая, а статическая. Чего ради ее динамическую делать? Нарубил сети по размеру пула (у меня /29), сложил в таблицу и в путь со свистом. Есть также и нарезка через ng_car, да такая, на которую две таблицы всего надо.

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

JAO, насчет нарезки - делись алгоритмой. А вот нединамическая - эт понятно... Кстати, вопрос попутно - алиасы на ифейсе при ng_nat нужны или оно само умудряется деалиас входящих провести без соотв адреса на интерфейсе?

JAO
Сообщения: 1153
Зарегистрирован: Вт дек 11, 2007 08:17

Сообщение JAO »

Распишу чуть позже. А для деалиаса достаточно вывесить адрес по ARP со словом pub. Можно и без этого, но тогда маршрут должен быть известен, прописан статиком или через OSPF. Иначе из инета ничего не придет на пул.

JAO
Сообщения: 1153
Зарегистрирован: Вт дек 11, 2007 08:17

Сообщение JAO »

Реализуется нарезка так.

Скрипт управления доступом создает одну ноду ng_car на один IP адрес, нода программируется в режим 2 на требуемую скорость. Далее формируется пара статических числовых идентификаторов, которые являются зацепками (хуками) к ng_ipfw. К первому прицепляется хук upper ng_car, а ко второму - хук lower. После этого в одну таблицу ставится адрес и первый идентификатор как аргумент, а во вторую - тот же адрес со вторым идентификатором в качестве аргумента. Вся нарезка выполняется двумя правилами:

netgraph tablearg all from table(1) to any out xmit (внешний интерфейс)
netgraph tablearg all from any to table(2) out xmit (внутренний интерфейс)

или для сквозного трафика

netgraph tablearg all from table(1) to any out recv (внутренний) xmit (внешний)
netgraph tablearg all from any to table(2) out recv (внешний) xmit (внутренний)

Ответить