domingo, 20 de maio de 2012

Configurando um Servidor DHCP e Gateway de Internet


Pessoal nosso primeiro post será como configurar um servidor Gateway e Dhcp, se você não possui uma rede em sua casa ou na empresa que você trabalha recomendo que use algum software de virtualização como o VMware ou o VirtualBox, nos precisaremos de no mínimo uma máquina como servidor com duas interfaces de rede e mais duas máquinas como clientes, iremos utilizar a distribuição Debian Squeeze como servidor, e os clientes com Windows ou Linux instalado, pressupondo que você já possui o Debian Squeeze instalado no seu servidor iremos por a mão na massa.


Primeiro temos que alterar o source.list do nosso debian, que é o arquivo de repositórios dele, para isso iremos até o terminal como root  e seguimos os passos abaixo:

# pico /etc/apt/souce.list

Iremos apagar todas as linhas do arquivo e colocaremos as seguintes linhas:

deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free

deb http://ftp.debian.org/debian/ squeeze-updates main contrib
deb-src http://ftp.debian.org/debian/ squeeze-updates main contrib

deb http://ftp.br.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.br.debian.org/debian/ squeeze main contrib non-free

Pressione Ctrl+O para salvar e Ctrl+X para sair, com isso podemos atualizar nosso sistema com os comandos:

# aptitude update
# aptitude upgrade

Obs: Selecione Y para concordar e pressione Enter.

Depois de algum tempo nosso sistema já esta atualizado e pronto para ser configurado, abaixo segue o diagrama do nosso ambiente:

Para isso iremos configurar nossas interfaces:

# pico /etc/network/interfaces

Iremos apagar todas as linhas e colocar as seguintes:

auto lo
iface lo net loopback

auto eth0
iface eth0 inet static

                address 192.168.0.1
                netmask 255.255.255.0
                network 192.168.0.0
                broadcast 192.168.0.255

auto eth1
iface eth1 inet dhcp

Pressione Ctrl+O para salvar e Ctrl+X para sair, abaixo segue a descrição de cada linha:

auto: Ativa a interface de rede
iface : Inicio da configuração da interface
address : IP da placa de rede
netmask : Mascara de rede
network : Faixa de endereço da rede
broadcast : endereço de broadcast da rede

Pronto com nossas interfaces configuradas podemos dar continuidade ao nosso trabalho, coloque o cabo de internet na placa eth1 de seu computador e o cabo que vem do switch na placa eth0, com isso seu servidor já deve estar com internet.

Agora é hora de instalar o serviço de DHCP:

# apt-get install dhcp3-server

Confirme a instalação e de Enter. Depois de nosso serviço instalado iremos acessar seu arquivo de configuração:

# cd /etc/dhcp/
# mv dhcpd.conf dhcpd.conf.bkp
# pico dhcpd.conf
 Iremos colocar o seguinte conteúdo:

ddns-update-style none;

default-lease-time 600;
max-lease-time 7200;

log-facility local7;

authoritative;

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.200;
option routers 192.168.0.1;
option domain-name-servers 208.67.222.222, 208.67.220.220;
option broadcast-address 192.168.0.255;
}
        host Micro5 {
        hardware ethernet 00:19:21:30:33:3E;
        fixed-address 192.168.0.99;
        }


Pressione Ctrl+O para salvar e Ctrl+X para sair.

Obs: As linhas : host Micro5 {
                               hardware ethernet 00:19:21:30:33:3E;
                               fixed-address 192.168.0.99;
                               }
São para reservar um ip da rede para uma máquina exclusiva, no caso acima a maquina Micro5 que tem o endereço Mac 00:19:21:30:33:3E, irá pegar o ip 192.168.0.99 automaticamente pelo dhcp, lembrando que é sempre bom nunca reservar ip’s que estejam na faixa do dhcp que no caso acima é de 192.168.0.100 até 192.168.0.200.

subnet 192.168.0.0 : Faixa de endereço da rede
range : Faixa de endereço dhcp
option routers : Gateway da rede
option domain-name-servers : DNS da rede, no caso o ip é do Open Dns
option broadcast-address : Endereço de broadcast da rede

Agora é a hora de configurar os logs:

# pico /etc/rsyslog.conf

Adicione a seguinte linha no final deste arquivo:

local7.* /var/log/dhcpd.log
Pressione Ctrl+O para salvar e Ctrl+X para sair.

Restart os serviços:

# /etc/init.d/isc-dhcp-server start
# /etc/init.d/rsyslog restart

Pronto com isso nossos clientes já são capazes de pegar ip automaticamente, agora falta compartilhar a internet do servidor.

Para isso iremos criar um pequeno script:

# cd /etc/init.d/
# pico Gateway
Nesse arquivo iremos adicionar as seguintes linhas:

#!/bin/bash

iniciar(){

# Compartilhando a Conexão

                modprobe iptable_nat
                echo 1 > /proc/sys/net/ipv4/ip_forward
                iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

}

parar(){
                iptables -F
                iptables -t nat -F
                echo 0 > /proc/sys/net/ipv4/ip_forward
}

case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "use parametros"
esac

Pressione Ctrl+O para salvar e Ctrl+X para sair. Depois disso iremos dar poder de execução há esse arquivo:

# chmod +x Gateway

Para compartilhar a internet na inicialização do sistema execute:

# update-rc.d Gateway defaults

Executando nosso scrip:

# ./Gateway start

Pronto nosso Servidor já esta compartilhando a internet e distribuindo ip.

Bem pessoal é isso ai espero que tenham gostado do nosso primeiro post, é bem básico para o pessoal já ir entendendo como funciona o sistema. Até a próxima.

6 comentários:

  1. Fala ricardo beleza? consegui resolver direitinho sobre o compartilhamento do samba , agora estou compartilhando a internet , porem dá um erro quando vou rodar esse script : erro de sintaxe: fim prematuro do arquivo , já revi várias vezes o script porem está tudo igual ao seu ... escrevendo as regras do iptables na "mão" ele compartilha a internet, porem o script não roda...

    ResponderExcluir
    Respostas
    1. Desculpa cara consegui resolver : o seu "Esac" está com letra maiúscula , porem ele só aceitou quando coloquei todo em minusculo, to colocando pq alguém pode ter o mesmo problema que eu tive !

      Att

      Rafael

      Excluir
  2. E ai Rafael, blz brother, pow foi mal pelo erro na digitação, e obrigado por avisar, já corrigi o erro, precisando de alguma coisa é só falar.

    ResponderExcluir
  3. Ao tentar Restart o serviço:

    # /etc/init.d/isc-dhcp-server start

    Me retornou esse erro:

    http://img10.imageshack.us/img10/3710/dhcp01.jpg

    Meu dhcpd.conf ficou assim:
    http://img17.imageshack.us/img17/8984/dhcp02.jpg

    ResponderExcluir
  4. Olá Ricardo. Fiz tudo certinho, igual o Tutorial.
    Os clientes estão funcionando perfeitamente. Muito Bom :D
    Mas no servidor não ta carregando as paginas pelo navegador.
    Pelo terminal consigo da ping pra IPs e Nomes tranquilo, só que no navegador não carrega as paginas.
    Já testei no Chrome, Firefox, Elinks e não funciona. O que pode ser isso?

    ResponderExcluir