11 de mai. de 2009

Server Internet - DHCP + Iptables

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/interfaces

E altere o arquivo para os seguintes valores.

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0


Com 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-server

Depois do termino da instalação do pacote, devemos configurar dois arquivos, vamos a eles.

:~# pico /etc/default/dhcp3-server

Neste 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.conf

Já 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 restart

Se 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 MASQUERADE

Agora 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 > iptables

O 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 iptables

Agora, 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 iptables
Servidores Linux, Guia Prático: Configurando um Servidor DHCP

Um comentário:

  1. Como vai luiz??
    Sobre o Documentário Inproprietario:
    O IN é proposital. Dá uma olhada na imagem da capa e no vídeo que ficará mais claro.

    veja os outros comentários

    http://br-linux.org/2009/documentario-sobre-o-software-livre/

    ResponderExcluir