Laboratório: NetKit DHCP e NAT: mudanças entre as edições
(23 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 25: | Linha 25: | ||
#Verifique as configurações de cada '''pc''' com o comando '''ifconfig'''; | #Verifique as configurações de cada '''pc''' com o comando '''ifconfig'''; | ||
#Verifique a conectividade em rede entre os '''pc''' com o comando '''ping'''; | #Verifique a conectividade em rede entre os '''pc''' com o comando '''ping'''; | ||
#Lance | #Lance o '''tcpdump''' (ou '''wireshark''') para capturar pacotes em um dos '''pc''', e a partir do outro execute novamente o comando '''ping''' e verifique os pacotes '''[[Protocolo ICMP|ICMP]]''' capturados. | ||
==Exercício 2: Redes interligadas por ''gateway''== | ==Exercício 2: Redes interligadas por ''gateway''== | ||
Linha 36: | Linha 34: | ||
pc3[type]=generic | pc3[type]=generic | ||
pc1[default_gateway]=192.168.0.2 | pc1[default_gateway]=192.168.0.2 | ||
pc3[default_gateway]=192.168.1. | pc3[default_gateway]=192.168.1.1 | ||
pc1[eth0]=lan0:ip=192.168.0.1/24 | pc1[eth0]=lan0:ip=192.168.0.1/24 | ||
pc2[eth0]=lan0:ip=192.168.0.2/24 | pc2[eth0]=lan0:ip=192.168.0.2/24 | ||
pc2[eth1]=lan1:ip=192.168.1. | pc2[eth1]=lan1:ip=192.168.1.1/24 | ||
pc3[eth0]=lan1:ip=192.168.1. | pc3[eth0]=lan1:ip=192.168.1.2/24 | ||
A rede resultante é: | A rede resultante é: | ||
[[Arquivo:Netkit-lab2.png]] | [[Arquivo:Netkit-lab2.png]] | ||
;Parte 1: | |||
#Edite e carregue o arquivo no NetKit2; | |||
#Verifique as configurações de cada '''pc''' com o comando '''ifconfig'''; | |||
#Verifique as '''tabelas de roteamento''' de cada '''pc''' com o comando '''route -n'''; | |||
#Verifique a conectividade em rede entre os '''pc''' com o comando '''ping'''; | |||
#Execute o comando '''traceroute''' entre os '''pc''' dos extremos da rede e verifique a rota seguida pelos pacotes; | |||
#Lance o '''tcpdump''' (ou '''wireshark''') para capturar pacotes em um dos pc de um extremo da rede, e a partir do outro execute novamente o comando '''traceroute''' e analise os pacotes capturados. Veja o funcionamento do '''[[Protocolo ICMP|traceroute]]''' para entender as mensagens trocadas e as mensagens de erro '''ICMP''' utilizadas. | |||
;Parte 2: Inclua mais um '''''gateway''''' na rede, como mostra a figura: | |||
[[Arquivo:Netkit-lab3.png]] | |||
#Verifique as configurações de cada '''pc''' com o comando '''ifconfig'''; | |||
#Verifique as '''tabelas de roteamento''' de cada '''pc''' com o comando '''route -n'''; | |||
#Verifique a conectividade em rede entre os '''pc''' com o comando '''ping'''; | |||
#Acrescente '''rotas estáticas''' com o comando '''route -n''', de forma que todas as redes possam trocar pacotes (ver: [http://wiki.foz.ifpr.edu.br/wiki/index.php/Rede_e_Roteamento#route Rotas estáticas]); | |||
#Verifique novamente as '''tabelas de roteamento''' com o comando '''route -n'''; | |||
#Verifique a conectividade em rede entre os '''pc''' com o comando '''ping'''; | |||
#Execute o comando '''traceroute''' entre os '''pc''' dos extremos da rede e verifique a rota seguida pelos pacotes. | |||
==Exercício 3: Redes com ''gateway'' e servidor DHCP== | |||
Pesquise sobre a configuração de servidor DHCP no Netkit2 (ver [http://wiki.sj.ifsc.edu.br/wiki/index.php/Netkit2#Usando_DHCP Usando DHCP no Netkit2]) | |||
#Modifique o ''script'' do exercício anterior, de forma que o '''PC2''' atue como '''servidor DHCP''' para a interface '''eth0'''. | |||
#Inclua novos PCs configurados para '''obter endereço IP dinamicamente''' na rede 192.168.0.0/24. | |||
#Verifique no arquivo '''/etc/dhcp/dhcpd.conf''' as configurações do servidor DHCP. | |||
#Verifique no arquivo '''/etc/default/isc-dhcp-server''' as interfaces de rede que estão sendo providas por DHCP. | |||
#Verifique no arquivo '''/var/lib/dhcp/dhcpd.leases''' a listagem dos IP alugados pelo servidor. | |||
#Modifique o ''script'' acrescentando pelo menos dois novos PCs '''sem configuração da interface de rede''', incluindo no script linhas do tipo: '''pc4[eth0]=link'''. | |||
#Executar manualmente em um dos PC sem configuração da interface o comando '''dhclient eth0''' e verifique se obtem configuração de IP do DHCP. | |||
#Ative '''captura de pacotes''' com '''tcpdump''' (ou '''Wireshark''') na interface '''eth0''' do '''PC2''' ('''Servidor DHCP''') e em seguida, em outro '''computador sem interface configurada''' execute o comando '''dhclient eth0'''. Em seguida verifique os pacotes capturados relativos a negociação do cliente com o servidor DHCP. | |||
==Exercício 4: Redes com ''gateway'' e NAT== | |||
Pesquise sobre a configuração do roteador NAT no Netkit2 (ver [http://wiki.sj.ifsc.edu.br/wiki/index.php/Netkit2#NAT Usando NAT no Netkit2]) | |||
#Modifique o ''script'' do exercício anterior, de forma que o '''PC2''' atue como '''roteador NAT''' para os pacotes saindo pela interface '''eth1''', agora chamada de interface externa. | |||
#Execute o comando '''ping''' entre computadores das diversas redes para testar conectividade. | |||
#Ative em um PC externo ao NAT o '''servidor apache''' com o comando '''service apache2 start''' e inclua uma '''página HTML''' básica no arquivo '''/var/www/index.html'''. | |||
#Acesse a '''página Web''' no servidor apache com o '''navegador lynx'''. | |||
#Capturar pacotes com '''tcpdump''' (ou '''Wireshark''') na interface de um PC externo ao roteador NAT e identifique o '''tráfego HTTP''' entre o '''servidor apache''' e o '''navegador lynx'''. | |||
#Verifique nos pacotes capturados se o '''roteador NAT''' está mascarando os pacotes saindo pela sua interface externa. | |||
==Exercício 5: Redes com ''gateway'' para acesso a Internet== | |||
Pesquise sobre a interligação das '''redes virtuais''' do Netkit2 com a '''rede real''' (ver [http://wiki.sj.ifsc.edu.br/wiki/index.php/Netkit2#Uplink_para_a_rede_real Uplink para rede real]) | |||
#Modifique o ''script'' do exercício anterior, de forma que o '''PC2''' tenha um '''''uplink''''' para a '''rede real'''. | |||
##Execute o comando '''ping''' entre computadores da rede virtual e servidores da Internet. | |||
==Avaliação== | |||
Elaborar relatório descrevendo os experimentos realizados, incluindo a criação de '''rotas estáticas''', funcionamento do '''servidor DHCP''', '''roteador NAT''' e acesso da '''rede virtual''' do NetKit à '''rede real''': | |||
*Incluir figuras das topologias de rede, telas mostrando as configurações e saídas dos comandos (p.ex. ifconfig, ping, traceroute, route, etc). | |||
==Referências== | ==Referências== |
Edição atual tal como às 13h21min de 30 de novembro de 2017
Laboratório: NetKit DHCP e NAT
O Netkit2 [1] é um ambiente para experimentos com redes de computadores desenvolvido no Câmpus São José, do IFSC, inspirado no Netkit [2], desenvolvido pela Universidade de Roma, na Itália.
O Netkit2 se compõe de máquinas virtuais Linux (implementadas com kernel Linux UML – User Mode Linux), que funcionam como roteadores ou computadores e switches virtuais (UML switch) para interligar as máquinas virtuais. Para todos os efeitos, cada máquina virtual funciona como se fosse um computador real, possuindo uma ou mais interfaces de rede. Com esses recursos é possível criar redes de configurações arbitrárias para estudar protocolos de comunicação e serviços de rede [1].
O Netkit2 já está instalado no laboratório e pode ser iniciado com o comando:
netkit2
Caso deseja instalar o Netkit2 em outro computador Linux, consultar a referência [1].
Exercício 1: Teste do Netkit2
O script abaixo apresenta uma rede de computadores básica para ser testada no Netkit2 [1]:
pc1[type]=generic pc2[type]=generic pc1[eth0]=lan1:ip=192.168.0.1/24 pc2[eth0]=lan1:ip=192.168.0.2/24
A rede resultante é:
- Edite um arquivo de texto e salve em uma pasta de trabalho (extensão .conf);
- Carregue o arquivo no NetKit2 com a opção File -> Load and Run;
- Clique na opção File -> Graph e veja a topologia da rede em execução;
- Verifique as configurações de cada pc com o comando ifconfig;
- Verifique a conectividade em rede entre os pc com o comando ping;
- Lance o tcpdump (ou wireshark) para capturar pacotes em um dos pc, e a partir do outro execute novamente o comando ping e verifique os pacotes ICMP capturados.
Exercício 2: Redes interligadas por gateway
O script abaixo apresenta duas redes locais interligadas por um gateway [1]:
pc1[type]=generic pc2[type]=gateway pc3[type]=generic pc1[default_gateway]=192.168.0.2 pc3[default_gateway]=192.168.1.1 pc1[eth0]=lan0:ip=192.168.0.1/24 pc2[eth0]=lan0:ip=192.168.0.2/24 pc2[eth1]=lan1:ip=192.168.1.1/24 pc3[eth0]=lan1:ip=192.168.1.2/24
A rede resultante é:
- Parte 1
- Edite e carregue o arquivo no NetKit2;
- Verifique as configurações de cada pc com o comando ifconfig;
- Verifique as tabelas de roteamento de cada pc com o comando route -n;
- Verifique a conectividade em rede entre os pc com o comando ping;
- Execute o comando traceroute entre os pc dos extremos da rede e verifique a rota seguida pelos pacotes;
- Lance o tcpdump (ou wireshark) para capturar pacotes em um dos pc de um extremo da rede, e a partir do outro execute novamente o comando traceroute e analise os pacotes capturados. Veja o funcionamento do traceroute para entender as mensagens trocadas e as mensagens de erro ICMP utilizadas.
- Parte 2
- Inclua mais um gateway na rede, como mostra a figura:
- Verifique as configurações de cada pc com o comando ifconfig;
- Verifique as tabelas de roteamento de cada pc com o comando route -n;
- Verifique a conectividade em rede entre os pc com o comando ping;
- Acrescente rotas estáticas com o comando route -n, de forma que todas as redes possam trocar pacotes (ver: Rotas estáticas);
- Verifique novamente as tabelas de roteamento com o comando route -n;
- Verifique a conectividade em rede entre os pc com o comando ping;
- Execute o comando traceroute entre os pc dos extremos da rede e verifique a rota seguida pelos pacotes.
Exercício 3: Redes com gateway e servidor DHCP
Pesquise sobre a configuração de servidor DHCP no Netkit2 (ver Usando DHCP no Netkit2)
- Modifique o script do exercício anterior, de forma que o PC2 atue como servidor DHCP para a interface eth0.
- Inclua novos PCs configurados para obter endereço IP dinamicamente na rede 192.168.0.0/24.
- Verifique no arquivo /etc/dhcp/dhcpd.conf as configurações do servidor DHCP.
- Verifique no arquivo /etc/default/isc-dhcp-server as interfaces de rede que estão sendo providas por DHCP.
- Verifique no arquivo /var/lib/dhcp/dhcpd.leases a listagem dos IP alugados pelo servidor.
- Modifique o script acrescentando pelo menos dois novos PCs sem configuração da interface de rede, incluindo no script linhas do tipo: pc4[eth0]=link.
- Executar manualmente em um dos PC sem configuração da interface o comando dhclient eth0 e verifique se obtem configuração de IP do DHCP.
- Ative captura de pacotes com tcpdump (ou Wireshark) na interface eth0 do PC2 (Servidor DHCP) e em seguida, em outro computador sem interface configurada execute o comando dhclient eth0. Em seguida verifique os pacotes capturados relativos a negociação do cliente com o servidor DHCP.
Exercício 4: Redes com gateway e NAT
Pesquise sobre a configuração do roteador NAT no Netkit2 (ver Usando NAT no Netkit2)
- Modifique o script do exercício anterior, de forma que o PC2 atue como roteador NAT para os pacotes saindo pela interface eth1, agora chamada de interface externa.
- Execute o comando ping entre computadores das diversas redes para testar conectividade.
- Ative em um PC externo ao NAT o servidor apache com o comando service apache2 start e inclua uma página HTML básica no arquivo /var/www/index.html.
- Acesse a página Web no servidor apache com o navegador lynx.
- Capturar pacotes com tcpdump (ou Wireshark) na interface de um PC externo ao roteador NAT e identifique o tráfego HTTP entre o servidor apache e o navegador lynx.
- Verifique nos pacotes capturados se o roteador NAT está mascarando os pacotes saindo pela sua interface externa.
Exercício 5: Redes com gateway para acesso a Internet
Pesquise sobre a interligação das redes virtuais do Netkit2 com a rede real (ver Uplink para rede real)
- Modifique o script do exercício anterior, de forma que o PC2 tenha um uplink para a rede real.
- Execute o comando ping entre computadores da rede virtual e servidores da Internet.
Avaliação
Elaborar relatório descrevendo os experimentos realizados, incluindo a criação de rotas estáticas, funcionamento do servidor DHCP, roteador NAT e acesso da rede virtual do NetKit à rede real:
- Incluir figuras das topologias de rede, telas mostrando as configurações e saídas dos comandos (p.ex. ifconfig, ping, traceroute, route, etc).
Referências
--Evandro.cantu (discussão) 16h49min de 25 de novembro de 2015 (BRST)