A Solução abaixo funciou, implementando em um provedor que tinha dois links no mesmo Servidor.
Essa solução é para quem tem dois links e deseja fazer a NAT dos mesmos em um único servidor. Primeiro Vamos compilar o Kernel para utilizarmos como servidor gateway. Compilando o Kernel do FreeBSD 1- Configurando o Kernel cd /usr/src/sys/i386/conf cp GENERIC NOVOKERNEL ee NOVOKERNEL 2 - Digite no arquivo copiado as linhas abaixo, use o editor "ee", "ee NOVOKERNEL" options IPFIREWALL options IPFIREWALL_DEFAULT_TO_ACCEPT options IPFIREWALL_VERBOSE_LIMIT=300 options IPDIVERT options IPsTEALTH options DUMMYNET options TCP_DROP_SYNFIN options IPFIREWALL_FORWARD 3- Execute os seguintes comandos: config NOVOKERNEL cd ../../compile/SEUKERNEL make depend make make install fastboot Quando o sistema carregar ira subir com o novo kernel. Configurações das interfaces de rede Vamos configura as interfaces de acordo com as faixas abaixo. LINK1 Faixa - 100.100.100.0/255.255.255.252, gateway 100.100.100.1, interface rl0 LINK2 Faixa - 200.200.200.0/255.255.255.252, gateway 200.200.200.1, interface rl1 Rede Interna - Faixa 10.0.0.0/255.255.255.0, interface rl2 ----------------------------------------------------------------------------- --- Alterando o /etc/rc.conf Veja que os IPs das interfaces foram escolhidas dentro das faixas dadas acima. Configure a rede no arquivo /etc/rc.conf ee /etc/rc.conf ifconfig_rl0="inet 100.100.100.2 netmask 255.255.255.252" ifconfig_rl1="inet 200.200.200.2 netmask 255.255.255.252" ifconfig_rl2="inet 10.0.0.1 netmask 255.255.255.0" defaultrouter="100.100.100.1" hostname="servidor" gateway_enable="YES" sshd_enable="YES" sh /etc/gbs/iniciar.gbs É logico que com o comando "ifconfig" você esta configurando os IPs para as interfaces de rede. Veja que no caso nos só utilizamos um gateway o 100.100.100.1 que e o padrão. Nesse caso o LINK1 é a saída padrão para Internet. Não tem necessidade de apontar o outro gateway nesse arquivo. hostname="servidor" - Nome da maquina. gateway_enable="YES" - Ativa o roteamento. Lembre-se sem essa opção a NAT não vai funcionar. sshd_enable="YES" - Ativa o acesso remoto por SSH a esse servidor. sh /etc/gbs/iniciar.gbs - Iremos criar logo mais para iniciar determinados arquivos boot do sistema. Na Proxima vez que você reiniciar o servidor as novas configurações terão efeito. ----------------------------------------------------------------------------- --- Duas interfaces de NAT Veja que a configuração acima determina que temos duas interface de rede cada uma dedicada a um link para fazer NAT. Crie um diretório com o nome gbs dentro de /etc/ ou o nome que melhor lhe convier "mkdir /etc/gbs", depois crie os seguintes arquivos de configurações detro desse diretorio. 1- "ee /etc/gbs/natd.conf" com o conteúdo abaixo dynamic yes same_ports yes use_sockets yes 2- "ee /etc/gbs/rc.filters" com o conteúdo abaixo #!/bin/sh /sbin/ipfw -f flush /sbin/ipfw add 51 allow ip from any to any via lo0 /sbin/ipfw add 52 deny ip from any to 127.0.0.0/8 /sbin/natd -s -n rl0 -p 8668 /sbin/natd -s -n rl1 -p 8669 /sbin/ipfw add 53 divert 8668 all from any to 100.100.100.2 in /sbin/ipfw add 54 divert 8668 all from 10.0.0.30 to any out /sbin/ipfw add 55 fwd 200.200.200.1 all from 200.200.200.2 to any /sbin/ipfw add 56 divert 8669 all from any to 200.200.200.2 in /sbin/ipfw add 57 divert 8669 all from 10.0.0.15 to any out A regra 51 em questão, permite todo tráfego proveniente da interface de loopback (a lo0). A regra 52 bloqueia todo o tráfego direcionado à rede localhost (127.0.0.0). A regra 51 é necessária pra permitir comunicação inter-processos locais (local IPC), e a regra 52 evita que qualquer pacote externo adentre o endereço de host local (localhost address), que é o endereço de loopback, protegendo assim o tráfego local. As linhas "/sbin/ natd -s -n rl0 -p 8668" e "/sbin/ natd -s -n rl1 -p 8669" indica que a porta NAT da rl0 será 8668 e 8669 para a rl1. Já a regra 53 enviará todos os pacotes que irão ser recebidos de algum pela porta 8668 que a rl0 entrarão pelo IP 100.100.100.2. E a 54 que o IP 10.0.0.3 fará NAT pela porta 8668 nesse caso a rl0 será a interface de saída dos pacotes. A regra 55 diz que todos os pacotes destinados a 200.200.200.2 serão enviados para 200.200.200.1. Essa regra que trabalhara como segundo gateway direcionara os pacotes para LINK2. A regra 56 que enviará todos os pacotes que irão ser recebidos de algum pela porta 8669 que a rl1, entrarão pelo IP 200.200.200.2. e a 57 que o IP 10.0.0.4 fará NAT pela porta 8669 nesse caso a rl1 será a interface de saída dos pacotes. 3 - "ee /etc/gbs/iniciar.gbs" dentro contem os comando que irão iniciar os outros arquivos /sbin/natd -f /etc/gbs/natd.conf /bin/sh /etc/gbs/rc.filters On Mon, 14 Nov 2005 22:23:31 -0300, Celso Viana wrote > Veja se o link abaixo ajuda. > > http://www.free.bsd.com.br/noticia.php3?CAD=1&NOT=172 > > Celso > > Em 14/11/05, Marck<[EMAIL PROTECTED]> escreveu: > > Olá amigos, > > > > Estou com a seguinte situação: > > Meu primo tem uma lan house com 20 micros e precisava colocar > > internet, mas a companhia telefônica não dispõe de velocidade ADSL > > acima de 512 e por isso ele precisou colocar 2 links pppoe. > > Eu preciso fazer um proxy pra ele e estou meio perdido. > > Teria que ter controle de banda para que uma máquina não use tudo e as > > outras fiquem sem nada e também um proxy para que as crianças não > > acessem sites impróprios. > > Estive garimpando como fazer isso no FreeBSD e achei essas matérias > > falando sobre isso: > > http://infsr.unijui.tche.br/~heini/freebsd/dummynet.html > > http://www.free.bsd.com.br/noticia.php3?CAD=1&NOT=172 > > http://www.free.bsd.com.br/noticia.php3?CAD=1&NOT=143&PARA=topo > > http://www.free.bsd.com.br/noticia.php3?CAD=1&NOT=81&PARA=topo > > > > Agora o que estou querendo saber como fazer: > > Separo 10 máquinas pra cada link de 512 e crio as regras com o ipfw? > > Ou tem como juntar os 2 links e deixar as 20 máquinas na mesma rede? > > O Squid vai fucionar com 2 links pppoe? Ou eu teria que criar um proxy > > alternativo para o segundo link? > > Não terei nenhum servidor Apache ou de E-mail interno que precise de > > acesso externo. > > Preciso de acesso externo apenas de SSH no servidor principal que é > > onde irá rodar esses serviços. > > Disponho de um Pentium III 600 com 256mb de memória HD de 10GB e 3 > > placas de rede. É possível montar um servidor desses com essa modesta > > máquina? > > > > Desculpem tantas perguntas, estou iniciando agora e conto com a boa > > vontade de todos que puderem me ajudar. Tenho pouco de conhecimento de > > FreeBSD, Squid e redes. > > > > Agradeço antecipadamente. > > > > Marck > > > > _______________________________________________ > > Freebsd mailing list > > Freebsd@fug.com.br > > http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br > > > > -- > Celso Vianna > BSD User: 51318 > Palmas/TO > > _______________________________________________ > Freebsd mailing list > Freebsd@fug.com.br > http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br Gelsimauro Batista dos Santos _______________________________________________ Freebsd mailing list Freebsd@fug.com.br http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br