3. Configuração do Servidor DHCP

Propaganda
PRÁTICA DE DHCP - LINUX
Este exercício prático pode ser desenvolvido utilizando o
ambiente espec através do Vnc ou as imagens fornecidas
no DVD.
1. APRESENTAÇÃO DO CENÁRIO 1
sudo /etc/init.d/conftap.sh
sudo iptables -F
sudo service sshd restart
Crie a primeira máquina virtual para representar o gateway
G1:
linux32.redes G1
login: root
Execute o seguinte procedimento na VM:
ifconfig eth0 20.0.13.14
mkdir dhcp
scp [email protected]:dhcp/* dhcp
Lembre-se que se você estiver no servidor remoto, o login é
o mesmo que você usou para conectar-se via SSH ou VNC.
Se estiver usando a imagem do DVD, o login é rss e a senha
é pucpos.
Neste primeiro cenário, será necessário criar três máquinas
virtuais, conforme indicado na figura. A VM G1 atua ao
mesmo tempo como roteador e como servidor DHCP (o que
é uma prática comum em muitos sistemas).
3. CONFIGURAÇÃO DO SERVIDOR DHCP
2. CRIAÇÃO DAS VMS PARA O CENÁRIO 1
Baixe o pacote com os arquivos necessários para realização
dessa prática no seu diretório home:
wget espec.ppgia.pucpr.br/jam_pacotes/dhcp.tar.gz
tar -xzf dhcp.tar.gz
Como nos exercícios anteriores é necessário tomar cuidado
para não haver conflito com os endereços de outras VMs
sendo executadas na espec. Para isso, supondo que seu
código de estudante é (101) 11 12 13 14 –x , escolha os
seguintes endereços:
G: 20.0.13.14
H1: 20.1.13.14
H2: 20.2.13.14
Primeiro, abra um terminal na espec, e crie um diretório em
sua área para armazenar as máquinas virtuais:
mkdir praticadhcp
cd praticadhcp
Caso esteja utilizando a imagem do DVD, digite o comando
abaixo (a senha é pucpos).
A figura ilustra como será feita a distribuição de endereços
para o cenário 1. Observe que as subredes 13.14.0.0/24 e
13.14.1.0/24 foram definidos em função do código de
matricula usado como exemplo (101) 11.12.13.14-x. Você
deve substituir o prefixo 13.14 pelo equivalente do seu
código de matrícula.
O seguinte procedimento deverá ser executado na VM G1.
No diretório dhcp, criado quando você descompactou o
arquivo dhcp.tar.gz você vai encontrar o arquivo
dhcpd.conf. Edite este arquivo utilizando o vi, alterando os
endereços de acordo com o seu código de matrícula.
Após fazer essas alterações, copie o arquivo dhcpd.conf
para o diretório /etc:
cd /root/dhcp
cp dhcpd.conf /etc/dhcp
vconfig add eth0 2
Crie as VLANs e atribua os endereços IP para as interfaces
do roteador.
Execute o cliente dhclient e veja o IP obtido:
vconfig add eth0 2
ifconfig eth0.2 13.14.0.1/24
vconfig add eth0 3
ifconfig eth0.3 13.14.1.1/24
sysctl -w net.ipv4.ip_forward=1
dhclient eth0.2
ifconfig
Para liberar o endereço IP obtido, digite:
dhclient eth0.2 -r
Execute o servidor dhcpd com o seguinte comando:
dhcpd
Se você receber alguma mensagem de erro, será necessário
corrigir o arquivo /etc/dhcpd.conf e reiniciar o servidor
dhcpd. Você precisará reiniciar o servidor dchpd também se
fizer alguma alteração no arquivo dhcpd.conf.
service dhcpd restart
A mensagem sobre eth0 não é um erro, e pode ser
ignorada (ela simplesmente informar que não há sub-rede
para interface eth0).
4. CONFIGURAÇÃO DOS HOSTS
Não é necessário ter o cliente dhclient instalado em uma
host a fim de pode usar o DHCP. Cada interface do host
pode ser configurada automaticamente na inicialização do
sistema operacional, se houver um script de inicialização
ifcfg-ethX no diretório /etc/sysconfig/network-scripts.
Para o host H2, vamos utilizar essa estratégia para obter o
endereço. Caso ainda não tenha feito, crie a máquina
virtual para representar o host H2:
linux32.redes H2
Execute o seguinte procedimento na VM:
login: root
ifconfig eth0 20.2.13.14
Caso ainda não tenha feito, crie a máquina virtual para
representar o host H1:
Crie a interface de VLAN do host H2
linux32.redes H1
vconfig add eth0 3
Execute o seguinte procedimento na VM:
Crie um arquivo de configuração para a interface eth0.3:
login: root
ifconfig eth0 20.1.13.14
cd /etc/sysconfig/network-scripts
vi ifcfg-eth0.3
Crie a interface de VLAN do host H1:
Edite o arquivo ifcfg-eth0.3 para que ele fique com o
seguinte conteúdo:
DEVICE=eth0.3
BOOTPROTO=dhcp
ONBOOT=yes
TYPE=Ethernet
Crie e edite o arquivo ifcfg-eth0 da seguinte forma (pois
não há dhcp para eth0):
vi ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
IPADDR=20.2.13.14
NETMASK=255.0.0.0
ONBOOT=yes
No cenário 2, será testado o conceito de agente relay,
conforme ilustrado na figura.
Crie a máquina virtual para representar o agente relay G2:
linux32.redes G2
O próximo passo usualmente não é necessário em
ambiente Linux não virtualizado. A imagem foi criada sem
interface física real, então alguns arquivos de configuração
de rede ficaram faltando na instalaçãose. Crie o arquivo
/etc/sysconfig/network na máquina UML:
Execute o seguinte procedimento na VM:
login: root
ifconfig eth0 20.3.13.14
vi /etc/sysconfig/network
Crie a interface de VLAN do gateway G2
O arquivo precisa conter apenas a linha abaixo:
vconfig add eth0 3
ifconfig eth0.3 13.14.1.2/24
vconfig add eth0 4
ifconfig eth0.4 13.14.2.1/24
sysctl -w net.ipv4.ip_forward=1
NETWORKING=yes
Reinicialize o serviço de rede do computador e verifique os
endereços IP:
service network restart
ifconfig
Ative o agente relay para redirecionar as requisições DHCP
para G1:
dhcrelay 13.14.1.1
5. APRESENTAÇÃO DO CENÁRIO 2
Comandos para a VM G1:
É preciso incluir uma rota em G1 para a subrede da VLAN 4
route add -net 13.14.2.0/24 gw 13.14.1.2
Comandos para a VM Host 2:
Agora, é necessário remover o host 2 para VLAN 4 e obter o
novo IP.
vconfig rem eth0.3
vconfig add eth0 4
dhclient -r (encerra a instância anterior do cliente dhcp)
dhclient eth0.4
6. RELATÓRIO A SER ENTREGUE NO EUREKA
Nesse relatório você deverá incluir as informações de dois
arquivos do servidor DHCP (isto é, a VM G1):
O arquivo de configuração: /etc/dhcpd.conf
O arquivo de leasings ativos: /var/lib/dhcpd/dhcpd.leases
Para isso transfira ambos os arquivos para seu diretório na
espec e crie um arquivo texto ou .pdf com essas
informações.
scp /etc/dhcpd.conf [email protected]:.
scp /var/lib/dhcpd/dhcpd.leases [email protected]:.
MÉTODO ALTERNATIVO PARA TRANSFERIR
ARQUIVOS PARA A MÁQUINA HOST
O roteiro sugere utilizar o comando scp para transferir
arquivos entre o ambiente guest (UML) e o ambiente host
(espec).
Contudo, existe um método alternativo, que pode ser
utilizado.
Digite o seguinte comando na máquina UML (DVD):
mkdir /espec
mount none /espec -t hostfs -o /home/rss
O diretório /espec está agora montado com o diretório na
espec. Você pode transferir os arquivos usando cp.
Por exemplo:
cp vlan.cap /espec
O arquivo vai aparecer no diretório padrão (/home/rss) no
ambiente host.
O mapeamento pode ser feito também no ambiente
servidor espec. Nesse caso, contudo, é melhor você
verificar primeiro o seu diretório padrão na espec. Digite o
comando abaixo em um terminal:
pwd
Substitua o caminho após o parâmetro "-o", conforme
indicado a seguir:
mkdir /espec
mount none /espec -t hostfs -o caminho_pwd
Download