Ilya Evseev Опубликовано 24 октября, 2011 · Жалоба P.S. У меня на машинке с PF NAT, ng_netflow и ipfw для шейпинга вечером стабильно упирается в процессор (Core2Duo): #netstat -i -I vlan3050 -dh 1 input (vlan3050) output packets errs idrops bytes packets errs bytes colls drops 34K 0 0 17M 37K 0 33M 0 0 Настраивал прямыми руками? 33M = 256mbps. Даже dualcore с набортными броадкомами прокачает больше. И как назло, из ядра убрал hwpc-интерфейс профайлера, так что и модуль не подгрузить :( Вообще-то hwpmc. Чрезмерное увлечение кастрацией ядра до добра никогда не доводит. cd /usr/src/sys/modules/hwpmc make kldload ./hwpmc.ko не пробовал? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
andriko Опубликовано 25 октября, 2011 · Жалоба Вместо навешивания на lo0 айпишников лучше использовать route add -net ваша_сеть -blackhole. Если только, конечно, вы таким навешиванием не решаете для себя вопрос динамического определения nat-серверов с редистрибьюцией в OSPF. andriko, а ICMP у вас так в nat заходят? заходит и выходит, -blackhole тож есть 8.2-RELEASE-p3 GENERIC ipfw, ipfw.ko и ipfw_nat.ko пересобраны с NAT_BUF_LEN 32*1024 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Dyr Опубликовано 25 октября, 2011 · Жалоба 33M = 256mbps. Даже dualcore с набортными броадкомами прокачает больше. Это с шейпером, без шейпера прокачивает 70kpps (600mbps). kldload ./hwpmc.ko не пробовал? Пробовал, естественно. Oct 25 10:23:27 Stella kernel: link_elf_obj: symbol linker_hwpmc_list_objects undefined Oct 25 10:23:27 Stella kernel: linker_load_file: Unsupported file type Ему в ядре нужно :(. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
zlolotus Опубликовано 25 октября, 2011 · Жалоба Попробуйте ipfw nat Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Dyr Опубликовано 25 октября, 2011 · Жалоба Если это мне, то да, в планах. ipfw бы ещё научится синхронизировать states, как pfstated... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
John_obn Опубликовано 27 октября, 2011 · Жалоба В посте №20 предлагается разделять серые ip на некие группы, каждая из которых будет натиться в определенный белый ip. Я так понимаю, что в ipfw nat пока нет полноценной возможности сделать nat в пул? Все таки неудобно разбивать серые адреса на группы. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 27 октября, 2011 · Жалоба Отдавайте белые, по дхцп или пппХ. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Dyr Опубликовано 27 октября, 2011 · Жалоба Вопрос про Фому, ответ про Ерёму. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vurd Опубликовано 28 октября, 2011 (изменено) · Жалоба Значит с учетом всех модификаций получаем такой скрипт для /24 -> /32 #Some variables IP123="XXX.YYY.ZZZ" < - 3 первых байта внешних адресов (99.124.65) GRAYIP="XXX.YYY" <- 2 первых байта серой подсети (172.16) OUT_VLAN="vlanX" <- Выходной интерфейс (vlan99) NATIPFW_RULE=30000 <- Номер правила в ipfw TABLE_NAT_IN=100 <- Номер таблицы серых подсетей TABLE_NAT_OUT=101 <- Номер таблицы реальников #Null0 routed NAT network /sbin/route add -net $IP123.0/24 -blackhole #Ipfw::NAT config with table /sbin/ipfw table $TABLE_NAT_IN flush /sbin/ipfw table $TABLE_NAT_OUT flush IP4=1 SEGIP3=0 while [ $IP4 -le 254 ] do NATNUM=`expr $NATBASE + $IP4` /sbin/ipfw nat $NATNUM config ip $IP123.$IP4 reset unreg_only same_ports deny_in /sbin/ipfw table $TABLE_NAT_OUT add $IP123.$IP4 $NATNUM /sbin/ipfw table $TABLE_NAT_IN add $GRAYIP.$SEGIP3.0/24 $NATNUM IP4=`expr $IP4 + 1` SEGIP3=`expr $SEGIP3 + 1` done /sbin/ipfw add $NATIPFW_RULE nat tablearg ip from "table($TABLE_NAT_IN)" to any out via $OUT_VLAN /sbin/ipfw add $NATIPFW_RULE nat tablearg ip from any to "table($TABLE_NAT_OUT)" in via $OUT_VLAN Изменено 28 октября, 2011 пользователем vurd Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
andriko Опубликовано 28 октября, 2011 · Жалоба Значит с учетом всех модификаций получаем такой скрипт для /24 -> /32 #Some variables IP123="XXX.YYY.ZZZ" < - 3 первых байта внешних адресов (99.124.65) GRAYIP="XXX.YYY" <- 2 первых байта серой подсети (172.16) OUT_VLAN="vlanX" <- Выходной интерфейс (vlan99) NATIPFW_RULE=30000 <- Номер правила в ipfw TABLE_NAT_IN=100 <- Номер таблицы серых подсетей TABLE_NAT_OUT=101 <- Номер таблицы реальников #Null0 routed NAT network /sbin/route add -net $IP123.0/24 -blackhole #Ipfw::NAT config with table /sbin/ipfw table $TABLE_NAT_IN flush /sbin/ipfw table $TABLE_NAT_OUT flush IP4=1 SEGIP3=0 while [ $IP4 -le 254 ] do NATNUM=`expr $NATBASE + $IP4` /sbin/ipfw nat $NATNUM config ip $IP123.$IP4 reset unreg_only same_ports deny_in /sbin/ipfw table $TABLE_NAT_OUT add $IP123.$IP4 $NATNUM /sbin/ipfw table $TABLE_NAT_IN add $GRAYIP.$SEGIP3.0/24 $NATNUM IP4=`expr $IP4 + 1` SEGIP3=`expr $SEGIP3 + 1` done /sbin/ipfw add $NATIPFW_RULE nat tablearg ip from "table($TABLE_NAT_IN)" to any out via $OUT_VLAN /sbin/ipfw add $NATIPFW_RULE nat tablearg ip from any to "table($TABLE_NAT_OUT)" in via $OUT_VLAN у Вас получается 172.16.0.0/24 -> 99.124.65.1 ... 172.16.254.0/24 -> 99.124.65.255 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vlad11 Опубликовано 31 января, 2014 · Жалоба у Вас получается 172.16.0.0/24 -> 99.124.65.1 ... 172.16.254.0/24 -> 99.124.65.255 -SEGIP3=0 -/sbin/ipfw table $TABLE_NAT_IN add $GRAYIP.$SEGIP3.0/24 $NATNUM +/sbin/ipfw table $TABLE_NAT_IN add $GRAYIP.$IP4.0/24 $NATNUM -SEGIP3=`expr $SEGIP3 + 1` Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...