Дополнение. Хост - виртуалка под vmware esxi.
dev.em.0.%desc: Intel(R) PRO/1000 Legacy Network Connection 1.0.6 dev.em.0.%driver: em dev.em.0.rx_int_delay: 1000 dev.em.0.tx_int_delay: 1000 dev.em.0.rx_abs_int_delay: 4000 dev.em.0.tx_abs_int_delay: 4000 dev.em.0.itr: 488 dev.em.0.rx_processing_limit: 4096 dev.em.0.flow_control: 3 dev.em.0.mbuf_alloc_fail: 0 dev.em.0.cluster_alloc_fail: 0 dev.em.0.dropped: 0 > -----Original Message----- > From: owner-free...@uafug.org.ua [mailto:owner-free...@uafug.org.ua] > On Behalf Of Golub Mikhail > Sent: Wednesday, March 04, 2015 11:17 AM > To: freebsd@uafug.org.ua > Subject: [freebsd] FreeBSD 10.1: PF bug? > > Добрый день. > > Имеем FreeBSD 10.1, один сетевой интерфейс. > Ядро собрано с поддержкой altq. > options ALTQ > options ALTQ_CBQ # Class Bases Queuing (CBQ) > options ALTQ_RED # Random Early Detection (RED) > options ALTQ_RIO # RED In/Out > options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC) > options ALTQ_PRIQ # Priority Queuing (PRIQ) > options ALTQ_NOPCC # Required for SMP build > > Сервер выполняет роль прокси-сервера. > На нем работает squid, который согласно правил метит пакеты (по сути > две > очереди - низкий приоритет и высокий). > Правила PF приведены ниже. > > Суть бага в том, что при закачке файла через прокси случайно > обрываются > закачки. > Internet Explorer выдает сообщение "закачка прервана". Если > перезапустить > закачку - типа скачивание закончилось успешно, но размер файла > гораздо > меньше. > Для теста качал файл со своего web-ресурса. > > Нагрузка на прокси не сильно большая ... > Порядка 15 000 пакетов в секунду на интерфейсе, скорость до 100 > Мбит/сек. > > Что касается сквида - кеш отключен. Сквид используется только для > контроля > доступа и логирования http-запросов. > client_http.requests = 260.499224/sec > server.all.errors = 0.000000/sec > В cache.log ошибок нет. > Экспериментально выяснил, что ошибка не сквида - отключил pf (pfctl - > d) и > обрывы прекратились. > > Вопрос вот в чем. > Что-то не так в правилах PF? > Или в этой версии FreeBSD есть баг в altq? > > Правила PF: > inet="100Mb" > altq on $ext_if cbq bandwidth $inet queue { ssh, Default, High, Low } > queue Default on $ext_if bandwidth 15% priority 1 cbq ( red , default , > borrow ) > queue ssh on $ext_if bandwidth 5% priority 1 cbq ( red , borrow ) > queue High on $ext_if bandwidth 40% priority 3 cbq ( red , borrow ) > queue Low on $ext_if bandwidth 40% priority 2 cbq ( red , borrow ) > > pass out quick on $ext_if proto {tcp} from any port 22 to any no state queue > (ssh) > pass out quick on $ext_if proto {tcp} from any to any tos 0x31 no state > queue (High) > pass out quick on $ext_if proto {tcp} from any to any tos 0x32 no state > queue (Low) > > > -- > Голуб Михаил