Um guia para os iniciantes no mundo do FreeBSD
Configurando o NAT (Network Address Translator) no FreeBSD.
Este texto foi uma contribuicao enviada por Silveira Neto [silveira@braznet.com.br]
A utilizacao do NAT permite que uma estacao FreeBSD atue como um proxy
transparente para as maquinas de sua rede local ou intranet, permitindo que voce a conecte
a Internet utilizando apenas um IP valido.
Para utilizar o Natd voce deve estar utilizando uma versao do FreeBSD superior a 2.2.1.
Para este tutorial vamos assumir o seguinte:
| Netmask: | 255.255.255.0 |
| Classe de IP reservado utilizada na rede local: | 192.168.10.0 |
| IP valido fornecido por um ISP: | 200.247.38.21 |
| Ethernet Device: | ed0 |
| PPP Device: | ppp0 |
Antes de iniciar certifique-se que o seu FreeBSD esta configurado
para atuar como gateway. Edite o arquivo /etc/rc.conf e verifique
se aparece a linha:
gateway_enable=YES
Caso esta linha estaja com a opcao NO, mude para YES. ;-)
Feitas estas consideracoes vamos a configuracao...
O primeiro passo sera habilitar o suporte a IPDIVERT e o IPFIREWALL no seu kernel.
Para isso voce devera editar o arquivo de configuracao do seu kernel e incluir as linhas:
options IPFIREWALL
options IPDIVERT
Salve o arquivo e recompile o seu kernel.
Para maiores informacoes sobre como compilar o seu kernel consulte: Recompilando o seu kernel
O segundo passo sera configurar o servico divert no arquivo /etc/services.
Para isso voce devera editar o arquivo /etc/services e inserir a seguinte linha:
Edite o arquivo services que se encontra no diretorio /etc
natd 6668/divert #Network address translator
OBS: A porta 6668 nao pode estar sendo utilizado por outro servico (geralmente servidores de
IRC tem essa tendencia)
Configurando o firewall para redirecionar para o servico divert.
Para isso edite o arquivo /etc/rc.firewall e abaixo das linhas:
# Prototype setups.
if [ "${firewall_type}" = "open" -o "${firewall_type}" = "OPEN" ]; then
$fwcmd add 65000 pass all from any to any
Insira as linhas:
$fwcmd add divert 6668 all from 192.168.10.0/24 to any via ppp0 out
$fwcmd add divert 6668 all from any to 200.247.38.21 via ppp0 in
O resultado deve ficar algo como:
# Prototype setups.
if [ "${firewall_type}" = "open" -o "${firewall_type}" = "OPEN" ]; then
$fwcmd add 65000 pass all from any to any
$fwcmd add divert 6668 all from 192.168.10.0/24 to any via ppp0 out
$fwcmd add divert 6668 all from any to 200.247.38.21 via ppp0 in
Salve o arquivo.
Habilitando o Firewall.
Para isso edite o arquivo /etc/rc.conf e modifique as linhas:
firewall_enable="NO" # Set to YES to enable firewall functionality
firewall_type="UNKNOWN" # Firewall type (see /etc/rc.firewall)
firewall_quiet="NO" # Set to YES to suppress rule display
para:
firewall_enable="YES" # Set to YES to enable firewall functionality
firewall_type="open" # Firewall type (see /etc/rc.firewall)
firewall_quiet="YES" # Set to YES to suppress rule display
Configurando o natd.
Crie o arquivo /etc/natd.sh com o seguinte conteudo:
#!/bin/sh
/usr/local/sbin/natd -s -interface ppp0
Apos criar o arquivo sete o com chmod 755.
Apos setar o arquivo /etc/natd.sh como executavel copie ele para o diretorio
/usr/local/etc/rc.d
deste modo o natd sera executado quando o FreeBSD for inicializado.
Feitas todas as alteracoes, de um shutdown em seu servidor:
# shutdown -r +0
Apos a inicializacao so seu sistema, toda a sua rede de 192.168.10.x ,
ja podera se conectar a INTERNET , atraves de seu gateway. O unico inconveniente desse
metodo e que todo o trafego e encapsulado no IP da interface ppp0.
Mas funciona que e uma maravilha. Basta dar a seus clientes um qualquer IP da rede 192.168.10.x
e seta-los para usar o FreeBSD como gateway.
OBS: Nao esqueca de configurar o /etc/resolv.conf de seu servidor ok?
Boa Sorte!
Se você possui alguma critica , duvida ou sugestão ,entre em contato pelo e-mail: edson.brandi@uol.com.br