Em 04/02/07, Jorge Aldo<[EMAIL PROTECTED]> escreveu: > Estou tentando resolver meu problema de balanceamento de carga de saida > usando um sistema servidor/discador. O sistema funciona da seguinte forma : > > No servidor FreeBSD roda um daemon que aguarda por conecoes vindas de > clientes. > > Nos clientes (windows) existem dois aplicativos no desktop "FreeGate > Connect" e "FreeGate Disconnect". > > Quando um usuário executa freegate.connect, este programa se comunica > com o daemon no FreeBSD e envia-lhe o comando para conectar. Quando um > usuário executa freegate.disconnect, este programa se comunica com o > daemon no FreeBSD e envia-lhe o comando para desconectar. > > Conectar e Disconectar significa ligar o ip do cliente windows à uma das > saidas disponiveis (uma das wans). > > Meu problema é o seguinte : > > Apesar de já ter lido várias documentacoes sobre IPFW/IPFW2 não consigo > determinar quais serão os comandos necessários para fazer essa ligação > desligação. O daemon servidor lida com quatro scripts, a saber : > > /etc/freegate/startup.sh <- é executado quando o daemon é ativado > /etc/freegate/shutdown.sh <- é executado quando o daemon é desativado > /etc/freegate/login.sh <- é executado quando um usuario loga com o > aplicativo, recebe o ip do mesmo como parametro > /etc/freegate/logout.sh <- é executado quando um usuario desloga com o > aplicativo, recebe o ip do mesmo como parametro. > > Existem vários arquivos/tabelas que mostram o estado atual do sistema : > /etc/freegate/links.conf <- contem a lista de todos os links WAN > disponíveis nesse gateway, com informações de banda passante total. > O formato desta tabela é bem simples : > > <linkname>,<downlink>,<uplink>,<modemip>,<ifname>,<ifip>,<weight> > > onde : <linkname> é o nome generico do link (por exemplo "velox1") > <downlink>, <uplink> são as taxas de descida e subida (ex : 100000000, > 600000) > <modemip> é o ip do modem que esta conectado a esta interface (os modens > devem estar como routers) (ex : 10.1.1.1) > <ifname> o nome da interface como dada pelo freebsd (ex : rl0) > <ifip> o ip da interface dado pelo modem (deve-se configurar o dhcp do > modem para travar um ip a esta interface) (ex : 10.1.1.2) > <weight> é o "peso" deste link, representado por um numero entre 0 e 100 > que determina a probabilidade (%) de um cliente ser ligado a este link. > (ex : 33) > > /etc/freegate/activeips.tab <- contem uma lista de todos os ips logados > atualmente, esta lista é atualizada com o comando freegate.addip <ip> ou > freegate.removeip <ip> > > O formato desta tabela é simples tambem : > <ipativo>, <link> > > onde <ipativo> é o ip do cliente da LAN que esta ativo (ex : 192.168.0.10) > <link> é o numero do link (na lista de links.conf) a que este link esta > ligado > > > toda vez que um usuario loga, o daemon/servidor automaticamente chama > login.sh <ipdocliente> > e este script deve criar pipes e regras de nat para rotear a partir > dali, todos os pacotes do cliente por um dado link. Por default os > pacotes de todas as maquinas devem ser bloqueados, o cliente so navega > se rodar freegate.connect. Para ligar um cliente à um link, alem de > acrescentar uma rota <ipdocliente> via <ifname> é preciso tambem criar > um pipe limitando a banda do cliente à <downlink> / <numero de clientes > no link>. > > A maior parte do sistema já está desenvolvida/pronta. Estou tendo > dificuldades apenas nesta parte do sistema. > > Acho que um sistema assim solucionaria a dor de cabeca de muitas > pessoas. Por favor ajude ! > > Desde já agradeço. > ------------------------- > Histórico: http://www.fug.com.br/historico/html/freebsd/ > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd >
velho da uma olhada aqui http://www.free.bsd.com.br/noticia.php3?CAD=1&NOT=172 http://www.bsdsul.com.br/tutoriais_detalhe.php?cod=27 -- Alessandro de Souza Rocha Administrador de Redes e Sistemas Freebsd-BR User #117 ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd