I had enough ;) Cansei de ter menos banda na minha maquina (gateway da rede wireless la' de casa, rodando freebsd e meu desktop tambem ;)) toda vez que algum familiar ou visita entra na internet para ver os seus powerpoints sobre viagens no mundo, ou curiosidades no email, por tanto resolvi usar o altq a meu favor e incluir um controle de banda na rede la' de casa.
A regra e' simples, quando eu estiver usando a internet (segundo eu li no manual da pf existe essa possibilidade) eu quero ter 60% da bandwidth apenas para mim, e os outros 40%, e quando nao houver nenhum uso de internet no gateway (meu desktop), a banda pode ir 100% para quem tiver usando. Nota: Nao quero que conexoes vindo da internet caiam em nenhuma queue, ou seja, tenham processamento normal sem limitacao de banda para eles. (considerando logicamente o limite fisico da capacidade da banda, e o caso da duvida 2 abaixo ;)) Tendo essas premissas, existem a seguintes dúvidas: Como a minha rede e' disposta da seguinte forma: [ rede interna wireless de casa ] <---> [ath0] [fxp0] <---> INTERNET (^^^^^^^^^^^^^^ gateway) 1a. duvida: eu devo habilitar o altq na interface ath0 ou na fxp0? Meu entendimento e' que se habilitar para a ath0, faria mais sentido, pois apenas o trafico wireless seria afetado. Caso seja essa a solução, estou certo em achar que simplesmente habilitando o altq na interface ath0 e passando um valor de 1600kb (meu link e' de 4mb, 1600 seria algo em torno de 40%), eu ja' conseguiria o resultado esperado? Depois seria apenas uma questao de habilitar no pass in on ath0 queue minha_queue? 2a. duvida: como fica a questão de limitar o que entra na rede? Teria como eu jogar os pacotes de resposta (vindos da internet) que foram originados de conexoes vindo da ath0 (usuarios internos) para uma queue que tenha menos banda, e deixar os outros que usam o fxp0 sem limitações de entrada/saida?! Ai vai o meu pf.conf (muito simples, nao tem nada...): ######################################################### # Macros: define common values, so they can be referenced and changed easily. ext_if="fxp0" # replace with actual external interface name i.e., dc0 int_if="ath0" # replace with actual internal interface name i.e., dc1 internal_net="192.168.0.0/24" external_addr="`ifconfig fxp0 | grep inet | cut -d ' ' -f2`" # Options: tune the behavior of pf, default values are given. set timeout { interval 10, frag 30 } set timeout { tcp.first 120, tcp.opening 30, tcp.established 86400 } set timeout { tcp.closing 900, tcp.finwait 45, tcp.closed 90 } set timeout { udp.first 60, udp.single 30, udp.multiple 60 } set timeout { icmp.first 20, icmp.error 10 } set timeout { other.first 60, other.single 30, other.multiple 60 } set timeout { adaptive.start 0, adaptive.end 0 } set limit { states 10000, frags 5000 } set loginterface none set optimization normal set block-policy drop set require-order yes set fingerprints "/etc/pf.os" # Normalization: reassemble fragments and resolve or reduce traffic ambiguities. scrub in all nat on $ext_if from $internal_net to ! $internal_net -> ($ext_if) pass in log quick on $int_if keep state pass out log quick on $int_if keep state pass in log quick on $ext_if keep state pass out log quick on $ext_if keep state ################################################ Abracos, Victor F. Loureiro Lima ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd