Laboratório: NetKit Roteamento
Laboratório: NetKit
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].
Teste do Netkit2
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].
Rede de computadores básica
O script abaixo apresenta uma rede de computadores básica para ser testado (Consulte [1] para mais detalhes sobre a sintaxe dos scripts):
pc1[type]=generic pc2[type]=generic pc1[eth0]=lan1:ip=192.168.0.1/24 pc2[eth0]=lan1:ip=192.168.0.2/24
- 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 uma captura de pacotes com wireshark em um dos pc;
- Execute novamente o comando ping;
- Verifique os pacotes ICMP capturados.
Redes de computadores interligadas por roteadores
O script abaixo apresenta duas redes de computadores interligadas por roteadores, sendo estes últimos conectados entre si por um enlace ponto a ponto (Fonte: [1]):
pc1[type]=generic pc2[type]=generic pc3[type]=generic r1[type]=gateway r2[type]=gateway pc1[eth0]=lan1:ip=192.168.0.1/24 pc2[eth0]=lan1:ip=192.168.0.2/24 pc3[eth0]=lan2:ip=192.168.1.3/24 r1[eth0]=lan1:ip=192.168.0.254/24 r2[eth0]=lan2:ip=192.168.1.254/24 r1[ppp0]=link:ip=10.0.0.1/24 r2[ppp0]=link:ip=10.0.0.2/24 pc1[default_gateway]=192.168.0.254 pc2[default_gateway]=192.168.0.254 pc3[default_gateway]=192.168.1.254 r1[route]=192.168.1.0/24:dev=ppp0 r2[route]=192.168.0.0/24:dev=ppp0
- Edite um arquivo de texto e salve em uma pasta de trabalho (extensão .conf);
- Carregue 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 máquina com o comando ifconfig;
- Verifique a conectividade em rede entre as máquinas com o comando ping;
- Verifique a rota dos pacotes entre os computadores pc1 e pc3 com o comando traceroute.
- Lance uma captura de pacotes com wireshark em um dos computadores da lan1;
- Execute novamente o comando traceroute entre os computadores pc1 e pc3;
- Verifique os pacotes ICMP capturados relativos ao traceroute..
Exercício
Montar no NetKit2 a rede experimental mostrada na figura:
- Considere que você dispõe do bloco de endereços IP 192.168.100.0/24 para ser utilizado no endereçamento da rede experimental;
- Faça uma alocação de endereços IP para cada sub-rede (rede 1, 2 e 3), alocando para a sub-rede 1 32 IPs e nas sub-redes 2 e 3 alocar 16 IPs;
- Faça também uma alocação de endereços IP para cada enlace ponto a ponto (rede AB, AC e AB).
- Defina as tabelas de roteamento entre para que os hosts possam trocar pacotes entre si.
- Faça teste conectividade entre os hosts.
- Para entregar
- Relatório descrevendo a distribuição dos endereços IP.
- Script comentado da rede experimental.
- Descrição dos procedimentos de teste realizados com o Netkit, anexando:
- Telas ilustrando a configuração IP das máquinas em cada rede;
- Telas mostrando a conectividade em rede entre as máquinas;
- Telas ilustrando as tabelas de roteamento de cada roteador;
- Telas ilustrando a rota seguida pelos pacotes entre hosts de duas redes remotas.
Comandos para configurar interfaces de rede e roteamento
Configurar uma interface de rede
- ifconfig
- O aplicativo utilizado para visualizar a configuração ou configurar uma interface de host. Se nenhum argumento for passado o comando mostra a configuração atual de cada interface de rede.
Para configurar uma interface:
ifconfig eth0 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255 up
Caso a máquina venha a ser reiniciada a configuração será perdida. Para deixar a configuração permanente deve-se editar o arquivo
/etc/network/interfaces
- e inserir a configuração:
auto eth0 iface eth0 inet static address 192.168.0.1 network 192.168.0.0 netmask 255.255.255.0
Uma vez reiniciada a máquina ela assume a configuração de rede. Caso o arquivo seja modificado e se deseja reconfigurar a máquina, o serviço deve ser reiniciado com o comando:
/etc/init.d/networking restart
Roteamento Estático
- route
- Mostra e manipula tabelas de roteamento em máquinas Linux.
Para verificar a tabela de roteamento do computador, executar o comando:
route -n
- roteador padrão
- Para termos conexão com a Internet cada rede local deve ter um roteador padrão, ou gateway default.
Comando para configurar manualmente o roteador padrão:
route add default gw 192.168.0.254 dev eth0
Referências
--Evandro.cantu (discussão) 17h51min de 9 de junho de 2015 (BRT)