Server Internet - DHCP + Iptables
Autor: Luís Knob | Publicado: 2009-05-11T11:30:00-03:00

Após instalar o ubuntu server, é necessário começar as configurações do mesmo, e a primeira coisa que resolvi fazer foi configurar o NAT, com dhcp3-server e iptables.A instalação do dhcp3-server é bastante tranquila, mas antes é necessário alterar as configurações da rede, recomendo a instalação de no mínimo duas interfaces, uma para "receber" e outra para "enviar" o sinal, mas tudo pode ser feita numa única placa, criando um alias.Em toda instalação usarei a base de IP 192.168.1, sendo o servidor 192.168.1.1, esses valores podem ser alterados.Será necessário alterar o /etc/network/interfaces, então no terminal digite::~# pico /etc/network/interfacesE altere o arquivo para os seguintes valores.auto loiface lo inet loopbackauto eth0iface eth0 inet dhcpauto eth1iface eth1 inet staticaddress 192.168.1.1netmask 255.255.255.0network 192.168.1.0Com esta configuração a eth0 está recebendo o sinal pelo modem de internet via dhcp e fixando o ip do servidor na eth1 (que irá mandar o sinal para as outras máquinas da rede).Configurado os IPs, está na hora de baixar o dhcp3-server.:~# apt-get install dhcp3-serverDepois do termino da instalação do pacote, devemos configurar dois arquivos, vamos a eles.:~# pico /etc/default/dhcp3-serverNeste arquivo altere o valor entre aspas da variável INTERFACE para a sua interface de rede interna, no meu caso "eth1".:~# pico /etc/dhcp3/dhcpd.confJá neste outro, altere o arquivo para o seguinte texto.default-lease-time 3600;max-lease-time 7200;log-facility local7;option domain-name-servers 201.10.1.2, 201.10.120.3;subnet 192.168.1.0 netmask 255.255.255.0 {range 192.168.1.40 192.168.1.254;option routers 192.168.1.1;}Sem dar grandes explicações da configuração, a subnet será sua base de ip, o range será os limites entre o primeiro e o último ip usado pelo DHCP e o domain-name-server serão os servidores DNS.Reinicie o dhcp3-server.:~# invoke-rc.d networking restartSe retornar um [ok], o servidor já estará distribuindo ip pela rede.  Então descomente a linha net.ipv4.ip_forward=1 do arquivo /etc/sysctl.conf. Faltando apenas o roteamento pelo iptables através do comando.:~# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEAgora você pode fazer um teste numa máquina qualquer da rede, resetar sua interface de rede, ver se o dhcp distribui corretamente o ip, e testar se o navegador consegue entrar na internet.Se estiver tudo ok, está na hora de guardar as informações do iptables num arquivo, já que o mesmo não mantém as informações se a máquina é reiniciada ou desligada. Para isso use os seguinte comandos.:~# cd /etc/network/:~# touch iptables:~# iptables-save  > iptablesO Arquivo com as alterações no iptables está terminado, agora vamos fazê-lo iniciar no momento em que a conexão de rede subir. Para isso vamos criar um pequeno script em shell script que será executado na inicialização da rede.:~# cd /etc/network/if-up.d/:~# touch iptables:~# echo #!/bin/sh >> iptables:~# echo /sbin/iptables-restore /etc/network/iptables.rules >> iptables:~# chmod +x iptablesAgora, mesmo que a máquina reinicie ou desligue, ao iniciar nossa configuração será mantida.bibliografia:Cinlug - Montando Uma Sub-Rede Com Debian/Ubuntu, DHCP e iptablesServidores Linux, Guia Prático: Configurando um Servidor DHCP