[FUG-BR] AltQ + IPFW

Flavio Alexsandro Silva falexsandro em inbox.com
Sexta Setembro 15 14:03:58 BRT 2006


Buenas Lista!!!

	Pessoal, venho mais uma vez encarecidamente pedir ajuda daqueles que conhecem IPFW e Altq!
	Antes de falar sobre a minha dificuldade, vow caracterizar o ambiente que tenho:
	- 1 Servidor de Internet rodando:
		- Nat (natd)
		- Firewall (ipfw)
		- Proxy Transparente (squid)
		- DNS (bind)
		- DHCP (isc dhcp)
	
	Qual o objetivo?
	- Reservar 256Kb/s de banda minima para trafego administrativo
		+ DNS
		+ DHCP
		+ SSH
	- Compartilhar 1792Kb/s entre os computadores da rede
		+ Onde cada estacao teria garantido no minimo 64Kb/s (em caso de alto trafego) de banda para cada estacao.
	
	A limitacao de banda deve ocorrer apenas para os dados oriundos da internet, sendo que acesso ao servidor como ftp, web, e proxy deve ser permitido na velocidade maxima.
	Minha duvida reside em como fazer com altq usando hsfc ou cbq, pois vi que com dummynet, não consiguiria fazer limitacao na saida. Fiz alguns testes mas empaquei no trabalho com ipfw + altq. Vamos ao que fiz:
	/etc/rc.firewall
		fwcmd="ipfw -q"
		${fwcmd} flush
		${fwcmd} add 100 pass all from any to any via lo0
        ${fwcmd} add 200 deny all from any to 127.0.0.0/8
        ${fwcmd} add 300 deny ip from 127.0.0.0/8 to any
	
        ${fwcmd} add 400 check-state
        ${fwcmd} add 500 allow tcp from me to any setup keep-state

		##
		# Regras de Controle de Banda
		##
		${fwcmd} delete set 2
		${fwcmd} enable altq
		${fwcmd} add 510 set 2 altq admin ip4 from 192.168.40.0/24 to any out via xl0
		${fwcmd} add 515 set 2 altq indusrs ip4 from 192.168.0.0/24 to any out via xl0
		${fwcmd} add 520 set 2 altq usrs ip4 from 192.168.20.0/24 to any out via xl0
		${fwcmd} add 525 set 2 altq usrs ip4 from 192.168.30.0/24 to any out via xl0
		${fwcmd} add 530 set 2 altq usrs ip4 from 192.168.50.0/24 to any out via xl0
		${fwcmd} enable set 2
		#
		##

        # Conectividade social
        ${fwcmd} add 550 skipto 800 tcp from any to 200.201.174.0/24 via bge0
        ${fwcmd} add 600 forward 127.0.0.1,3128 tcp from any to any dst-port 80 via bge0 setup keep-state
        ${fwcmd} add 650 forward 127.0.0.1,53 udp from any to 200.134.184.2 dst-port 53 via bge0
        ${fwcmd} add 700 allow udp from any to me dst-port 53 in via bge0

        ${fwcmd} add 800 divert natd udp from any to any dst-port 53 via xl0
        ${fwcmd} add 900 divert natd ip from any to any via xl0

	/etc/pf.conf
		ext_if="xl0"
		int_if="bge0"

		altq on $ext_if bandwidth 2Mb hfsc queue { admin, usrs }

		queue admin bandwidth 12.5% priority 7 hfsc (red realtime 12.5% upperlimit 100% )
		queue usrs bandwidth 87.5% priority 1 hfsc (red upperlimit 87.5% ) { indusrs } 
		queue indusrs priority 1 hfsc (default realtime 64Kb upperlimit 100% )
	
	O que acontece:
		- Ao executar "ipfw enable altq" todo o fluxo da maquina está sendo desviado para o queue indusrs.
		- A outra regra que deveria desviar o fluxo para a queue admin e queue usrs aparentemente nao funciona
	O que deveria fazer:
		- Limitar o download de dados da internet a 64Kb para cada estacao da rede 192.168.0.0/24 e caso nao tenho trafego relaxar as regras para utilizarem mais banda. Aqui inclue-se o trafego da estacao usando proxy transparente.
		- Limitar o download de dados da internet total a 1792Kb para as redes 192.168.20.0/24, 192.168.30.0/24, 192.168.50.0/24. Aqui inclue-se o trafego da estacao usando proxy transparente.
		
	Se alguem poder dar uma ajuda, ou mandar sua opiniao.
	
Desde já o meu muito obrigado a todos...


--
Flávio Alexsandro Silva
"Unix is user friendly. It's just selective about who its friends are."
"Linux is for people who hate Windows.
BSD is for people who love UNIX."

____________________________________________________________
GET FREE 5GB EMAIL - Check out spam free email with many cool features!
Visit http://www.inbox.com/email to find out more!


Mais detalhes sobre a lista de discussão freebsd