Altq / Pf no OpenBSD

3
Estou tendo alguns problemas com o pf / altq no OpenBSD, mas como sou novo, não tenho certeza se é porque estou entendendo mal como usar âncoras ou se algo está errado com o meu sistema. / p>

Estou tentando adicionar regras altq a uma âncora usando pfctl, mas o pfctl continua dizendo que o dispositivo está ocupado quando tento. Se eu usar as mesmas regras no pf.conf, ele funciona bem:

root@openbsd:~# uname -a
OpenBSD openbsd.my.domain 5.2 GENERIC.MP#368 amd64

# ---- Show current pf.conf rules -----

root@openbsd:~# cat /etc/pf.conf                                                                                    
pass out on re0
pass in on re0
anchor tshaping

# ---- Try to load altq rules into the anchor -----

root@openbsd:~# echo -n "altq on re0 cbq bandwidth 10Mb queue { myqueue }\nqueue myqueue bandwidth 1Mb cbq(default)\n" | pfctl -a tshaping -f -
pfctl: DIOCADDALTQ: Device busy

# ---- Change the pf.conf to include the altq rules without an anchor -----

root@openbsd:~# cat /etc/pf.conf                                                                                                                
pass out on re0
pass in on re0
altq on re0 cbq bandwidth 10Mb queue { myqueue }
  queue myqueue bandwidth 1Mb cbq(default)

# ---- Load the new pf.conf rules -----

root@openbsd:~# pfctl -f /etc/pf.conf                           

# ---- The new rules load fine from the config file with no anchor -----

root@openbsd:~# pfctl -sa | grep queue
queue root_re0 on re0 bandwidth 10Mb priority 0 cbq( wrr root ) {myqueue}
queue  myqueue on re0 bandwidth 1Mb cbq( default )
    
por Jak 08.03.2013 / 10:48

2 respostas

3

De acordo com o link , não é possível carregar filas em âncoras, pois estou tentando fazer.

Você precisa carregar as regras de fila no arquivo pf.conf principal e carregar apenas as regras de filtragem que atribuem o tráfego à (s) fila (s) na âncora.

    
por 08.03.2013 / 11:25
0

Você pode ter mais de um arquivo pf.conf. Algo parecido com isto:

/etc/pf.conf
/<whatever path>/tshaping.conf
/<whatever path>/other_rules.conf

e apenas execute:

pfctl -f /etc/pf.conf
pfctl -f /<whatever path>/tshaping.conf
pfctl -f /<whatever path>/other_rules.conf

No entanto, você pode manipular as Tabelas rapidamente usando o pfctl (8).

Então, você pode fazer isso: echo -n "altq on re0 cbq bandwidth 10Mb queue { myqueue }\nqueue myqueue bandwidth 1Mb cbq(default)\n" > /whatever path>/tshaping.conf; pfctl -f /<whatever path>/tshaping.conf

    
por 16.07.2013 / 06:48

Tags