Formação IPv6 - RCTS Introdução, Endereçamento, Autoconfiguração e DNS 12 de Junho de 2008 Agenda/Índice • Introdução 3-22 • Endereçamento 23-39 • Autoconfiguração 40-52 • DNS 53-70 Introdução Motivação • Ter sempre em mente: NÃO se pretende desligar o IPv4 no curto/médio prazo • É um esforço global, mas cada serviço/host/rede é importante • A FCCN é historicamente um «early-adopter» de novas tecnologias • Desafio do CE/FCCN aos membros da RCTS – Compatibilização DNS+WEB+E-MAIL Motivação • Os serviços funcionam da mesma forma em IPv6 • Diferenças – Tamanho do espaço de endereçamento – Modelo de mobilidade melhorado – Segurança na especificação (raramente cumprida…) • IPv4/IPv6, o mesmo nível da camada OSI • O switching (Layer 2) é um «amigo» do IPv6 Nível 3 - Rede IPv4 IPv6 Nível 2 - Ligação Nível 1 - Físico Exaustão do Espaço IPv4 • www.potaroo.net/tools/ipv4 Distribuição Global • Como Funciona: Hierárquico & Regional IANA RIR Internet Assigned Numbers Authority RIR NIR LIR/ISP EU(ISP) LIR/ISP EU EU Regional Internet Registry National Internet Registry Local Internet Registry / Internet Service Provider End User Distribuição (na Europa) 2001:800::/32 2001:690::/32 2001:720::/32 2001:8A0::/32 2001:690:2100::/48 2001:690:2006::/48 2001:690:2060::/48 Endereçamento IPv4 Estatísticas (256 /8s) IANA RIR Internet Assigned Numbers Authority RIR NIR LIR/ISP EU(ISP) LIR/ISP EU EU Regional Internet Registry National Internet Registry Local Internet Registry / Internet Service Provider End User Fonte: http://www.nro.net/documents/presentations/nro-jointstats-Dec07.ppt Atribuições Regionais a ISPs (IPv4) Unidade: /8 1999: ~2,5 2000: ~4,75 … 2006: ~10,5 2007: ~12,3 http://www.nro.net/statistics/ Medidas de «Emergência»: CIDR • Re-utilização do espaço «classe C» • CIDR (Classless Inter-Domain Routing) – RFC 1519 (1993), actualizado pelo RFC 4632 (2006) – Endereço de rede = prefixo/comprimento – Final das atribuições por «classe A, B e C» – Menos desperdício – Permite a agregação • Reduz o tamanho da tabela de routing global Medidas de «Emergência»: Endereçamento Privado • RFC 1918 (1996) • Permite planos de endereçamento privados • Endereços apenas usados em redes internas/privadas • Similar à arquitectura de segurança com firewall • Uso de proxies ou NAT para comunicação externa – RFC 1631, 2663 e 2993 Network Address Translation Vantagens/Desvantagens • Desvantagens: • Vantagens: – Tradução por vezes – Reduz a necessidade complexa (ex: FTP) de endereços oficiais – Aplicações que usam públicos portos dinâmicos – Facilita o plano de – Não escala endereçamento – Introduz estados na interno rede: – Transparente para • Redes Multihomed algumas aplicações – Quebra o paradigma – “Segurança” fim-a-fim Medidas de Emergência Conclusão • Estas medidas geraram mais tempo para desenvolver uma nova versão do IP • O IPv6 mantém os princípios que fizeram o sucesso do IP • Melhorias tendo por base a versão actual do IP (v4) • MAS estas medidas serão suficientes? Cabeçalho IPv4 Ver. IHL Total Length ToS Identifier flags fragment Checksum TTL Protocol Source Address Destination Address Options 20 Bytes 32 bits IPv6: Simplificação do Cabeçalho 32 bits Flow label Next Header Hop Limit Source Address Destination Address 40 Bytes 5 words Ver. Traffic Class Payload length Activação IPv6: Windows • Windows Vista: – activo por omissão • Windows XP: – Service Pack + actualizações automáticas – Abrir uma janela de DOS (“cmd”) – Digitar «ipv6 install» Activação IPv6: Windows • Verificar Activação: – ipconfig • Interface Gráfico – Control Panel/ Painel de Controlo – Network/Rede – IPv6 Apenas Activo/Inactivo Activação IPv6: Linux • Activo por omissão, na maioria das distribuições • Verificação: – /sbin/ifconfig • Em caso de não estar activo: – /sbin/modprobe ipv6 Endereçamento Estrutura do Endereçamento IPv6 • O esquema de endereçamento do IPv6 está definido no RFC 3513 e o formato dos endereços IPv6 do tipo global unicast no RFC 3587 • Endereços de 128 bits (hierarquia e flexibilidade) • Uso dos princípios do CIDR: – Prefixo / Comprimento do prefixo (ou máscara) • 2001:660:3003::/48 • 2001:660:3003:2:a00:20ff:fe18:964c/64 – Agregação reduz o tamalho da tabela de encaminhamento • Representação Hexadecimal (0 a F) • 1 Interface pode ter vários endereços IPv6 • Não existe broadcast Formato do Endereçamento • Formato base (Global, 16 bytes/128 bits) : 2001:0660:3003:0001:0000:0000:6543:210F • Formato compacto: 2001:660:3003:1:0:0:6543:210F 2001:0660:3003:0001:0000:0000:6543:210F 2001:660:3003:1::6543:210F 2001:660:3003:1:0:0:6543:210F • Representação Literal [2001:660:3003:2:a00:20ff:fe18:964c] Espaço IPv6 (RFC 4291) Endereços Globais Unicast 001 Endereços Link-Local Unicast 1111 1110 10 FE80::/10 Endereços Multicast 1111 1111 FF00::/8 Para Uso 1/2 2000::/3 Futuro 1/4 Em Uso 1/8 1/8 Exemplo #1 • Endereço IPv6: 2001:0660:3003:0001:0000:0000:6543:210F ISP= 2001:0660 CLIENTE= 3003 LAN= 0001 INTERFACE ID= 0000:0000:6543:210F Exemplo #2 • Endereço IPv6 (ns2.uevora.pt): 2001:0690:2006:0200:0000:0000:0000:FFFE ISP= 2001:0690 MEMBRO= 2006 LAN= 0200 INTERFACE ID= 0000:0000:0000:FFFE Interface ID 64 bits: compatível com a norma IEEE 1394 (FireWire), e facilita o mecanismo de autoconfiguração. IEEE define o mecanismo para criar um endereço EUI64 a partir de um endereço MAC (IEEE 802) 24 bits ug 1 24 bits fabricante número de série 24 bits 16 bits ug fabricante 0xFFFE 1g fabricante 0XFFFE 78 MAC (48 bits) 24 bits número de série número de série EUI-64 Interface ID Alocações IPv6 por RIR • Começaram em Julho de 1999 • Inicialmente = /35 ; Actualmente = /32 • Prefixos (22 de Fevereiro de 2008) = 2092 – AFRINIC • 42 prefixos – LACNIC • 96 prefixos – ARIN • 402 prefixos – APNIC • 531 prefixos – RIPE-NCC • 1021 prefixos http://www.ripe.net/rs/ipv6/stats/ WHOIS/RPSLng • WHOIS – Ferramenta de acesso a bases de dados públicas. • RPSLng – Linguagem de especificação de políticas de encaminhamento (routing) – Descrevem-se relações de peering e de trânsito • Que bases de dados consultar? – whois.<RIR>.net – RIR = `{RIPE,ARIN,APNIC,LACNIC,AFRINIC} • Que objectos existem? – Inetnum (ipv4) / Inet6num (ipv6) – Route (ipv4) / Route6 (ipv6) – Outros (contactos, …) INETNUM/INET6NUM inetnum: 193.136.0.0 - 193.137.255.255 org: ORG-FpaC1-RIPE netname: PT-RCCN-193-136-137 descr: FCCN (Fundacao para a Computacao Cientifica Nacional) country: PT admin-c: JNF1-RIPE admin-c: LS3047-RIPE tech-c: PL3961-RIPE tech-c: CMF8-RIPE status: ALLOCATED PA mnt-by: RIPE-NCC-HM-MNT mnt-irt: IRT-CERT-PT mnt-lower: AS1930-MNT mnt-domains: AS1930-MNT mnt-routes: AS1930-MNT changed: [email protected] 19951102 changed: [email protected] 20010504 changed: [email protected] 20050802 changed: [email protected] 20050803 changed: [email protected] 20080131 source: RIPE inet6num: 2001:690::/32 netname: PT-RCCN-20000623 descr: FCCN (Fundacao para a Computacao Cientifica Nacional) country: PT org: ORG-FpaC1-RIPE admin-c: JNF1-RIPE admin-c: LS3047-RIPE tech-c: PL3961-RIPE tech-c: CMF8-RIPE mnt-by: RIPE-NCC-HM-MNT mnt-irt: IRT-CERT-PT mnt-lower: AS1930-MNT mnt-routes: AS1930-MNT status: ALLOCATED-BY-RIR changed: [email protected] 20000623 changed: [email protected] 20020805 changed: [email protected] 20050802 changed: [email protected] 20050803 source: RIPE ROUTE/ROUTE6 route: descr: origin: mnt-by: changed: changed: source: 193.136.0.0/15 RCCN-AGGREGATED-NET AS1930 AS1930-MNT [email protected] 19951218 [email protected] 19991130 RIPE route6: descr: origin: mnt-by: changed: source: 2001:690::/32 FCCN, The Portuguese Education & Research Network AS1930 AS1930-MNT [email protected] 20050406 RIPE Planos de Endereçamento • Preparar um plano de endereçamento IPv6 não é trivial • Necessita de ser planeado atempadamente – Não esquecendo todos os pontos e especificidades (topologias) existentes na rede • Manter em mente a agregação, mas não a conservação, nem fundamentalismos • http://www.ipv6-tf.com.pt /documentos/planos_enderecamento.php – Rede Ciência Tecnologia e Sociedade (RCTS) – Fundação para a Computação Científica Nacional (FCCN) – Fac.Ciências e Tecnologia/Universidade Nova de Lisboa – Universidade do Porto Planos de Endereçamento (Rede Escolas – EDU.PT) • Cada escola recebe um prefixo /56 – Permite a cada escola possuir 256 LANs distintas (cada uma com prefixo /64) • 2 Zonas de «agregação» – Norte: 2001:690:2800::/43 – Sul: 2001:690:2820::/43 • 13 bits, permitem 2^13 escolas em cada zona, ou seja 8192 escolas • 2 Pontos de Interligação ao «wholesale ADSL PT», tal como em IPv4 uma rota tem preferência pelo Porto, a outra rota por Lisboa Uso na FCCN • Prefixo de Rede da RCTS = 2001:690::/32 • FCCN = 2001:690:2080::/48 – – – – – Ou seja, 65536 LANs (2^16) Paridade com todos os outros membros da RCTS CORP, 193.136.44.0/24 = 2001:690:2080:8009::/64 ID, 193.136.46.0/24 = 2001:690:2080:8004::/64 «REDE 7», 193.136.7.0/24 = 2001:690:2080:1::/64 • Além disso, existem blocos de «backbone»: – RSI, 193.136.192.0/24 = 2001:690:A00:4001::/64 – RSE, 193.136.6.0/24 = 2001:690:A00:4002::/64 – PORTO, 2001:690:A80:4001::/64 Uso em LANs • O que fazer com os últimos 64 bits? • Endereço com MAC embutido vs. Fixo • O endereço automático obtido por autoconfiguração, quando se muda o interface de rede de um sistema obriga a: – Actualizar o registo AAAA no DNS – Verificar configurações de serviços – Actualizar scripts que tenham o endereço expresso de forma estática Autoconfiguração Autoconfiguração sem estados • Plug & Play • Utiliza o protocolo Neighbor Discovery ICMPv6 • Na inicialização, cada sistema tenta através da própria rede descobrir os seguintes parâmetros: – – – – Prefixo(s) IPv6 Endereços de gateway Limite de hops (link local) MTU Autoconfiguração sem estados • Apenas os routers têm de ser configurados manualmente – Se não se recorrer ao mecanismo de delegação de prefixos (http://www.ietf.org/rfc/rfc3633.txt) • Os sistemas podem obter automaticamente endereços IPv6 – Mas esses endereços não são automaticamente registados no DNS • É boa prática que os sistemas que alojem serviços sejam configurados manualmente Autoconfiguração sem estados • O mecanismo de autoconfiguração sem estados está descrito no RFC4862 • Os sistemas ouvem as mensagens de Router Advertisement (RA), que periodicamente são enviadas pelos routers • As mensagens de anúncio de router emitidas no segmento identificam o prefixo de rede Autoconfiguração sem estados • Permite a um sistema a criação do seu endereço IPv6 global a partir do: – Seu identificador de interface (endereço EUI-64) – Prefixo da rede (obtido através do anúncio de router) • Usualmente, o router que envia as mensagens de anúncio de router (AR) é usado como default gateway • Se o anúncio não transporta nenhum prefixo – O endereço global IPv6 não é configurado Autoconfiguração sem estados • As mensagens AR (anúncio de router) contém duas flags indicando o tipo de autoconfiguração que deve ser efectuada • É impossível enviar automaticamente endereços de servidores DNS • Os endereços IPv6 unicast globais recorrendo a este tipo de autoconfiguração dependem da interface de rede Autoconfiguração sem Estados Exemplo E o endereço do Servidor de DNS ?! MAC address = 00:0E:0C:31:C8:1F EUI-64 address = 20E:0CFF:FE31:C81F Internet 2. Fazer 1.4. Criar uma Fazer oum detecção endereço novamente de de endereço link umlocal 3. Enviar 6.5. Criar Configurar um Router endereço o default Solicitation global duplicado DAD (DAD) gateway FE80::20E:0CFF:FE31:C81F 2001:690:1:1::20E:0CFF:FE31:C81F FF02::2 (Todos os routers) Router Advertisement FE80::20F:23FF:FEF0:551A 2001:690:1:1 */0 FE80::20F:23FF:FEf0:551A Router Solicitation Destino = FF02::2 Autoconfiguração com estados (DHCPv6) • Dynamic Host Configuration Protocol for IPv6 – RFC 3315 • O DHCPv6 é usado pelo sistema quando: – Nenhum router é encontrado – Ou no caso da mensagem de anúncio de router ter indicado o uso de DHCP Autoconfiguração com estados (DHCPv6) • Arquitectura Cliente/Servidor • Servidor – Fornece: • Endereços IPv6 • Outros parâmetros (servidores DNS…) – Escuta nos endereços multicast: • FF02::1:2 = Todos os agentes (relays) e servidores • FF05::1:3 = Todos os servidores DHCP – Guarda o estado dos clientes – Disponibiliza meios para securizar o controlo de acesso a recursos de rede Autoconfiguração com estados • Cliente (DHCPv6) – Inicia pedidos num link para obter parâmetros de configuração – Usa o seu endereço de link local para comunicar com o servidor – Envia pedidos para o endereço multicast FF02::1:2 • Agente – Nó que actua como intermediário para que existam fluxos de mensagens DHCP entre clientes e servidores – Está no mesmo link que o cliente DHCPv6 - Exemplo 1. Qual é o endereço do servidor DNS? 2. O sistema inicia um cliente de DHCPv6 Exemplo: em /etc/resolver.conf 3. Cliente envia um pedido de informação 4. Servidor Responde Internet 5. O sistema configura o endereço do servidor DNS Servidor DHCPv6 FF02::1:2 Mensagem de Resposta DNS 2001:690:5:0::10 Pedido (Qual é o endereço do servidor DNS?) Delegação de Prefixos (RFC 3769) • Usado no cenário em que o «backbone» delega várias LANs a um router «de acesso» • O router de acesso configura os endereços nas várias redes às quais fornece serviço, de forma a que o prefixo que recebe do mecanismo de delegação «encaixe» • Testado no cenário da rede escolar portuguesa – O equipamento da Portugal Telecom fornece o prefixo a cada router – O router recebe o prefixo e disponibiliza várias LANs com endereçamento IPv6 unicast global Comparação • Os dois tipos de autoconfiguração são complementares – Exemplo: pode-se obter endereços da configuração sem estados e o endereço dos servidores de DNS através do DHCPv6 • Em redes de pilha dupla (dual-stack) é possível obter os endereços dos servidores DNS através do DHCPv4 • Os clientes DHCPv6 ainda não estão disponíveis na maioria dos sistemas operativos DNS Registos IPv6: AAAA • AAAA : Árvore de forward • Tradução (‘Nome Endereço IPv6’) • Equivalente ao RR ‘A’, que traduz nomes para endereços IPv4 • Exemplo: ns3.nic.fr. IN A 192.134.0.49 IN AAAA 2001:660:3006:1::1:1 Registos IPv6: PTR • • • • PTR : Árvore de reverse Tradução (‘Endereço IPv4/IPv6 Nome’) Árvore IPv4: in-addr.arpa. Árvore IPv6: ip6.arpa • Exemplo: $ORIGIN 1.0.0.0.6.0.0.3.0.6.6.0.1.0.0.2.ip6.arpa. 1.0.0.0.1.0.0.0.0.0.0.0.0.0.0.0 PTR ns3.nic.fr. Descontinuados • RR A6 – RFC 3363 • Antiga árvore IPv6: ip6.int – apenas usada por aplicações legacy • Uso Desaconselhado: RR DNAME – RFC 4592, 4.4 Query DNS root Query ‘foo.g6.asso.fr’ RR? fr NS + glue Query ‘foo.g6.asso.fr’ RR? asso.fr NS [+ glue] Query ‘foo.g6.asso.fr’ RR? Servidor de Nomes Query‘foo.g6.asso.fr’ RR? g6.asso.fr NS [+ glue] “.” servidor autoritativo fr servidor autoritativo fr de com asso.fr servidor autoritativo asso inria Query ‘foo.g6.asso.fr’ RR? Reply resolver RR for foo.g6.asso.fr g6.asso.fr servidor autoritativo abg afnic g6 Query DNS Inversa Endereço IP Nome arpa in-addr 192 0 ... ip6 193 root int ip6 Nome Endereço IP com itu apnic 6.0.1.0.0.2 e.f.f.3 net fr ripe nic whois www ns3 134 ... 255 0.6 0 4 49 6.0.0.3 ns3.nic.fr 192.134.0.49 2001:660:3006:1::1:1 192.134.0.49 49.0.134.192.in-addr.arpa. 1.0.0.0.1.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0 2001:660:3006:1::1:1 1.0.0.0.1.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.6.0.0.3.0.6.6.0.1.0.0.2.ip6.arpa ns3.nic.fr Delegações • Os domínios não são IPv4 ou IPv6! • Os servidores DNS que os suportam é que podem ser: – Apenas IPv4 – Apenas IPv6 (não é boa prática!) – IPv4 & IPv6 (a escolha do bom caminho!) • Como tal, as delegações são exactamente iguais, baseadas no RR «NS» Delegações de Reverse v4/v6 (RIPE) domain: 0.9.6.0.1.0.0.2.ip6.arpa descr: Reverse delegation for FCCN descr: (2001:690::/32) admin-c: JNF1-RIPE tech-c: IF575-RIPE zone-c: JNF1-RIPE nserver: ns01.fccn.pt nserver: ns02.fccn.pt nserver: ns03.fccn.pt mnt-by: AS1930-MNT changed: [email protected] 20020715 changed: [email protected] 20020724 changed: [email protected] 20021024 changed: [email protected] 20030516 changed: [email protected] 20030521 source: RIPE domain: descr: admin-c: tech-c: zone-c: nserver: nserver: nserver: nserver: notify: changed: changed: changed: changed: changed: changed: changed: changed: source: 136.193.in-addr.arpa FCCN class C block JNF1-RIPE IF575-RIPE JNF1-RIPE ns01.fccn.pt ns02.fccn.pt marco.uminho.pt ns-rev.dns.pt [email protected] [email protected] 19930705 [email protected] 19940214 [email protected] 19950118 [email protected] 19960719 [email protected] 19990711 [email protected] 20000221 [email protected] 20030428 [email protected] 20080206 RIPE «Glue-Records» @ […] ipv6 IN IN IN IN ; rhadamanthe.ipv6 rhadamanthe.ipv6 […] SOA rsm.rennes.enst-bretagne.fr. fradin.rennes.enst-bretagne.fr. (2005040201 ;serial 86400 ;refresh 3600 ;retry 3600000 ;expire} IN IN NS NS NS NS NS rhadamanthe.ipv6 ns3.nic.fr. rsm IN IN rsm univers.enst-bretagne.fr. A AAAA 192.108.119.134 2001:660:7301:1::1 O «glue» (A 192.108.119.134) é necessário para chegar ao servidor rhadamanthe sobre IPv4 O «glue» (AAAA 2001:660:7301:1::1) é necessário para chegar ao servidor rhadamanthe sobre IPv6 Modo de Funcionamento • O DNS é uma imensa base de dados distribuída – Armazena diferentes tipos de registos: • SOA, NS, A, AAAA, MX, SRV, PTR, … Os dados contidos na árvore de DNS são independentes da versão de IP (v4/v6) em que o servidor de DNS está a operar! • O DNS é também uma «aplicação TCP/IP» – O serviço pode estar acessível em ambos os modos de transporte (UDP/TCP) e sobre qualquer uma das duas versões (v4/v6) Informação devolvida pelos servidores sobre quaisquer dos transportes tem de ser COERENTE! Questões Operacionais e Recomendações • O objectivo NÃO É migrar de um ambiente apenas IPv4 para um contexto apenas IPv6 • Como começar? • O sistema operativo do servidor tem que suportar IPv6 • O software usado no servidor DNS tem que suportar IPv6 Questões Operacionais e Recomendações • Fase Seguinte? – Pela via incremental, em redes já existentes • Registando os AAAAs relativos aos servidores de nomes • Dotando as diversas zonas de um servidor de nomes autoritativo, «alcançável» pela árvore através de um registo AAAA. – NÃO QUEBRAR O SERVIÇO de algo que funciona perfeitamente (o serviço de DNS em produção sobre o protocolo IPv4)! • No entanto, a introdução do IPv6 pode ser uma oportunidade de rever eventuais falhas no desenho do suporte às diversas zonas. Recomendações • Quantos servidores que suportam um domínio devem ter registos AAAA associados? • Um ou dois é suficiente para tornar visível um domínio na Internet IPv6 • Podem ser todos, mas não é um caso comum • É boa ideia usar nomes curtos, devido à limitação de 512 bytes nas respostas DNS – Mudar o nome foi uma solução adoptada por alguns administradores de domínios Software: BIND • BIND (Servidor Autoritativo e «Resolver») – http://www.isc.org/products/BIND/ – Compatibilidade IPv6: • BIND 9 (evitar versões mais antigas) – Versão actual (Fev/2008): 9.4.2 • Activação: (/etc/named.conf) options { listen-on-v6 { any; }; }; Software • Diverso software – Fonte: Wikipedia • Suporte no software de uso mais significativo • Questão operacional: – Verificar sempre caso exista um firewall IPv6, a possibilidade de ligações ao porto 53 Software: DIG • Sintaxe: DIG @<servidor> <query> <tipo> • Exemplos – DIG @ns01.fccn.pt fccn.pt mx – DIG @193.136.192.40 fccn.pt mx – DIG @2001:690:A00:4001::200 fccn.pt mx • Mesma resposta, vinda de endereço IPv4 ou IPv6 Software: NSLOOKUP • NSLOOKUP $ nslookup - 2001:690:a00:4001::100 > www.fccn.pt Server: 2001:690:a00:4001::100 Address: 2001:690:a00:4001::100#53 Non-authoritative answer: Name: www.fccn.pt Address: 193.136.2.218 (servidor) (query) (resposta) Zona Raiz • Servidores de Topo: www.root-servers.org • <letra>.root-servers.net {letra=A…M} • Os servidores autoritativos para a zona raiz DNS são infrastruturas críticas! • 13 raízes «físicas» estão espalhadas pelo mundo – Desses, 10 estão nos EUA!!! • 6 dos 13 servidores de raiz têm IPv6 activo e globalmente visível no mundo IPv6. Questões ? Obrigado !