domingo, 10 de novembro de 2013

Passo a passo - Rede, DHCP, DNS e Internet

Passo a passo de como configurar a Rede, o DHCP, DNS e compartilhamento de Internet no Linux.

 0) Antes de configurar a sua máquina reveja:

 - O VitualBox está configurado corretamente?
 - Você configurou as senhas de root e Aluno conforme a senha fornecida em aula?

Você deve identificar as interfaces de rede da sua máquina, o normal é que sejam eth0 e eth1, mas se você fez alguma alteração é importante saber quais nomes o sistema atribuiu às interfaces, e qual delas é rede interna e qual é rede externa.
Você pode usar o comando ifconfig para checar.

 Comandos básicos:

ifconfig                          # mostra a configuração de todas interfaces de rede
ifconfig eth0                  # mostra  configuração da eth0
ifdown eth0                   # desativa a interface eth0
ifup eth1                        # ativa a interface eth1
apt-get install mc          # Instala o pacote "mc", que vem com o editor "mcedit"
/etc/init.d/networking restart           # Recarrega o serviço de rede
dhclient eth1                 # Solicita configuração via dhcp na interface eth1


Para fazer todas essas configurações você deve estar logado como root.

1) Configurando a rede no servidor

Primeiro o servidor deve estar com as 2 interfaces de rede configuradas, para isso vamos editar o arquivo "/etc/network/interfaces"

nano /etc/network/interfaces

Dentro do arquivo você deve declarar as configurações das interfaces, sendo a interface interna com endereço manual e a externa por DHCP. O arquivo deve ter o seguinte conteúdo:

# A interface de loopback
auto lo
iface lo inet loopback

## eth0 interface da rede interna.
## configurada manualmente.
allow-hotplug eth0
iface eth0 inet static
        address  10.0.XY.254

        netmask  255.255.255.0
        network  10.0.XY.0
        broadcast 10.0.XY.255

## Interface conectada à rede da escola (modo bridge)
## Receba via DHCP a configuração
allow-hotplug eth1
iface eth1 inet dhcp

 

Lembre que você deve colocar o seu endereçamento segundo a nossa nomenclatura, substituindo XY pelo número da sua máquina.
Terminada a edição do arquivo você deve recarregar o serviço de rede do sistema:

service networking restart 
ifup lo eth0 eth1


Em seguida execute o ifconfig e veja e as interfaces estão configuradas. Se elas não aparecerem na saída do ifconfig você pode ativar uma por uma:

ifup eth0
ifup eth1

Se houver algum erro no arquivo de configuração você deve reabrir o arquivo e revisar o passo 1. O endereço configurado na interface interna deve aparecer no comando ifconfig, e o endereço fornecido pela escola via DHCP deve aparecer na interface externa (eth1).

Você pode fazer uma nova solicitação DHCP para o servidor da escola com o seguinte comando:

dhclient eth1

Não entre nos passos seguintes sem antes ter certeza de toda a configuração do passo 1 estar correta. Use o comando "ifconfig eth0" para checar se o endereço configurado na interface interna está correto, e o comando "ifconfig eth1" para checar se o servidor recebeu endereço da rede da escola por dhcp.

Se está tudo correto, teste a conexão com a internet no servidor usando o comando ping para algum host da internet. Por exemplo:

ping -c 4 www.google.com.br


2) Configuração do servidor DHCP

 Com a rede configurada no servidor, vamos configurar o serviço de DHCP. Primeiro instale o pacote:

apt-get intall isc-dhcp-server

Depois você deve abrir o arquivo "/etc/default/isc-dhcp-server" e encontrar o parâmetro "INTERFACES", onde você deve deixar apenas a interface interna, como em.

INTERFACES="eth0"


Salve o arquivo "/etc/default/isc-dhcp-server" e a abra o arquivo de configuração do servidor dhcp "/etc/dhcp/dhcpd.conf". Você pode remover todo o conteúdo original e deixar da seguinte maneira:

ddns-update-style       none;
default-lease-time      600;
max-lease-time          7200;
authoritative;
ddns-domainname "lab3.femc.";


subnet 10.0.XY.0 netmask 255.255.255.0
{
        range 10.0.XY.100 10.0.XY.150;
        option routers 10.0.XY.A;
        option domain-name-servers 10.0.XY.A;
        option broadcast-address 10.0.XY.255;
}



Lembre-se, XY é inválido para endereços IP, você deve substituí-los pelo seu número. E onde eu coloco A, você deve colocar o IP do servidor, definido anteriormente.
 
Salve o arquivo e reinicie o serviço de dhcp com o seguinte comando:

service isc-dhcp-server restart

Se ele informar algum erro será mostrado em qual parte do arquivo está o erro. Você deve voltar ao arquivo e rever. Corrija o problema e reinicie o serviço novamente.

A rede declarada no arquivo do dhcp deve ser a mesma configurada para a rede interna, de acordo com o seu endereço IP de acordo com a nomenclatura. Por exemplo, se eu configurei o endereço 10.0.55.254 para a interface interna do servidor, a rede declarada no dhcp deve ser 10.0.55.0.

3) Configuração básica do DNS

Instalar o servidor DNS para que ele funcione como um servidor de cache DNS. Basta instalar o pacote:

apt-get install bind9

Lembre que o DNS declarado no DHCP deve apontar para o servidor (com o seu endereço IP), no parâmetro "option domain-name-servers 10.0.XY.A;", para que o cliente use o servidor como servidor DNS. Por exemplo, se eu configurei o IP do servidor como 10.0.74.254, o parâmetro no dhcp seria "option domain-name-servers 10.0.74.254;".

4) Compartilhamento de internet

Para que o servidor compartilhe a conexão com a internet são necessários 2 comandos:

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

Lembre que onde está "eth1" você deve colocar a sua interface externa, caso tenha nome diferente de eth1.

Estes dois comandos devem ser escritos no arquivo"/etc/rc.local" antes da linha "exit 0", para que sejam executados durante o boot, e você não precise fazer de novo a cada inicialização.

Abra o arquivo e digite os comandos conforme dito:

nano /etc/rc.local

Para que a máquina cliente acesse a conexão compartilhada pelo servidor ela deve usar o mesmo como roteador (gateway), para isso na configuração do DHCP, no parâmetro "option routers 10.0.XY.A;" você deve colocar o IP do seu servidor. Por exemplo, se eu configurei o endereço 10.0.80.254 para a interface interna do servidor,o parâmetro na configuração do DHCP deve ser da seguinte maneira "option routers 10.0.80.254;".

5) Recebendo a configuração na máquina cliente

Logue como usuário root na máquina cliente, e verifique o arquivo de configuração da rede, "/etc/network/interfaces". Ele deve estar assim:

## Interface de loopback
auto lo
iface lo inet loopback

### eth0 interface da rede interna
### Recebe a configuração via DHCP do servidor.
allow-hotplug eth0
iface eth0 inet dhcp


Salve o arquivo e faça uma solicitação dhcp para que o servidor forneça a configuração, usando o comando:

dhclient eth0

Confira se a configuração foi entregue corretamente usando o comando "ifconfig" para checar o endereço.

Veja se o DNS fornecido está de acordo com o passo 3 usando o comando:

cat /etc/resolv.conf

Este comando exibe o arquivo onde deve estar o endereço ip do servidor DNS fornecido por DHCP. A linha "nameserver 10.0.XY.A", contendo o endereço do seu servidor deve aparecer.
Exemplo:

# cat /etc/resolv.conf
domain lab3.femc
search lab3.femc
nameserver 10.0.66.254

Se algo der errado confira se a máquina cliente está com a configuração do Virtual Box correta. Se ainda der errado revise os passos 0, 1 e 2 deste tutorial.

Por fim você deve testar se a máquina cliente acessa a internet. Use o ping para isso:

ping -c 4 www.google.com.br

Pronto ?


Nenhum comentário:

Postar um comentário