Tut1 Gter16 Ipv6 2
Tut1 Gter16 Ipv6 2
Tut1 Gter16 Ipv6 2
Fabrcio Tamusiunas GTRH Grupo de Trabalho Formao de Recursos Humanos / Comit Gestor Internet BR
! 00FF:0000:0000:0000:0000:9085:9043:1234 ! FF::9085:9043:1234
servidor
Web, e-mail, etc ! Clientes so geralmente domsticos, usando IP privado e servidores usam IPs vlidos globalmente
!
!
cliente-cliente, ou p2p
!
VoIP, envio de mensagens, compartilhamento de arquivos, jogos on-line ! Implica em dispositivos globalmente endereados ! Tendncia de servidores em casa
! !
Mltiplas web cams Neste caso NAT se torna sensivelmente mais complexo
Endereamentos IPv6
! Broadcast NO existe mais no IPv6.
!
! Multicast Adquiriu funes novas no IPv6 ! Anycast j vem especificado junto com o
todos os endereos tem um identificador de interface de 64 bits ! Os prefixos entre 2000::/3 e E000::/3 necessitam ter um identificador no formato (EUI)-64 ! A RFC 2374 define um padro para o prefixo global ! Dividido em Top-Level Aggregator (TLA) e Next-Level Aggregator (NLA) ! Antigamente existia o campos TLS que foi retirados pela IETF por serem campos baseados em polticas ! Ainda existem redes IPv6 baseadas na estrutura antiga
(restringe a comunicao dentro do domnio) ! Inicia com o prefixo FEC0::/10 ! No repassado por roteadores
Multicast
! Endereos multicast IPv6 tem o prefixo FF00::/8
Multicast
! Todos os hosts IPv6 escutam o endereo
Multicast
Anycast
! Endereo designado que pode ser uma srie de
endereos dentro de um caminho ! Sintaticamente so endereos indistinguveis de um endereo unicast ! Pode ser usado apenas por um roteador
Autoconfigurao
! Autoconfigurao Stateless.
Todos os nodos recebem o endereo FE02::1 ! A autoconfigurao Stateless permite a um nodo inicializar usando o prefixo local e alguns outros nmeros. ! Estes nmeros provavelmente sero os 48 bits do endereo ethernet ! Os endereos sero FE80::48-bit address (multicast) ! Os hosts enviam uma mensagem de solicitao para todos os roteadores usando o endereo multicast que indica todos os roteadores (FF02::2). ! Usado para determinar o prefixo e outros parmetros para roteamento.
!
Neighbor Discovery
! RFC 2461. ! Os nodos usam Neighbor discovery para
descobrir os endereos de link dos nodos vizinhos. ! Encontra links locais de hosts e roteadores. ! Detecta quais vizinhos esto ativos e mudanas em seus endereos. ! ARP no mais usado no IPv6.
! Esta
Neighbor Discovery
! No IPv6, as mensagens de descobrimento
utilizam multicast para router discovery, neighbor discovery, etc. ! O IPv6 Neighbor Discovery combina alguns protocolos do IPv4 (ARP, ICMP Router Discovery e ICMP Redirect). ! O IPv4 no tem mtodos para detectar quedas no gateway e vizinhos que cairam.
Neighbor Discovery
! O IPv6 detecta suspeita de quedas de links e
links que cairam. ! Usando endereo de link local possivel identificar como anda o relacionamento com os roteadores e manter, mesmo se o endereo do provedor mudar. ! A definio de endereos realizada na camada ICMP.
Descoberta do Roteador (gateway) Descoberta do prefixo Descoberta de parmetros Autoconfigurao de endereo Definio de endereo Determinao do prximo salto Deteco de vizinhos que no esto respondendo Deteco de endereos duplicados Redirecionamento
Neighbor Solicitation
Neighbor Advertisement
Neighbor Redirect
Definio de Endereos
! Consiste em enviar uma mensagem de Neighbor
Autoconfigurao Stateless
Windows XP - netsh
! Para configurar ou consultar dados referentes a interfaces IPv6, usa-se
6to4 - Changes to the `netsh interface ipv6 6to4' context. add - Adds a configuration entry to a table. delete - Deletes a configuration entry from a table. dump - Displays a configuration script. help - Displays a list of commands. install - Installs IPv6. isatap - Changes to the `netsh interface ipv6 isatap' context. renew - Restarts IPv6 interfaces. reset - Resets IPv6 configuration state. set - Sets configuration information. show - Displays information. uninstall - Uninstalls IPv6.
Windows XP - netsh
! Informaes sobre o comando netsh interface
ipv6 6to4
dump ! reset state. ! set ! show
!
- Displays a configuration script. - Resets all 6to4 configuration - Sets configuration information. - Displays information.
Windows XP - netsh
! Informaes sobre o comando netsh interface
Usado tambm em outras (Mandrake, ...) Coloca-se a linha NETWORKING_IPV6=yes Executa-se o comando:
!
automaticamente via Neighbor Discovery ! Pode-se optar por configurar informaes especficas sobre IPv6, editando-se o arquivo /etc/sysconfig/networking/ifcfg-eth0, no caso para a interface de rede eth0
Habilita pilha IPv6 Habilita IPv6 na interface especificada. Se for colocado auto no lugar da interface, a interface ser configurada automaticamente (autoconfigurao Serverless). Habilita o forward de pacotes IPv6 Mostra o prefixo a ser usado na formao do endereo IPv6. O sufixo formado pelo endereo MAC. Especifica o gateway default da rede IPv6 Especifica o caminho para o daemon de roteamento (pode ser utilizado o daemon route6d)
! ipv6_network_interfaces=<interface>
!
! ipv6_gateway_enable=<"YES|NO">
!
! ipv6_prefix_<interface>=<"prefixo">
!
! ipv6_defaultrouter=<"endereo IPv6
!
! ipv6_router=<"caminho">
!
Flags a serem passados para o daemon de roteamento Utiliza o prefixo especificado prefixo do roteador Habilita Router Adversiment Define a interface por onde sairo os pacotes de Router Adversiment Habilita o roteamento multicast em IPv6 Caminho do daemon de roteamento IPv6. Geralmente utilizado o daemon pim6d
! prefixcmd_enable=<"YES|NO">
!
! rtadvd_enable=<"YES|NO">
!
! rtadvd_interfaces=<"interface">
!
! mroute6d_enable=<"YES|NO>
!
! mroute6d_program=<"caminho>
!
stf_interface_ipv6_slaid=<Endereamento SLA>
!
Endereamento SLA (Site Level Aggregator ) a ser utilizado no tnel 6to4. Habilita mapeamento de endereos IPv4 dentro de endereos IPv6, como por exemplo, ::ffff:a.b.c.d Habilita firewall IPv6 Caminho do script para firewall IPv6. Geralmente utilizado "/etc/rc.firewall6. Tipo de firewall IPv6 Habilita o recurso de esconder as regras da firewall Habilita o LOG da firewall IPv6. Envia flags para o daemon de firewall (ip6fw).
ipv6_ipv4mapping=<"YES|NO">
!
ipv6_firewall_enable=<"YES|NO>
!
ipv6_firewall_script=<caminho>
!
ipv6_firewall_type=<"tipo>
!
ipv6_firewall_quiet=<"YES|NO">
!
ipv6_firewall_logging=<YES|NO>
!
ipv6_firewall_flags=<"flags">
!
Interconexo IPv4/IPv6
! IPv6 sobre tnel IPv4 o processo de
examinar um datagrama IPv6 e coloc-lo um cabealho IPv4 para que ele possa transitar por roteadores IPv4
! Tnel
configurado O endereo de endpoint do tnel determinado pelo nodo que est encapsulando. ! Tnel automtico O endereo de endpoint determinado pelo endereo IPv4 que est dentro do pacote IPv6.
Interconexo IPv4/IPv6
! Dual-stack: Um nodo que roda tanto IPv4
quanto IPv6 em uma mesma interface. ! NAT-PT: Tradutor de protocolo que colocado na frente de endereos que so somente IPv4 ou IPv6. ! DSTM: Dual Stack Transition Mechanism (draft, baseia-se em tunelamento/DHCPv6). ! Proxy: Recebe pedidos de endereos IPv4, retornando pginas IPv6 e vice-versa
Dual-Stack
! Necessria em qualquer sistema de
interconexo entre os protocolos em alguma parte do backbone ! Estaes que fazem a interconexo devem ter Dual Stack ! Baseia-se na idia de a mesma interface de rede ter ambos os protocolos IPv4 e IPv6
Dual-Stack
! Exemplo de
Interface DualStack em roteador Cisco ! Endereo IPv4 unicast: 200.132.0.17 ! Endereo IPv6 unicast: 2001:4A0:300:0:20 2:4AFF:FE64:8820
Dual-Stack
TCP/UDP
NAT-PT
! RFC ! Network Address Translation Protocol
Translation ! Utiliza faixas de endereo IPv4 para associao com nodos de endereo IPv6 ! baseado em um prefixo IPV6 escolhido para este fim ! Deve ser sempre utilizado em conjunto com algum DNS-ALG
NAT-PT
NAT-PT
! Pode ser:
!
Tradicional
!
! !
Abertura de conexes de forma unidirecional, indo da rede IPv4 para a rede IPv6 Basic-NAT-PT NAPT-PT (PAT Port Address Translation) Conexes abertas em ambos os sentidos
Bidirecional
!
NAT-PT e FreeBSD
! Baseado do projeto KAME ! Melhor implementao por software existente ! Serve para demais distribuies BSD ! Dentro do arquivo de configurao do kernel
INET6 NATPT
NAT-PT e FreeBSD
! A configurao do kernel feita com o
software natptconfig
mostra as tradues ativas # natptconfig show xlate mostra as regras correntes # natptconfig show rules habilita o mapeamento # natptconfig map enable Desabilita o mapeamento natptconfig map disable
DNS-ALG
! Papel crucial na idia de trabalhar com NAT-
PT ! Funciona na camada de aplicao (Aplication Level Gateway) ! RFC 2766 ! Cada cada consulta de DNS d uma resposta diferente, dependendo do protocolo que fez a consulta (IPv4 ou IPv6)
NAT-
prefix 2001:4a0:300:2:: map from daddr 200.132.15.2 to daddr 2001:4a0:300:1:250:8bff:fec0:8b2d map from 2001:4a0:300:1:250:8bff:fec0:8b2d to 200.132.15.2 map enable
TOTd
! Aplicao que funciona como DNS-ALG ! Serve apenas de midware entre a aplicao e
TOTd
! Exemplo de configurao
forwarder 200.132.0.132 port 53 prefix 2001:4a0:300:2:: retry 300
aplicados hoje
!
no existe muitos problemas com segurana ! A maioria das firewalls comerciais no tem suporte a IPv6 ! Atualmente vem aumentado o nmero de filtros para IPv6
Filtros no Linux
! Utiliza Iptables-IPv6 para escrita das regras
no kernel ! Pode ser instalado atravs de pacotes (RPMS, apt-get, ...) ! Para carregar o mdulo de firewall IPv6
!
modprobe ip6_tables
! Exemplo de regra: ! ip6tables -A INPUT -i sit+ -p tcp -s 3ffe:ffff:100::1/128 --sport 512:65535 --dport 22 -j ACCEPT
HTTP - Apache
! Verso 1.3.x necessita de patch para
trabalhar com IPv6 ! Verso 2 tem suporte nativo a IPv6 ! Possibilidade de VirtualHosts IPv4 e IPv6
logs, como programas para estatsticas ! Este problema no ocorre com o Apache 2
DNS - BIND
! Utilizado para resoluo de nomes e DNS
reverso ! Suporte a IPv6 desde a verso 8 ! Suporte endereos DNS A6 e AAAA ! Suporte a DNS reverso INT e ARPA
DNS - BIND
! Configurao do named.conf
# # Configurao de DNS para o domnio # ipv6.pop-rs.rnp.br # zone "ipv6.pop-rs.rnp.br" { type master; allow-transfer { 200.132.0.0/24; 2001:4a0:300::/64; }; also-notify { 200.132.0.105; }; file "zone.ipv6.pop-rs.rnp"; allow-query { any; }; };
DNS - BIND
! Configurao do named.conf # # Configurao do DNS Reverso # baseado em ip6.arpa # faixa da zona: 2001:4a0:300::/48 # zone "\[x200104A00300/48].ip6.arpa" { type master; allow-transfer { 200.132.0.0/24; 2001:4a0:300::/64; }; also-notify { 200.132.0.105; }; file "zone.ipv6.pop-rs.rnp_rev_arpa"; allow-query { any; }; };
DNS - BIND
!
Configurao do named.conf
# # Configurao do DNS Reverso # baseado em ip6.int (usado ainda muito atualmente (20/02/2002)) # porm tende a cair em desuso # Usado para manter compatibilidade com aplicaes mais antigas # faixa: 2001:4a0:300::/48 # zone "0.0.3.0.0.a.4.0.1.0.0.2.ip6.int" { type master; allow-transfer { 200.132.0.0/24; 2001:4a0:300::/64; }; also-notify { 200.132.0.105; }; file "zone.ipv6.pop-rs.rnp_rev_int"; allow-query { any; }; };
DNS - BIND
! Arquivo zone.ipv6.pop-rs.rnp
... $ORIGIN ipv6.pop-rs.rnp.br. caravela AAAA 2001:4a0:300:0:204:acff:fe66:212d A6 64 ::204:acff:fe66:212d redelocal equitext CNAME lupus lepus A 200.132.0.103 AAAA 2001:4a0:300:0:201:3ff:fedd:2a9f A6 64 ::201:3ff:fedd:2a9f redelocal pampa A 200.19.246.22 AAAA 2001:4a0:300:0:2a0:24ff:feba:f1e2 A6 64 ::2a0:24ff:feba:f1e2 redelocal lupus AAAA 2001:4a0:300:0:2d0:9ff:fea6:230e A6 64 ::2d0:9ff:fea6:230e redelocal marte AAAA 2001:4a0:300:0:202:55ff:fe5d:1f11 A6 64 ::202:55ff:fe5d:1f11 redelocal ...
DNS - BIND
! Arquivo zone.ipv6.pop-rs.rnp_rev_arpa ... \[x200104A00300/48].ip6.arpa IN SOA lepus.pop-rs.rnp.br. root.lepus.pop-rs.rnp.br. ( 2003112401 ; serial 10800 ; refresh (3 hours) 3600 ; retry (1 hour) 604800 ; expire (1 week) 60 ; minimum (1 minute) ) NS lepus.pop-rs.rnp.br. NS lupus.pop-rs.rnp.br. ... $ORIGIN \[x200104A003000000/64].ip6.arpa. \[x020255FFFE5D0B13/64] PTR lua.ipv6.pop-rs.rnp.br. \[x02a024fffebaf1e2/64] PTR pampa.ipv6.pop-rs.rnp.br. \[x020255FFFE5D1F11/64] PTR marte.ipv6.pop-rs.rnp.br. ...
DNS - BIND
! Arquivo zone.ipv6.pop-rs.rnp_rev_int 0.0.3.0.0.a.4.0.1.0.0.2.ip6.int IN SOA lepus.pop-rs.rnp.br. root.lepus.poprs.rnp.br. ( 2003112401 ; serial 10800 ; refresh (3 hours) 3600 ; retry (1 hour) 604800 ; expire (1 week) 60 ; minimum (1 minute) ) NS lepus.pop-rs.rnp.br. NS lupus.pop-rs.rnp.br. ... ! $ORIGIN 0.0.0.0.0.0.3.0.0.a.4.0.1.0.0.2.ip6.int. ! 1.1.f.1.d.5.e.f.f.f.5.5.2.0.2.0 PTR marte.ipv6.pop-rs.rnp.br. ! 2.e.1.f.a.b.e.f.f.f.4.2.0.a.2.0 PTR pampa.ipv6.pop-rs.rnp.br. ! 3.1.b.0.d.5.e.f.f.f.5.5.2.0.2.0 PTR lua.ipv6.pop-rs.rnp.br. ...
Tunelamento
! Baseia-se na idia de encapsular trfego IPv6 dentro
Tunelamento
! Podem ser:
Em desuso
TSP
!
possuindo endereos IPv4 e IPv6 fixos. ! Suportado pela maioria dos sistemas operacionais ! Um dos primeiro tipo de tneis IPv6 existentes e comumente usado ! Point-to-point
protocolo dentro de IPv4 ! Deve ser feito de forma manual a configurao ! O protocolo GRE funciona como o carregador do IPv6 e o IPv4 funciona como o protocolo de transporte ! Muito pouco usado atualmente
domnios IPv6 atravs da rede IPv4, no modo point-tomultipoint ! Roteadores no so configurados em pares porque usam a estrutura IPv4 como um NBMA (NonBroadcast MultiAccess link) ! O endereo IPv4 embutido no IPv6 usado para encontrar a outra ponta do tnel automtico ! Deve ser configurado em um roteador de borda da rede IPv6 isolada
Host configurado com pelo menos um endereo 6to4. No requer configurao manual Roteador com suporte a tunelamento 6to4, encarregado de rotear os pacotes. Requer configurao manual. Faz a ligao do trfego 6to4 para a Internet IPv6.
6to4 router
!
para rotear para outras redes 6to4 e uma rota default (::/0) para rotear pelo router relay 6to4
IPV6TO4_RELAY=<ipv4address|ipv6to4address>
" Endereo IPv4 ou IPv6to4 da outra ponta do tnel
IPV6TO4_IPV4ADDR=<ipv6address>
" Sobrescreve o endereo IPv4 local na formao do endereo IPv6
IPV6TO4_ROUTING="eth0-:f101::0/64 eth1-:f102::0/64
" Informao sobre a configurao de sobredes locais
IPV6TO4_CONTROL_RADVD=yes|no
" Controla anncios de Router Adversiment (opcional)
IPV6TO4_RADVD_PIDFILE=file
" Arquivo com o nmero do identificador de processo do daemon radvd (responsvel pelo Router Adversiment)1
desuso ! composto pelos 96 bits iniciais zerados, mais os 32 bits finais compostos pelo endereo IP do host ! Pode ser configurado entre roteadores de borda e entre um roteadore de borda e um host.
Freenet6
! Usa o protocolo tsp
Configura automaticamente tneis usando comandos do sistema operacional ! Draft proposta ! Usa as informaes contidas em arquivo de configurao (tspc.conf) e um programa chamado tspc[.exe] ! Funciona com vrios sistemas operacionais
!
!
Arquivo tspc.conf
tsp_version=1.0.1 tsp_dir=. client_v4=auto|1.1.1.1 userid=usuario1 passwd=senha1 template=WindowsNT-2K retry_delay=0 if_tunnel=PPP
2002,2001 e 3FFE ! Problemas com documentao de servidores IPv6, especialmente VirtualHosts (Apache) ! Problemas com documentao de sistemas operacionais, como AIX 3.2
!