Mudanças entre as edições de "PJI11103: Lab 5"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 59: Linha 59:
 
# Verifique os endereços IPv6 globais usado por ''pc1'' e ''pc2''. Compare-os com os endereços globais usados por ''r1''.
 
# Verifique os endereços IPv6 globais usado por ''pc1'' e ''pc2''. Compare-os com os endereços globais usados por ''r1''.
 
# Teste a comunicação entre ''pc1'' e ''pc2'' com ping6.
 
# Teste a comunicação entre ''pc1'' e ''pc2'' com ping6.
# Em ''r1'' crie o arquivo ''/etc/dhcp/dhcpd.conf'' com este conteúdo: <syntaxhighlight lang=text>
+
# Em ''r1'' crie o arquivo ''/etc/dhcp/radvd.conf'' com este conteúdo: <syntaxhighlight lang=text>
 +
interface eth1 {
 +
  AdvSendAdvert on;
 +
  MinRtrAdvInterval 3;
 +
  MaxRtrAdvInterval 10;
 +
  prefix ccdd:0:0:0:0:0:0:0/64 {
 +
  AdvOnLink on;
 +
  AdvAutonomous on;
 +
  };
 +
};
 +
interface eth0 {
 +
  AdvSendAdvert on;
 +
  MinRtrAdvInterval 3;
 +
  MaxRtrAdvInterval 10;
 +
  AdvManagedFlag on;
 +
};
 +
</syntaxhighlight>Mesmo que se use DHCPv6 é necessário usar SLAAC para obter o endereço do gateway. Por isso em ''r1'' se ativou o serviço ''radvd'', porém indicando que o ''host'' deve usar configuração de endereço ''stateful'' (opção ''AdvManagedFlag'').
 +
# Em ''r1'' crie o arquivo ''/etc/dhcp/dhcpd6.conf'' com este conteúdo: <syntaxhighlight lang=text>
 
default-lease-time 600;
 
default-lease-time 600;
 
max-lease-time 7200;
 
max-lease-time 7200;
+
 
subnet6 2001:db8::/64 {
+
subnet6 aabb::/64 {
   range6 2001:db8::1234 2001:db8::abcd;
+
   range6 aabb::10 aabb::a00;
   option dhcp6.name-servers 2001:db8::abc;
+
  option dhcp6.name-servers aabb::2;
 +
  #option routers aabb::1;
 +
}
 +
 
 +
subnet6 ccdd::/64 {
 +
  range6 ccdd::10 ccdd::a00;
 +
   option dhcp6.name-servers aabb::2;
 +
  #option routers ccdd::1;
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
Linha 72: Linha 96:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
# Verifique os endereços IPv6 globais usado por ''pc1'' e ''pc2''. Compare-os com os endereços globais usados por ''r1''.
 
# Verifique os endereços IPv6 globais usado por ''pc1'' e ''pc2''. Compare-os com os endereços globais usados por ''r1''.
 +
# Teste a comunicação entre ''pc1'' e ''pc2'' com ping6.
 +
# O host ''pc1'' não obteve seu endereço IPv6, pois ele deve fazê-lo via DHCPv6. Sendo assim, faça o seguinte:
 +
#* Em ''r1'' ative o servidor DHCPv6 com este comando: <syntaxhighlight lang=bash>
 +
touch /var/lib/dhcp/dhcpd6.leases
 +
chown dhcpd.dhcpd /var/lib/dhcp/dhcpd6.leases
 +
dhcpd -6
 +
</syntaxhighlight>
 +
#* Em ''pc1'' execute o cliente DHCPv6 com este comando: <syntaxhighlight lang=bash>
 +
dhclient -6 eth0
 +
</syntaxhighlight>
 +
# Verifique o endereços IPv6 global usado por ''pc1''. Compare-o com os endereços globais usados por ''r1''.
 
# Teste a comunicação entre ''pc1'' e ''pc2'' com ping6.
 
# Teste a comunicação entre ''pc1'' e ''pc2'' com ping6.
 
# Verifique a tabela de rotas IPv6 em ''pc1'' e ''pc2''. Compare o endereço do roteador default com o do gateway.
 
# Verifique a tabela de rotas IPv6 em ''pc1'' e ''pc2''. Compare o endereço do roteador default com o do gateway.
# Selecione o host ''pc1'' e, em seguida, o menu ''Wireshark->eth0''.
+
# Uma reflexão: qual benefício existe em usar DHCPv6, ao invés de somente SLAAC ?
# Observe as mensagens de anúncio de roteador recebidas. Que informações elas contêm ?
 

Edição das 15h22min de 21 de março de 2018


Objetivos

  • Auto-configurar hosts em uma subrede IPv6 com SLAAC
  • Usar DHCPv6 para configurar hosts

Roteiro

Para realizar estas atividades serão necessários alguns comandos:

  • Teste com ping6: deve-se especificar a interface de rede por onde as mensagens do ping6 serão transmitidas:

    ping6 -I eth0 endereço_IPv6_a_ser_pingado

  • Configuração de interface de rede: usa-se o programa ifconfig desta forma:

    ifconfig nome_interface inet6 add endereço_IPv6

  • Criação de rota: uma rota IPv6 pode ser adiciona assim:

    route -A inet6 add prefixo/máscara gw IPv6_do_próximo_roteador

Parte 1: SLAAC

  1. Execute o netkit2
  2. Arraste este link para o arquivo de configuração rede0.conf e solte-o sobre a janela do netkit2
  3. Use o menu File->Graph para visualizar a topologia da rede
  4. Use o menu Network->Start para iniciar a rede
  5. Verifique os endereços IPv6 globais usado por pc1 e pc2. Compare-os com os endereços globais usados por r1.
  6. Teste a comunicação entre pc1 e pc2 com ping6.
  7. Em r1 crie o arquivo /etc/radvd.conf com este conteúdo:
    interface eth1 {
      AdvSendAdvert on;
      MinRtrAdvInterval 3;
      MaxRtrAdvInterval 10;
      prefix ccdd:0:0:0:0:0:0:0/64 {
      AdvOnLink on;
      AdvAutonomous on;
      };
    };
    interface eth0 {
      AdvSendAdvert on;
      MinRtrAdvInterval 3;
      MaxRtrAdvInterval 10;
      prefix aabb:0:0:0:0:0:0:0/64 {
      AdvOnLink on;
      AdvAutonomous on;
      };
    };
    
  8. Em r1 execute este comando:
    /etc/init.d/radvd start
    
  9. Verifique os endereços IPv6 globais usado por pc1 e pc2. Compare-os com os endereços globais usados por r1.
  10. Teste a comunicação entre pc1 e pc2 com ping6.
  11. Verifique a tabela de rotas IPv6 em pc1 e pc2. Compare o endereço do roteador default com o do gateway.
  12. Selecione o host pc1 e, em seguida, o menu Wireshark->eth0.
  13. Observe as mensagens de anúncio de roteador recebidas. Que informações elas contêm ?

Parte 2: DHCPv6

  1. Execute o netkit2
  2. Arraste este link para o arquivo de configuração rede0.conf e solte-o sobre a janela do netkit2
  3. Use o menu File->Graph para visualizar a topologia da rede
  4. Use o menu Network->Start para iniciar a rede
  5. Verifique os endereços IPv6 globais usado por pc1 e pc2. Compare-os com os endereços globais usados por r1.
  6. Teste a comunicação entre pc1 e pc2 com ping6.
  7. Em r1 crie o arquivo /etc/dhcp/radvd.conf com este conteúdo:
    interface eth1 {
      AdvSendAdvert on;
      MinRtrAdvInterval 3;
      MaxRtrAdvInterval 10;
      prefix ccdd:0:0:0:0:0:0:0/64 {
      AdvOnLink on;
      AdvAutonomous on;
      };
    };
    interface eth0 {
      AdvSendAdvert on;
      MinRtrAdvInterval 3;
      MaxRtrAdvInterval 10;
      AdvManagedFlag on;
    };
    
    Mesmo que se use DHCPv6 é necessário usar SLAAC para obter o endereço do gateway. Por isso em r1 se ativou o serviço radvd, porém indicando que o host deve usar configuração de endereço stateful (opção AdvManagedFlag).
  8. Em r1 crie o arquivo /etc/dhcp/dhcpd6.conf com este conteúdo:
    default-lease-time 600;
    max-lease-time 7200;
    
    subnet6 aabb::/64 {
      range6 aabb::10 aabb::a00;
      option dhcp6.name-servers aabb::2;
      #option routers aabb::1;
    }
    
    subnet6 ccdd::/64 {
      range6 ccdd::10 ccdd::a00;
      option dhcp6.name-servers aabb::2;
      #option routers ccdd::1;
    }
    
  9. Em r1 execute este comando:
    /etc/init.d/radvd start
    
  10. Verifique os endereços IPv6 globais usado por pc1 e pc2. Compare-os com os endereços globais usados por r1.
  11. Teste a comunicação entre pc1 e pc2 com ping6.
  12. O host pc1 não obteve seu endereço IPv6, pois ele deve fazê-lo via DHCPv6. Sendo assim, faça o seguinte:
    • Em r1 ative o servidor DHCPv6 com este comando:
      touch /var/lib/dhcp/dhcpd6.leases
      chown dhcpd.dhcpd /var/lib/dhcp/dhcpd6.leases
      dhcpd -6
      
    • Em pc1 execute o cliente DHCPv6 com este comando:
      dhclient -6 eth0
      
  13. Verifique o endereços IPv6 global usado por pc1. Compare-o com os endereços globais usados por r1.
  14. Teste a comunicação entre pc1 e pc2 com ping6.
  15. Verifique a tabela de rotas IPv6 em pc1 e pc2. Compare o endereço do roteador default com o do gateway.
  16. Uma reflexão: qual benefício existe em usar DHCPv6, ao invés de somente SLAAC ?