RE: [freebsd] FreeBSD 10.1: PF bug?

2015-03-05 Пенетрантность Golub Mikhail
На тестовой виртуалке под vmware esx 5.5u2, гостевая ОС FreeBSD 10.1 x64
Установлен сетевой адаптер vmx3f0.
Установлены vmaware tools.
Сделано так, что при старте системы правила pf не загружаются, сквид не
загружается (для теста).

Загружаю вручную такие правила (взял за основу
https://calomel.org/pf_hfsc.html, пока только тест).
pfctl -f /etc/pf.conf-test

ext_if=vmx3f0
altq on $ext_if bandwidth 90Mb hfsc queue { ack, dns, ssh, web_high,
web_low, bulk}
queue ack bandwidth 30% priority 8 qlimit 500 hfsc (realtime 20%)
queue dns bandwidth 5% priority 7 qlimit 500 hfsc (realtime 5%)
queue ssh bandwidth 5% priority 6 qlimit 500 hfsc (realtime 5%)
{ssh_login, ssh_bulk}
queue ssh_login bandwidth 50% priority 6 qlimit 500 hfsc
queue ssh_bulk bandwidth 50% priority 5 qlimit 500 hfsc
queue bulk bandwidth 10% priority 5 qlimit 500 hfsc (realtime 10%
default)
queue web_high bandwidth 25% priority 4 qlimit 500 hfsc (realtime 20%)
queue web_low  bandwidth 25% priority 3 qlimit 500 hfsc (realtime 20%)
pass out on $ext_if inet proto tcp from ($ext_if) to any flags S/SA modulate
state queue (ack, bulk)
pass out on $ext_if inet proto tcp from ($ext_if) to any port ssh flags S/SA
modulate state queue (ssh_login, ssh_bulk)
pass on $ext_if inet proto udp from any to any modulate state queue (dns)
pass on $ext_if inet proto tcp from any to any port {80,443} tos 0x31 flags
S/SA modulate state queue (web_high, ack)
pass on $ext_if inet proto tcp from any to any port {80,443} tos 0x32 flags
S/SA modulate state queue (web_low, ack)

Запускаю сквид - service squid start
Все работает ... До первого запроса к прокси. И тут получаю core.

Mar  5 10:01:12 vm2 savecore: reboot after panic: page fault
Mar  5 10:01:12 vm2 savecore: writing core to /var/crash/vmcore.2

kgdb kernel.debug /var/crash/vmcore.2

Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address   = 0x38
fault code  = supervisor read data, page not present
instruction pointer = 0x20:0x81b3cfa7
stack pointer   = 0x28:0xfe004e52f250
frame pointer   = 0x28:0xfe004e52f2e0
code segment= base 0x0, limit 0xf, type 0x1b
= DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags= interrupt enabled, resume, IOPL = 0
current process = 0 (vmx3f0 taskq)
trap number = 12
panic: page fault
cpuid = 0
KDB: stack backtrace:
#0 0x809202f0 at kdb_backtrace+0x60
#1 0x808e5415 at panic+0x155
#2 0x80ce13bf at trap_fatal+0x38f
#3 0x80ce16d8 at trap_pfault+0x308
#4 0x80ce0d3a at trap+0x47a
#5 0x80cc6c22 at calltrap+0x8
#6 0x809a5f20 at if_transmit+0x130
#7 0x809a7c8d at ether_output+0x58d
#8 0x80a154db at ip_output+0x115b
#9 0x80a85cbc at tcp_output+0x191c
#10 0x80a82f55 at tcp_do_segment+0x3045
#11 0x80a7f2c4 at tcp_input+0xd04
#12 0x80a114b7 at ip_input+0x97
#13 0x809b09b2 at netisr_dispatch_src+0x62
#14 0x809a7e26 at ether_demux+0x126
#15 0x809a8ace at ether_nh_input+0x35e
#16 0x809b09b2 at netisr_dispatch_src+0x62
#17 0x81b3c820 at vmxnet3_rq_rx_complete+0x3d0
Uptime: 2m1s
Dumping 123 out of 998 MB:..13%..26%..39%..52%..65%..78%..91%

Reading symbols from /boot/kernel/zfs.ko.symbols...done.
Loaded symbols for /boot/kernel/zfs.ko.symbols
Reading symbols from /boot/kernel/opensolaris.ko.symbols...done.
Loaded symbols for /boot/kernel/opensolaris.ko.symbols
Reading symbols from /boot/kernel/ipfw.ko.symbols...done.
Loaded symbols for /boot/kernel/ipfw.ko.symbols
Reading symbols from /boot/kernel/accf_http.ko.symbols...done.
Loaded symbols for /boot/kernel/accf_http.ko.symbols
Reading symbols from /boot/kernel/crypto.ko.symbols...done.
Loaded symbols for /boot/kernel/crypto.ko.symbols
Reading symbols from /boot/modules/vmxnet3.ko...done.
Loaded symbols for /boot/modules/vmxnet3.ko
Reading symbols from /boot/kernel/pflog.ko.symbols...done.
Loaded symbols for /boot/kernel/pflog.ko.symbols
Reading symbols from /boot/kernel/pf.ko.symbols...done.
Loaded symbols for /boot/kernel/pf.ko.symbols
Reading symbols from /boot/modules/vmmemctl.ko...done.
Loaded symbols for /boot/modules/vmmemctl.ko
#0  doadump (textdump=value optimized out) at pcpu.h:219
219 __asm(movq %%gs:%1,%0 : =r (td)




Re: [freebsd] FreeBSD 10.1: PF bug?

2015-03-05 Пенетрантность Mykola Dzham
On 05 Mar 2015, at 10:14, Владимир Друзенко v...@unislabs.com wrote:
 
 05.03.2015 11:38, Golub Mikhail пишет:
 Все дело в vmxnet3.
 Вернул e1000 (em0 в гостевой) - в корку не вылетает.
 
 Дальше теперь только настроить правильно altq.
 
 Пока остановлюсь на этом.
 Всем спасибо за помощь.
 
 -Original Message-
 From: owner-free...@uafug.org.ua [mailto:owner-free...@uafug.org.ua]
 On Behalf Of Golub Mikhail
 Sent: Thursday, March 05, 2015 10:16 AM
 To: freebsd@uafug.org.ua
 Subject: RE: [freebsd] FreeBSD 10.1: PF bug?
 
 На тестовой виртуалке под vmware esx 5.5u2, гостевая ОС FreeBSD 10.1
 x64
 Установлен сетевой адаптер vmx3f0.
 Установлены vmaware tools.
 Сделано так, что при старте системы правила pf не загружаются, сквид не
 загружается (для теста).
 
 Загружаю вручную такие правила (взял за основу
 https://calomel.org/pf_hfsc.html, пока только тест).
 pfctl -f /etc/pf.conf-test
 
 ext_if=vmx3f0
 altq on $ext_if bandwidth 90Mb hfsc queue { ack, dns, ssh, web_high,
 web_low, bulk}
queue ack bandwidth 30% priority 8 qlimit 500 hfsc (realtime 20%)
queue dns bandwidth 5% priority 7 qlimit 500 hfsc (realtime 5%)
queue ssh bandwidth 5% priority 6 qlimit 500 hfsc (realtime 5%)
 {ssh_login, ssh_bulk}
queue ssh_login bandwidth 50% priority 6 qlimit 500 hfsc
queue ssh_bulk bandwidth 50% priority 5 qlimit 500 hfsc
queue bulk bandwidth 10% priority 5 qlimit 500 hfsc (realtime 10%
 default)
queue web_high bandwidth 25% priority 4 qlimit 500 hfsc (realtime 20%)
queue web_low  bandwidth 25% priority 3 qlimit 500 hfsc (realtime 20%)
 pass out on $ext_if inet proto tcp from ($ext_if) to any flags S/SA
 modulate
 state queue (ack, bulk)
 pass out on $ext_if inet proto tcp from ($ext_if) to any port ssh flags
 S/SA
 modulate state queue (ssh_login, ssh_bulk)
 pass on $ext_if inet proto udp from any to any modulate state queue (dns)
 pass on $ext_if inet proto tcp from any to any port {80,443} tos 0x31
 flags
 S/SA modulate state queue (web_high, ack)
 pass on $ext_if inet proto tcp from any to any port {80,443} tos 0x32
 flags
 S/SA modulate state queue (web_low, ack)
 
 Запускаю сквид - service squid start
 Все работает ... До первого запроса к прокси. И тут получаю core.
 
 Mar  5 10:01:12 vm2 savecore: reboot after panic: page fault
 Mar  5 10:01:12 vm2 savecore: writing core to /var/crash/vmcore.2
 
 kgdb kernel.debug /var/crash/vmcore.2
 
 Fatal trap 12: page fault while in kernel mode
 cpuid = 0; apic id = 00
 fault virtual address   = 0x38
 fault code  = supervisor read data, page not present
 instruction pointer = 0x20:0x81b3cfa7
 stack pointer   = 0x28:0xfe004e52f250
 frame pointer   = 0x28:0xfe004e52f2e0
 code segment= base 0x0, limit 0xf, type 0x1b
= DPL 0, pres 1, long 1, def32 0, gran 1
 processor eflags= interrupt enabled, resume, IOPL = 0
 current process = 0 (vmx3f0 taskq)
 trap number = 12
 panic: page fault
 cpuid = 0
 KDB: stack backtrace:
 #0 0x809202f0 at kdb_backtrace+0x60
 #1 0x808e5415 at panic+0x155
 #2 0x80ce13bf at trap_fatal+0x38f
 #3 0x80ce16d8 at trap_pfault+0x308
 #4 0x80ce0d3a at trap+0x47a
 #5 0x80cc6c22 at calltrap+0x8
 #6 0x809a5f20 at if_transmit+0x130
 #7 0x809a7c8d at ether_output+0x58d
 #8 0x80a154db at ip_output+0x115b
 #9 0x80a85cbc at tcp_output+0x191c
 #10 0x80a82f55 at tcp_do_segment+0x3045
 #11 0x80a7f2c4 at tcp_input+0xd04
 #12 0x80a114b7 at ip_input+0x97
 #13 0x809b09b2 at netisr_dispatch_src+0x62
 #14 0x809a7e26 at ether_demux+0x126
 #15 0x809a8ace at ether_nh_input+0x35e
 #16 0x809b09b2 at netisr_dispatch_src+0x62
 #17 0x81b3c820 at vmxnet3_rq_rx_complete+0x3d0
 Uptime: 2m1s
 Dumping 123 out of 998 MB:..13%..26%..39%..52%..65%..78%..91%
 
 Reading symbols from /boot/kernel/zfs.ko.symbols...done.
 Loaded symbols for /boot/kernel/zfs.ko.symbols
 Reading symbols from /boot/kernel/opensolaris.ko.symbols...done.
 Loaded symbols for /boot/kernel/opensolaris.ko.symbols
 Reading symbols from /boot/kernel/ipfw.ko.symbols...done.
 Loaded symbols for /boot/kernel/ipfw.ko.symbols
 Reading symbols from /boot/kernel/accf_http.ko.symbols...done.
 Loaded symbols for /boot/kernel/accf_http.ko.symbols
 Reading symbols from /boot/kernel/crypto.ko.symbols...done.
 Loaded symbols for /boot/kernel/crypto.ko.symbols
 Reading symbols from /boot/modules/vmxnet3.ko...done.
 Loaded symbols for /boot/modules/vmxnet3.ko
 Reading symbols from /boot/kernel/pflog.ko.symbols...done.
 Loaded symbols for /boot/kernel/pflog.ko.symbols
 Reading symbols from /boot/kernel/pf.ko.symbols...done.
 Loaded symbols for /boot/kernel/pf.ko.symbols
 Reading symbols from /boot/modules/vmmemctl.ko...done.
 Loaded symbols for /boot/modules/vmmemctl.ko
 #0  doadump (textdump=value optimized out) at pcpu.h:219
 219

RE: [freebsd] FreeBSD 10.1: PF bug?

2015-03-05 Пенетрантность Golub Mikhail
Все дело в vmxnet3.
Вернул e1000 (em0 в гостевой) - в корку не вылетает.

Дальше теперь только настроить правильно altq.

Пока остановлюсь на этом.
Всем спасибо за помощь.

 -Original Message-
 From: owner-free...@uafug.org.ua [mailto:owner-free...@uafug.org.ua]
 On Behalf Of Golub Mikhail
 Sent: Thursday, March 05, 2015 10:16 AM
 To: freebsd@uafug.org.ua
 Subject: RE: [freebsd] FreeBSD 10.1: PF bug?
 
 На тестовой виртуалке под vmware esx 5.5u2, гостевая ОС FreeBSD 10.1
 x64
 Установлен сетевой адаптер vmx3f0.
 Установлены vmaware tools.
 Сделано так, что при старте системы правила pf не загружаются, сквид не
 загружается (для теста).
 
 Загружаю вручную такие правила (взял за основу
 https://calomel.org/pf_hfsc.html, пока только тест).
 pfctl -f /etc/pf.conf-test
 
 ext_if=vmx3f0
 altq on $ext_if bandwidth 90Mb hfsc queue { ack, dns, ssh, web_high,
 web_low, bulk}
 queue ack bandwidth 30% priority 8 qlimit 500 hfsc (realtime 20%)
 queue dns bandwidth 5% priority 7 qlimit 500 hfsc (realtime 5%)
 queue ssh bandwidth 5% priority 6 qlimit 500 hfsc (realtime 5%)
 {ssh_login, ssh_bulk}
 queue ssh_login bandwidth 50% priority 6 qlimit 500 hfsc
 queue ssh_bulk bandwidth 50% priority 5 qlimit 500 hfsc
 queue bulk bandwidth 10% priority 5 qlimit 500 hfsc (realtime 10%
 default)
 queue web_high bandwidth 25% priority 4 qlimit 500 hfsc (realtime 20%)
 queue web_low  bandwidth 25% priority 3 qlimit 500 hfsc (realtime 20%)
 pass out on $ext_if inet proto tcp from ($ext_if) to any flags S/SA
modulate
 state queue (ack, bulk)
 pass out on $ext_if inet proto tcp from ($ext_if) to any port ssh flags
S/SA
 modulate state queue (ssh_login, ssh_bulk)
 pass on $ext_if inet proto udp from any to any modulate state queue (dns)
 pass on $ext_if inet proto tcp from any to any port {80,443} tos 0x31
flags
 S/SA modulate state queue (web_high, ack)
 pass on $ext_if inet proto tcp from any to any port {80,443} tos 0x32
flags
 S/SA modulate state queue (web_low, ack)
 
 Запускаю сквид - service squid start
 Все работает ... До первого запроса к прокси. И тут получаю core.
 
 Mar  5 10:01:12 vm2 savecore: reboot after panic: page fault
 Mar  5 10:01:12 vm2 savecore: writing core to /var/crash/vmcore.2
 
 kgdb kernel.debug /var/crash/vmcore.2
 
 Fatal trap 12: page fault while in kernel mode
 cpuid = 0; apic id = 00
 fault virtual address   = 0x38
 fault code  = supervisor read data, page not present
 instruction pointer = 0x20:0x81b3cfa7
 stack pointer   = 0x28:0xfe004e52f250
 frame pointer   = 0x28:0xfe004e52f2e0
 code segment= base 0x0, limit 0xf, type 0x1b
 = DPL 0, pres 1, long 1, def32 0, gran 1
 processor eflags= interrupt enabled, resume, IOPL = 0
 current process = 0 (vmx3f0 taskq)
 trap number = 12
 panic: page fault
 cpuid = 0
 KDB: stack backtrace:
 #0 0x809202f0 at kdb_backtrace+0x60
 #1 0x808e5415 at panic+0x155
 #2 0x80ce13bf at trap_fatal+0x38f
 #3 0x80ce16d8 at trap_pfault+0x308
 #4 0x80ce0d3a at trap+0x47a
 #5 0x80cc6c22 at calltrap+0x8
 #6 0x809a5f20 at if_transmit+0x130
 #7 0x809a7c8d at ether_output+0x58d
 #8 0x80a154db at ip_output+0x115b
 #9 0x80a85cbc at tcp_output+0x191c
 #10 0x80a82f55 at tcp_do_segment+0x3045
 #11 0x80a7f2c4 at tcp_input+0xd04
 #12 0x80a114b7 at ip_input+0x97
 #13 0x809b09b2 at netisr_dispatch_src+0x62
 #14 0x809a7e26 at ether_demux+0x126
 #15 0x809a8ace at ether_nh_input+0x35e
 #16 0x809b09b2 at netisr_dispatch_src+0x62
 #17 0x81b3c820 at vmxnet3_rq_rx_complete+0x3d0
 Uptime: 2m1s
 Dumping 123 out of 998 MB:..13%..26%..39%..52%..65%..78%..91%
 
 Reading symbols from /boot/kernel/zfs.ko.symbols...done.
 Loaded symbols for /boot/kernel/zfs.ko.symbols
 Reading symbols from /boot/kernel/opensolaris.ko.symbols...done.
 Loaded symbols for /boot/kernel/opensolaris.ko.symbols
 Reading symbols from /boot/kernel/ipfw.ko.symbols...done.
 Loaded symbols for /boot/kernel/ipfw.ko.symbols
 Reading symbols from /boot/kernel/accf_http.ko.symbols...done.
 Loaded symbols for /boot/kernel/accf_http.ko.symbols
 Reading symbols from /boot/kernel/crypto.ko.symbols...done.
 Loaded symbols for /boot/kernel/crypto.ko.symbols
 Reading symbols from /boot/modules/vmxnet3.ko...done.
 Loaded symbols for /boot/modules/vmxnet3.ko
 Reading symbols from /boot/kernel/pflog.ko.symbols...done.
 Loaded symbols for /boot/kernel/pflog.ko.symbols
 Reading symbols from /boot/kernel/pf.ko.symbols...done.
 Loaded symbols for /boot/kernel/pf.ko.symbols
 Reading symbols from /boot/modules/vmmemctl.ko...done.
 Loaded symbols for /boot/modules/vmmemctl.ko
 #0  doadump (textdump=value optimized out) at pcpu.h:219
 219 __asm(movq %%gs:%1,%0 : =r (td)
 




Re: [freebsd] FreeBSD 10.1: PF bug?

2015-03-05 Пенетрантность Mykola Dzham

 On 05 Mar 2015, at 09:16, Golub Mikhail ua...@gmn.org.ua wrote:
 
 На тестовой виртуалке под vmware esx 5.5u2, гостевая ОС FreeBSD 10.1 x64
 Установлен сетевой адаптер vmx3f0.
 Установлены vmaware tools.
 Сделано так, что при старте системы правила pf не загружаются, сквид не
 загружается (для теста).
 
 Загружаю вручную такие правила (взял за основу
 https://calomel.org/pf_hfsc.html, пока только тест).
 pfctl -f /etc/pf.conf-test

На всякий случай: pfctl -f file только загружает правила, но не активирует 
фаерволл.
Для активации вручную нужно дополнительно сделать pfctl -e

Re: [freebsd] FreeBSD 10.1: PF bug?

2015-03-04 Пенетрантность Nike

04.03.2015 12:17, Golub Mikhail пишет:

Вопрос вот в чем.
Что-то не так в правилах PF?
Или в этой версии FreeBSD есть баг в altq?

А Squid с поддержкой PF скомпилирован?


RE: [freebsd] FreeBSD 10.1: PF bug?

2015-03-04 Пенетрантность Golub Mikhail
 -Original Message-
 From: owner-free...@uafug.org.ua [mailto:owner-free...@uafug.org.ua]
 On Behalf Of Golub Mikhail
 Sent: Wednesday, March 04, 2015 5:12 PM
 To: freebsd@uafug.org.ua
 Subject: RE: [freebsd] FreeBSD 10.1: PF bug?
 
 Спасибо.
 Это будет следующим шагом.
 
 Пока попробую вечером поставить vmware tools и заменить адаптер на vmx3.

Здесь вообще core получил :( (но не сохранил. Откатил снапшот)
Отключил pf - работает с vm tools и с сетевой vmx3f0.

Может в этом сила? :) - все эти опции ALTQ_* некошерно влияют на сборку pf
модулем


 
 
  -Original Message-
  From: owner-free...@uafug.org.ua [mailto:owner-
 freebsd@uafug.org.ua]
  On Behalf Of Volodymyr Kostyrko
  Sent: Wednesday, March 04, 2015 5:10 PM
  To: freebsd@uafug.org.ua
  Subject: Re: [freebsd] FreeBSD 10.1: PF bug?
 
  On 04.03.2015 12:39, Golub Mikhail wrote:
   pf модулем.
  
   # kldstat
   Id Refs AddressSize Name
 1   19 0x8020 1669200  kernel
 21 0x8186a000 267f48   zfs.ko
 32 0x81ad2000 6780 opensolaris.ko
 41 0x81ad9000 b98d8linux.ko
 51 0x81b93000 2698 accf_http.ko
 61 0x81c11000 33a7fpf.ko
  
   Модуль linux нужен для одной софтинки.
   К теме отношения не имеет.
 
  Попробуйте pf вкомпилить ядро, прямо с pflog. Где-то я видел ругань
 на
  то что все эти опции ALTQ_* некошерно влияют на сборку pf модулем.
 
  --
  Sphinx of black quartz judge my vow.


Re: [freebsd] FreeBSD 10.1: PF bug?

2015-03-04 Пенетрантность Alexandr Khomenko

04.03.2015 19:42, Nike пишет:

04.03.2015 12:17, Golub Mikhail пишет:

Вопрос вот в чем.
Что-то не так в правилах PF?
Или в этой версии FreeBSD есть баг в altq?

А Squid с поддержкой PF скомпилирован?

Это актуально только в transparent mode.


Re: [freebsd] FreeBSD 10.1: PF bug?

2015-03-04 Пенетрантность Владимир Друзенко
04.03.2015 20:42, Nike пишет:
 04.03.2015 12:17, Golub Mikhail пишет:
 Вопрос вот в чем.
 Что-то не так в правилах PF?
 Или в этой версии FreeBSD есть баг в altq?
 А Squid с поддержкой PF скомпилирован?
Это нужно только для прозрачного проксирования.

Который, кстати, непонятно как настроить - не работает на 10.1 amd64,
pf, squid 3.4, 2 аплинка с роутингом части хостов через pf route-to и
setfib на не default gateway (nat тоже через pf). До этого замечательно
работало на 9.0 со сквидом 3.1. Пользуясь случаем спрошу: у кого-то
такое работает?
Если есть желающие обсудить, то создадим новый тред и я туда напишу
подробней.


RE: [freebsd] FreeBSD 10.1: PF bug?

2015-03-04 Пенетрантность Oleksandr V. Typlyns'kyi
Today Mar 4, 2015 at 19:00 Golub Mikhail wrote:

  Пока попробую вечером поставить vmware tools и заменить адаптер на vmx3.
 
 Здесь вообще core получил :( (но не сохранил. Откатил снапшот)
 Отключил pf - работает с vm tools и с сетевой vmx3f0.
 
 Может в этом сила? :) - все эти опции ALTQ_* некошерно влияют на сборку pf
 модулем

 В 10-ке есть штатный драйвер VMXNET3(if_vmx).

-- 
WNGS-RIPE


Re: [freebsd] FreeBSD 10.1: PF bug?

2015-03-04 Пенетрантность Alexander Sheiko
Hello Golub,

Wednesday, March 4, 2015, 11:17:00 AM, you wrote:

GM Суть бага в том, что при закачке файла через прокси случайно обрываются
GM закачки.

GM Вопрос вот в чем.
GM Что-то не так в правилах PF?

GM Правила PF:
GM inet=100Mb
GM altq on $ext_if cbq bandwidth $inet queue { ssh, Default, High, Low }
GM queue Default on $ext_if bandwidth 15% priority 1 cbq ( red , default ,
GM borrow )
GM queue ssh on $ext_if bandwidth 5% priority 1 cbq ( red , borrow )
GM queue High on $ext_if bandwidth 40% priority 3 cbq ( red , borrow )
GM queue Low on $ext_if bandwidth 40% priority 2 cbq ( red , borrow )

GM pass out quick on $ext_if proto {tcp} from any port 22 to any no state queue
GM (ssh)
GM pass out quick on $ext_if proto {tcp} from any to any tos 0x31 no state
GM queue (High)
GM pass out quick on $ext_if proto {tcp} from any to any tos 0x32 no state
GM queue (Low)

Какие-то странные у Вас правила. Вы режете исходящий в инет трафик или входящий 
в   локалку,  зажимая  Squid?  Зачем  здесь  no state? Зачем quick, его следует 
использовать  лишь  для  очень частных задач. Почему не используете современный 
hfsc планировщик? Почему 100Mb - у Вас гигабитная карта? Для 100Mb карты такие 
установки altq не катят.

Судя по правилам squid не transparent, там без разницы, с или без pf он собран.

Зайдите на сайт Calomel.org - там много чего на эту тему расписано с примерами.

У  меня  altq  прекрасно  работает  на  OpenBSD - динамически нарезает 
исходящий 
трафик сервера шлюза и обеспечивает нужные realtime.



-- 
WBR, Alexander Sheiko



Re: [freebsd] FreeBSD 10.1: PF bug?

2015-03-04 Пенетрантность Alexandr Krivulya
04.03.2015 20:38, Владимир Друзенко пишет:
 Который, кстати, непонятно как настроить - не работает на 10.1 amd64,
 pf, squid 3.4, 2 аплинка с роутингом части хостов через pf route-to и
 setfib на не default gateway (nat тоже через pf). До этого
 замечательно работало на 9.0 со сквидом 3.1. Пользуясь случаем спрошу:
 у кого-то такое работает? Если есть желающие обсудить, то создадим
 новый тред и я туда напишу подробней. 

У меня работает прозрачный squid-3.4.12 на 10.1 amd64 в связке с pf,
стартует через setfib 1 на резервном канале. Проблемы не замечались.


RE: [freebsd] FreeBSD 10.1: PF bug?

2015-03-04 Пенетрантность Golub Mikhail
 -Original Message-
 From: owner-free...@uafug.org.ua [mailto:owner-free...@uafug.org.ua]
 On Behalf Of Alexander Sheiko
 Sent: Wednesday, March 04, 2015 8:19 PM
 To: freebsd@uafug.org.ua
 Subject: Re: [freebsd] FreeBSD 10.1: PF bug?

 Какие-то странные у Вас правила. Вы режете исходящий в инет трафик
 или входящий
 в   локалку,  зажимая  Squid?  Зачем  здесь  no state? Зачем quick, его
 следует
 использовать  лишь  для  очень частных задач. Почему не используете
 современный hfsc планировщик? Почему 100Mb - у Вас гигабитная карта? Для
100Mb карты такие
 установки altq не катят.

Карта гигабитная - em0: Intel(R) PRO/1000 Legacy Network Connection 1.0.6
Канал 100 Мбит. И реально выделена полоса для сквида в 90 Мбит. Это я так в
рассылку написал.
altq работает только с исходящим трафиком.
На сервере одна сетевая карта - т.е. она и inside и outside ...

По поводу hfsc - попробую.

 Зайдите на сайт Calomel.org - там много чего на эту тему расписано с
примерами.

Спасибо.

И как вчера писал в рассылку, после замены карты на vmxnet3 (в гостевой
видна как vmx3f0) и после старта сквида после загрузки системы система
улетала в core.
Отключил PF при загрузке - работает все с сетевой vmxnet3.
Включил вручную pf уже на работающей системе с сетевой vmxnet3 - в кору не
вылетело, но и очереди не работали. Все счетчики по нулям.
Сегодня перепроверю, вдруг вечером по усталости не правильно что-то делал.


RE: [freebsd] FreeBSD 10.1: PF bug?

2015-03-04 Пенетрантность Golub Mikhail
Дополнение.

Хост - виртуалка под 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.00/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)
 
 
 --
 Голуб Михаил



Re: [freebsd] FreeBSD 10.1: PF bug?

2015-03-04 Пенетрантность Eugene Grosbein
On 04.03.2015 16:17, Golub Mikhail wrote:
 Добрый день.
 
 Имеем 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 приведены ниже.
 
 Суть бага в том, что при закачке файла через прокси случайно обрываются
 закачки.

У меня коннекты рвались на какой-то из несвежих версий 3.x сквида
безо всяких ALTQ и pf. Полечилось апгрейдом сквида.

Это я к тому - версия то какая?




Re: [freebsd] FreeBSD 10.1: PF bug?

2015-03-04 Пенетрантность Volodymyr Kostyrko

On 04.03.2015 11:17, Golub Mikhail wrote:

Добрый день.

Имеем FreeBSD 10.1, один сетевой интерфейс.
Ядро собрано с поддержкой altq.


Интересно, а pf в ядре или модулем?

--
Sphinx of black quartz judge my vow.


RE: [freebsd] FreeBSD 10.1: PF bug?

2015-03-04 Пенетрантность Golub Mikhail
Да, версию сквида забыл указать :(
Squid Cache: Version 3.3.13 - последняя из портов.
В версии 3.4 баг с большой загрузкой CPU при использовании внешних хелперов
- я у меня они как раз все и решают. Поэтому не 3.4.

Я тоже грешил на сквид, но с отключенным PF обрывов нет.
И обрывов нет ночью, когда загрузка интерфейса падает в разы.
И еще не ставил vmware tools, если это влияет.
Выловить глюк могу только на продуктивном сервере под нагрузкой в рабочее
время. Без нагрузки все работает, как задумано и без глюков.



 -Original Message-
 From: Eugene Grosbein [mailto:eu...@grosbein.net]
 Sent: Wednesday, March 04, 2015 12:18 PM
 To: Golub Mikhail; freebsd@uafug.org.ua
 Subject: Re: [freebsd] FreeBSD 10.1: PF bug?
 
 On 04.03.2015 16:17, Golub Mikhail wrote:
  Добрый день.
 
  Имеем 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 приведены ниже.
 
  Суть бага в том, что при закачке файла через прокси случайно
 обрываются
  закачки.
 
 У меня коннекты рвались на какой-то из несвежих версий 3.x сквида
 безо всяких ALTQ и pf. Полечилось апгрейдом сквида.
 
 Это я к тому - версия то какая?
 



Re: [freebsd] FreeBSD 10.1: PF bug?

2015-03-04 Пенетрантность Lystopad Aleksandr
 Hello, Golub Mikhail!

On Wed, Mar 04, 2015 at 12:25:13PM +0200
ua...@gmn.org.ua wrote about RE: [freebsd] FreeBSD 10.1: PF bug?:
 Да, версию сквида забыл указать :(
 Squid Cache: Version 3.3.13 - последняя из портов.
 В версии 3.4 баг с большой загрузкой CPU при использовании внешних хелперов
 - я у меня они как раз все и решают. Поэтому не 3.4.
 
 Я тоже грешил на сквид, но с отключенным PF обрывов нет.
 И обрывов нет ночью, когда загрузка интерфейса падает в разы.
 И еще не ставил vmware tools, если это влияет.
 Выловить глюк могу только на продуктивном сервере под нагрузкой в рабочее
 время. Без нагрузки все работает, как задумано и без глюков.

А какая версия esxi ?
И почему vmware tools не ставил?

-- 
 Lystopad Aleksandr 


RE: [freebsd] FreeBSD 10.1: PF bug?

2015-03-04 Пенетрантность Golub Mikhail
pf модулем.

# kldstat
Id Refs AddressSize Name
 1   19 0x8020 1669200  kernel
 21 0x8186a000 267f48   zfs.ko
 32 0x81ad2000 6780 opensolaris.ko
 41 0x81ad9000 b98d8linux.ko
 51 0x81b93000 2698 accf_http.ko
 61 0x81c11000 33a7fpf.ko

Модуль linux нужен для одной софтинки.
К теме отношения не имеет.

 -Original Message-
 From: owner-free...@uafug.org.ua [mailto:owner-free...@uafug.org.ua]
 On Behalf Of Volodymyr Kostyrko
 Sent: Wednesday, March 04, 2015 12:29 PM
 To: freebsd@uafug.org.ua
 Subject: Re: [freebsd] FreeBSD 10.1: PF bug?
 
 On 04.03.2015 11:17, Golub Mikhail wrote:
  Добрый день.
 
  Имеем FreeBSD 10.1, один сетевой интерфейс.
  Ядро собрано с поддержкой altq.
 
 Интересно, а pf в ядре или модулем?
 
 --
 Sphinx of black quartz judge my vow.



RE: [freebsd] FreeBSD 10.1: PF bug?

2015-03-04 Пенетрантность Golub Mikhail
 А какая версия esxi ?
ESXi-5.5U2-2069112

 И почему vmware tools не ставил?
Просто не ставил ...
На адаптере e1000 несколько хостов работают нормально.
Правда там нагрузки сетевые совсем не такие.

vmxnet3 может помочь?
altq работает с этим драйвером - только что проверил на виртуалке.



Re: [freebsd] FreeBSD 10.1: PF bug?

2015-03-04 Пенетрантность Volodymyr Kostyrko

On 04.03.2015 12:39, Golub Mikhail wrote:

pf модулем.

# kldstat
Id Refs AddressSize Name
  1   19 0x8020 1669200  kernel
  21 0x8186a000 267f48   zfs.ko
  32 0x81ad2000 6780 opensolaris.ko
  41 0x81ad9000 b98d8linux.ko
  51 0x81b93000 2698 accf_http.ko
  61 0x81c11000 33a7fpf.ko

Модуль linux нужен для одной софтинки.
К теме отношения не имеет.


Попробуйте pf вкомпилить ядро, прямо с pflog. Где-то я видел ругань на 
то что все эти опции ALTQ_* некошерно влияют на сборку pf модулем.


--
Sphinx of black quartz judge my vow.


RE: [freebsd] FreeBSD 10.1: PF bug?

2015-03-04 Пенетрантность Golub Mikhail
Спасибо.
Это будет следующим шагом.

Пока попробую вечером поставить vmware tools и заменить адаптер на vmx3.


 -Original Message-
 From: owner-free...@uafug.org.ua [mailto:owner-free...@uafug.org.ua]
 On Behalf Of Volodymyr Kostyrko
 Sent: Wednesday, March 04, 2015 5:10 PM
 To: freebsd@uafug.org.ua
 Subject: Re: [freebsd] FreeBSD 10.1: PF bug?
 
 On 04.03.2015 12:39, Golub Mikhail wrote:
  pf модулем.
 
  # kldstat
  Id Refs AddressSize Name
1   19 0x8020 1669200  kernel
21 0x8186a000 267f48   zfs.ko
32 0x81ad2000 6780 opensolaris.ko
41 0x81ad9000 b98d8linux.ko
51 0x81b93000 2698 accf_http.ko
61 0x81c11000 33a7fpf.ko
 
  Модуль linux нужен для одной софтинки.
  К теме отношения не имеет.
 
 Попробуйте pf вкомпилить ядро, прямо с pflog. Где-то я видел ругань на
 то что все эти опции ALTQ_* некошерно влияют на сборку pf модулем.
 
 --
 Sphinx of black quartz judge my vow.