Ponto de Presença da RNP na Bahia PoP-BA/RNP Universidade Federal da Bahia Departamento de Ciência da Computação Curso de Extensão em Administração de Redes Instrutor: Italo Valcy Roteiro para Prática 01 GNS e comandos da Cisco Este roteiro mostra os passos para configuração da topologia de rede acima. Parte 01 Instalando o GNS, VPCS e Wireshark Para instalar o GNS no GNU/Linux (sistemas baseados em Debian), basta executar o seguinte comando: sudo aptitude install gns3 No Windows, basta fazer o download e instalar o seguinte programa: http://downloads.sourceforge.net/gns-3/gns3-0.7.3-win32-all-in-one.exe?download O próximo passo é instalar o VPCS. O VPCS é um software para simulação de PCs na rede, executando apenas as funções mais básicas da pilha de rede de um sistema normal. Isso torna sua execução bastante simplificada, tendo pouco impacto no desempenho da máquina usada na simulação. Para instalar o VPCS basta fazer o download no link abaixo e descompactá-lo em uma pasta de sua preferência. http://www.freecode.com.cn/doku.php?id=wiki:vpcs Para executar o VPCS no GNU/Linux é preciso dar permissão de execução ao seu binário. Para sistemas 32 bits, execute o seguinte comando (na pasta com o VPCS descompactado) em um terminal do Linux: chmod +x vpcs32.linux Para instalar o Wireshark no GNU/Linux (sistemas baseados em Debian), basta executar o seguinte comando: sudo aptitude install wireshark No Windows, basta fazer o download e instalar o seguinte programa: http://www.wireshark.org/download.html
Parte 02 Configurando o GNS Para simular os cenários de rede no GNS, usaremos imagens do IOS da CISCO. Assim, é preciso configurá-las para que seja possível criar os ambientes de simulação desejados. No entanto, essas imagens são PROPRIETÁRIAS e, para usá-las, é necessário a permissão apropriada. Nesse curso usaremos imagens disponíveis na UFBA para os roteadores adquiridos na instituição. Em especial, usaremos o IOS do roteador modelo CISCO 3600. Para isso, faça o download do seguinte arquivo: https://intranet.dcc.ufba.br/pastas/extensao/pop-ba_rnp/20111/util/c3640.bin Inicie o GNS e acesse o menu Editar > Imagens IOS e hypervisors. No campo Arquivo de imagem, clique no botão para selecionar o arquivo que baixamos acima (c3640.bin). Após selecionar o arquivo, clique em Salvar. Nesse momento você estará habilitado a usar os itens do tipo Router c3600. Parte 03 Montando o cenário Arraste um item do tipo Router c3600 para a aba do meio. Adicionaremos um slot ao nosso roteador para interfaces Ethernet. Para isso, clique com o botão direito do mouse no roteador e escolha a opção Configure. Em seguida, selecione a aba Slots e, no slot 0, adicione o módulo chamado NM-4E. Este módulo possibilita a conexão de quatro interfaces Ethernet (e0/0, e0/1, e0/2 e e0/3 usaremos duas dessas interfaces em seguida). Clique em Aplicar e OK para guardar as configurações. Em seguida, adicionaremos os computadores que farão parte do cenário proposto. Conforme já discutimos, usaremos o VPCS para simular tais computadores. Para isso, adicionaremos dois itens do tipo Nuvem (Cloud) à nossa topologia. A topologia ficará como mostrado a seguir:
Precisaremos configurar as nuvens para adicionar a ligação com o VPCS. Para isso, clique com o botão direito do mouse sobre C1 e escolha a opção Configure. Então escolha a opção NIO UDP e informe os seguintes dados: - Local port: 30000 - Remote host: 127.0.0.1 - Remote port: 20000 Clique em Add para adicionar essa configuração à nuvem e em seguida clique em OK para salvar as modificações. Veja abaixo a configuração da nuvem antes de salvar. Perceba no quadro à direita que já adicionamos as configurações (nio_udp:30000:127.0.0.1:20000). Realize o mesmo procedimento para C2. Atente-se para incrementar o Local port e o Remote port em um. De forma generalizada, para adicionar a nuvem Ci, usamos a seguinte configuração: - Local port: 3000X - Remote host: 127.0.0.1 - Remote port: 2000X onde, X = i + 1. Finalmente, vamos conectar os nós e passar para a configuração. Para isso, clique no botão de adição de link no GNS ( ) e conecte o roteador nas nuvens, utilizando a conexão do tipo Ethernet. O cenário ficará como mostrado a seguir:
Parte 04 Configuração da rede Para inicar a configuração, clique no botão de play do GNS. Em seguida, volte para o terminal do Linux que iniciamos no Passo 01 (no qual você adicionou permissão de execução para p VPCS) e inicie o VPCS:./vpcs32.linux Deve ser exibido um prompt de comandos como o seguinte: VPCS[1]> Digite o comando show, para exibir as configurações atuais: VPCS[1]> show NAME IP/CIDR GATEWAY MAC LPORT RPORT VPCS1 0.0.0.0/0 0.0.0.0 00:50:79:66:68:00 20000 30000 fe80::2050:79ff:fe66:6800/64 VPCS2 0.0.0.0/0 0.0.0.0 00:50:79:66:68:01 20001 30001 fe80::2050:79ff:fe66:6801/64 VPCS3 0.0.0.0/0 0.0.0.0 00:50:79:66:68:02 20002 30002 fe80::2050:79ff:fe66:6802/64 VPCS4 0.0.0.0/0 0.0.0.0 00:50:79:66:68:03 20003 30003 fe80::2050:79ff:fe66:6803/64 VPCS5 0.0.0.0/0 0.0.0.0 00:50:79:66:68:04 20004 30004 fe80::2050:79ff:fe66:6804/64 VPCS6 0.0.0.0/0 0.0.0.0 00:50:79:66:68:05 20005 30005 fe80::2050:79ff:fe66:6805/64 VPCS7 0.0.0.0/0 0.0.0.0 00:50:79:66:68:06 20006 30006 fe80::2050:79ff:fe66:6806/64 VPCS8 0.0.0.0/0 0.0.0.0 00:50:79:66:68:07 20007 30007 fe80::2050:79ff:fe66:6807/64 VPCS9 0.0.0.0/0 0.0.0.0 00:50:79:66:68:08 20008 30008 fe80::2050:79ff:fe66:6808/64 VPCS[1]> Caso alguma das portas na coluna LPORT e RPORT apareça com valor 0, execute o comando quit para fechar o VPCS e inicie ele novamente (./vpcs32.linux). O VPCS consegue emular até 9 PCs. Nós usaremos dois deles o VPCS1 e o VPCS2 (cujas portas configuramos no GNS como C1 e C2, respectivamente). Seguindo a topologia de rede que definimos no início deste documento, precisaremos configurar os seguintes parâmetros de rede nos PCs: VPCS1: - IPv4: 172.16.1.10 - Mascara de rede: 24 - Gateway: 172.16.1.1 VPCS2: - IPv4: 172.16.2.10 - Mascara de rede: 24 - Gateway: 172.16.2.1
Para configurar tais parâmetros, executaremos os seguintes comandos (em negrito os comandos digitados): VPCS[1]> ip 172.16.1.10 24 172.16.1.1 PC1 : 172.16.1.10 255.255.255.0 gateway 172.16.1.1 VPCS[1]> 2 VPCS[2]> ip 172.16.2.10 24 172.16.2.1 PC2 : 172.16.2.10 255.255.255.0 gateway 172.16.2.1 VPCS[2]> Perceba que para setar o IP no PC usamos o seguinte comando: ip <EndereçoIP> <MascaraDeRede> <Gateway> Já para mudar de PC, basta digitar o número do PC. Para conferir as configurações efetuadas, executamos o comando show: VPCS[2]> show NAME IP/CIDR GATEWAY MAC LPORT RPORT VPCS1 172.16.1.10/24 172.16.1.1 00:50:79:66:68:00 20000 30000 fe80::2050:79ff:fe66:6800/64 VPCS2 172.16.2.10/24 172.16.2.1 00:50:79:66:68:01 20001 30001 fe80::2050:79ff:fe66:6801/64 VPCS3 0.0.0.0/0 0.0.0.0 00:50:79:66:68:02 20002 30002 fe80::2050:79ff:fe66:6802/64 VPCS4 0.0.0.0/0 0.0.0.0 00:50:79:66:68:03 20003 30003 fe80::2050:79ff:fe66:6803/64 VPCS5 0.0.0.0/0 0.0.0.0 00:50:79:66:68:04 20004 30004 fe80::2050:79ff:fe66:6804/64 VPCS6 0.0.0.0/0 0.0.0.0 00:50:79:66:68:05 20005 30005 fe80::2050:79ff:fe66:6805/64 VPCS7 0.0.0.0/0 0.0.0.0 00:50:79:66:68:06 20006 30006 fe80::2050:79ff:fe66:6806/64 VPCS8 0.0.0.0/0 0.0.0.0 00:50:79:66:68:07 20007 30007 fe80::2050:79ff:fe66:6807/64 VPCS9 0.0.0.0/0 0.0.0.0 00:50:79:66:68:08 20008 30008 fe80::2050:79ff:fe66:6808/64 Vamos retornar ao GNS para configurar o roteador R1. Clique com o botão direito do mouse e escolha a opção Console. Será aberto um console com a inicialização do roteador, pressione ENTER para iniciar a configuração. A primeira vez que você executar o roteador será exibida a seguinte mensagem, pode responder No: Would you like to enter the initial configuration dialog? [yes/no]: no Ao finalizar o carregamento dos módulos (isso pode demorar um pouco), pressione ENTER para iniciar a configuração. Deve ser exibido o seguinte: Router> Esse é o prompt dos roteadores e equipamentos da CISCO. Iniciaremos, a partir desse prompt, a configuração do roteador. O prompt de comandos da CISCO possui alguns modos de operação, que definem permissões para
execução de comandos. O primeiro modo de acesso que temos é modo Não-Privilegiado, nele é possível apenas executar teste de conectividade (ping) e exibir algumas configurações (bastante restrito). Passaremos, então, para o modo privilegiados, onde temos permissão para executar outros comandos. Para isso execute o seguinte comando: Router> enable Router# Perceba que o prompt mudou de > para #, representando o modo Privilegiado. Alguns comandos importantes que usaremos nesse modo são os seguintes: show running-config Comando usado para exibir as configurações que estão sendo usadas pelo roteador. show ip interface brief Comando usado para exibir as configurações de endereçamento IP das interfaces show interface <NOME_DA_INTERFACE> Exibe informações detalhadas sobre a interface. write memory Salva as configurações. Caso você não salve as configurações, elas serão perdidas após reiniciar o roteador. configure terminal Inicia o modo de configuração do roteador. É preciso executar esse comando antes de configurar IP nas interfaces, configurar roteamento, etc. Antes de iniciar a configuração vamos rever a topologia (já disposta no GNS) para verificar cada interface que precisaremos configurar. Uma dica para ajudar nessa etapa é ativar a opção para exibir o nome das interfaces, em Exibir > Mostrar nomes das interfaces. O cenário deve parecer-se com o seguinte: Voltando ao prompt do roteador R1, vamos configurar as interfaces. O primeiro passo é configurar a interface e0/0 com endereço 172.16.1.1/24. Para isso execute a seguinte sequência de comandos: Router> enable Router# configure terminal Router(config)# interface Ethernet0/0 Router(config-if)# ip address 172.16.1.1 255.255.255.0 Router(config-if)# no shutdown Router(config-if)# exit Router(config)# exit Para verificar a configuração, vamos listar as configurações de IP das interfaces. Veja em negrito os comandos digitados e também as saídas que merecem destaque: Router# show ip interface brief Interface IP-Address OK? Method Status Protocol
Ethernet0/0 172.16.1.1 YES manual up up Ethernet0/1 unassigned YES unset administratively down down Ethernet0/2 unassigned YES unset administratively down down Ethernet0/3 unassigned YES unset administratively down down Deve-se realizar o mesmo procedimento para a interface e0/1, atentando-se para usar o IP 172.16.2.1. Para finalizar a configuração do roteador, habilitaremos o roteamento nas interfaces, com o seguinte comando em R1: Router# conf t Router(config)# ip routing Parte 05 Testando o cenário Para testar nossa configuração, voltaremos ao VPCS e executaremos os comandos PING e TRACERT com objetivo de testar a conectividade entre os equipamentos e verificar as rotas utilizadas em cada acesso, respectivamente. Em VPCS1 execute os seguintes comandos: VPCS[1]> ping 172.16.1.1 172.16.1.1 icmp_seq=1 ttl=255 time=3.329 ms 172.16.1.1 icmp_seq=2 ttl=255 time=4.593 ms 172.16.1.1 icmp_seq=3 ttl=255 time=1.936 ms 172.16.1.1 icmp_seq=4 ttl=255 time=3.636 ms 172.16.1.1 icmp_seq=5 ttl=255 time=3.511 ms VPCS[1]> ping 172.16.2.10 172.16.2.10 icmp_seq=1 ttl=63 time=7.488 ms 172.16.2.10 icmp_seq=2 ttl=63 time=8.955 ms 172.16.2.10 icmp_seq=3 ttl=63 time=6.680 ms 172.16.2.10 icmp_seq=4 ttl=63 time=7.608 ms 172.16.2.10 icmp_seq=5 ttl=63 time=7.467 ms VPCS[1]> tracert 172.16.2.10 traceroute to 172.16.2.10, 64 hops max, press Ctrl+C to stop 1 172.16.1.1 3.407 ms 1.833 ms 4.147 ms 2 172.16.2.10 8.863 ms 7.809 ms 11.520 ms No primeiro comando, nós testamos a conectividade do VPCS1 com seu gateway (sempre faça esse teste primeiro, pois caso ele não funcione, nenhum outro funcionará). Em seguida, testamos a conectividade com o VPCS2, conectado através do roteador R1. Por fim executamos um TRACERT para verificar a rota que está sendo utilizada na comunicação entre R1 e R2. Pode-se perceber que existe apenas um salto (um roteador 172.16.1.1) entre os nós. Parte 06 Captura de pacotes e análise do tráfego Nas práticas realizadas no simulador GNS (e outros simuladores de rede) é interessante capturar o tráfego das conexões e analisar seu conteúdo, a fim de confrontar a teoria sobre os protocolos com a prática de funcionamento dos equipamentos. No GNS3 a captura de pacotes pode ser feita através de console de comandos, conforme mostrado a seguir:
Nesse cenário, vamos capturar o tráfego da interface e0/0 do roteador R1 e analisá-lo. Para isso digite o seguinte comando no console do GNS3: => capture R1 e0/0 /tmp/captura-r1-e0_0.pcap (o último parâmetro é o arquivo que armazenará os pacotes capturados e será usado em seguida pelo wireshark) Vamos executar mais um teste de conectividade entre o VPCS1 e o R1 e analisar o tráfego capturado. Para isso, execute os seguintes comandos em VPCS1: VPCS[1]> clear arp VPCS[1]> ping 172.16.1.1 Inicie o wireshark (no Linux: Aplicativos > Internet > Wireshark), abra o arquivo salvo no passo acima e verifique os pacotes capturados. Você verá uma série de mensagens dos protocolos CPD, LOOP, ARP e ICMP. As mensagens dos protocolos LOOP e CDP não interessam nesse momento, assim configuraremos um filtro para protocolos ARP e ICMP. Para isso, preencha o campo Filtro (logo abaixo da barra de menu e botões de atalhos) com a seguinte string (sem o ponto): arp or icmp. Será mostrado algo como o seguinte:
Clicando em cada pacote e depois nos cabeçalhos dele (aba logo abaixo da lista de pacotes capturados) é possível obter informações detalhadas sobre o pacote. Parte 07 Salvando o cenário criado Para salvar o cenário configurado, juntamente com as configurações dos roteadores é necessário seguir alguns passos, conforme mostrado abaixo. O primeiro passo é salvar a configuração no próprio roteador. Para isso execute o seguinte comando em R1: Router# write memory Com esse comando o IOS da CISCO salvará as configurações efetuadas na memória NVRAM do roteador, que será usada para exportar os comandos pelo GNS3. Isso, porém, não é suficiente. Veja os passos abaixo. No GNS, precisaremos exportar as configurações dos roteadores e também salvar a topologia criada. Para isso clique em Arquivo > Salvar projeto como... Será aberto uma janela como mostrado abaixo, escolha um nome, um diretório e marque as opções para salvar NVRAM e arquivo de inicialização. (efetue esse passo após executar o write memory em todos os roteadores da topologia e com todos eles desligados)
Após salvar o projeto a estrutura de diretórios deve parecer-se com a seguinte: /home/italo/basico-gns-cisco-vpcs/ configs R1.cfg topology.net working c3600_r1_bootflash c3600_r1_nvram c3600_r1_rommon_vars c3640-ik9o3s-mz.123-22.bin-127.0.0.1.ghost Perceba que os arquivos mais importantes são o arquivo R1.cfg (configuração do roteador) e topology.net (arquivo da topologia criada). No entanto, ainda não temos a configuração do VPCS salvaguardada. Para tal, precisaremos criar um arquivo chamado startup.vpc com os comandos do VPCS e colocá-lo na mesma pasta do VPCS. Para o cenário discutido anteriormente, o arquivo startup.vpc conteria o seguinte: 1 ip 172.16.1.10 24 172.16.1.1 2 ip 172.16.2.10 24 172.16.2.1 Dúvidas Se tiver qualquer dúvida, não hesite em questionar-me (italo [at] dcc.ufba.br).