Redes IPv6
Transcrição
Redes IPv6
Implementação do protocolo IPv6 REDES Redes IPv6 A era IPv6 está mais próxima do que imaginamos. Veremos como configurar a próxima geração do protocolo da internet. por Owen DeLong M uitos sabem que os endereços IPv4 estão se esgotando. No entanto, nem todos sabem o quão perto estamos do fim. A Internet Assigned Numbers Authority (IANA – Autoridade de Atribuição de Números da Internet), provavelmente, ficará sem endereços IPv4 disponíveis até o final de 2010. Entretanto, a verdadeira história é um pouco mais complicada. A IANA não aloca endereços a indivíduos (nem corporações) diretamente, mas sim para cinco Regional Internet Registries (RIR – Registros de Internet Regionais). Esses RIRs, por sua vez, alocam e atribuem endereços a usuários finais e organizações provedoras de acesso e, em alguns casos, outros Registros da Internet. O fim dos endereços da IANA é bem previsível. Eles acabarão dando um dos quatro últimos grandes blocos (conhecidos como /8s) para cada um dos RIRs, e então, esse será o fim dos IPv4 gratuitos da IANA. É mais difícil prever quando os RIRs ficarão sem endereços. Eles negociam com uma ampla gama de variáveis, incluindo diferentes tamanhos de solicitações e altos e baixos na demanda. Normalmente, espera-se que cada RIR fique sem endereços um ano após receber seu último /8 da IANA. Como todos provavelmente já sabem, uma nova versão de protocolo, 68 que inclui um novo espaço de endereço IP, já está sendo preparada há algum tempo. Alguns roteadores e provedores já oferecem suporte ao IPv6 e pode-se esperar um aumento na necessidade de suporte ao IPv6 conforme a oferta de endereços for escasseando. Neste artigo, investigo questões relativas à configuração do IPv6 e mostro como colocar em funcionamento uma rede IPv6 – mesmo que seu provedor não ofereça um suporte IPv6 completo. Começo Diferentemente do velho protocolo IPv4 amplamente utilizado hoje, que possui apenas 32 bits e só pode gerar um pouco mais de 3 bilhões de hosts únicos, o IPv6 possui 128 bits e pode gerar mais de 340 undecilhões de hosts (não precisa pegar um dicionário: um undecilhão é um 1 seguido de 36 zeros – em outras palavras, um número inimaginavelmente enorme). O IPv6 oferece vários benefícios importantes que não seriam possíveis em uma rede IPv4 convencional, tais como autoconfiguração e multicasting melhorados, melhor qualidade de opções de serviços e maior carga. Como é de se esperar, junto com esses benefícios vêm alguns riscos. O processo completo de implementação do IPv6 consiste em uma série de pequenos passos de configuração. A ordem exata destes passos pode depender de sua configuração de rede, portanto, pode ser necessário seguir um caminho um tanto diferente, mas os passos básicos descritos aqui são os seguintes: 1. O bter uma conectividade IPv6 básica para seu gateway (também conhecido por roteador). 2. Estabelecer uma política de segurança IPv6 (hosts e gateway). 3. Adicionar o IPv6 à sua rede host. 4. Adicionar o IPv6 aos hosts (caso isso não aconteça automaticamente). 5. H abilitar serviços em IPv6. a) DNS (exibição personalizada e suporte de teste). b) IMAP/POP. c) SMTP. d) Web. e) DNS (produção). Mesmo que seu ambiente exija passos diferentes, este artigo será um guia pra iniciar sua rede IPv6. Conectividade IPv6 básica O primeiro passo é conseguir uma conectividade IPv6 básica para seu roteador. É bom fazer isso com cuidado para não criar um problema de segurança acidentalmente. Infelizmente, os crackers já estão dominando o protocolo, e já há ataques IPv6 ocorrendo. O ideal é que seu provedor http://www.linuxmagazine.com.br IPv6 | REDES ofereça uma conectividade de pilha dupla nativa. Na maioria dos casos, isso não vai acontecer, mas vale a pena se informar para saber se essa opção está disponível. Se tiver sorte, a maior parte desta etapa não será necessária. Assumindo que seu provedor não tenha serviços IPv6 diretos, será necessário um túnel de um provedor cooperativo. O tunelamento IPv6 é uma técnica que permite embarcar pacotes IPv6 dentro de pacotes IPv4, o que significa que sua rede IPv6 pode usar a antiga internet de links ponto-a-ponto para outras redes IPv6 (não se preocupe, é mais fácil implementar do que explicar). Vários provedores oferecem túneis IPv6 gratuitamente. Meu favorito é o IPv6 Tunnel Broker operado pelo Hurricane Electric [1]. Se for preciso encerrar o túnel por trás do NAT, tente o tunnel broker e o adaptador disponíveis no SixXS [2]. Inscrever-se nos tunnel brokers é muito fácil, e é possível obter com eles um /64 (no caso de uma só rede) ou o /48 (no caso de várias redes). Nos meus exemplos, estou usando um /48. Se obtiver um /48, é bem possível que ele venha com um link adicional de /64 de qualquer maneira. Quando estiver criando um túnel, o broker irá solicitar o endereço IP público do seu gateway. Se não souber o endereço, é possível descobrilo em WhatIsMyIPAddress.com [3]. Depois de conseguir seus endereços para o túnel e para a sua rede local, o próximo passo é configurar seu roteador. A primeira coisa que precisa ser feita é certificar-se que não há conectividade IPv6 acidental para hosts que não possuem políticas de segurança em IPv6. Faça isso colocando um ACL adequado em seu roteador, ou tenha a certeza de que o IPv6 não está habilitado em qualquer host por padrão até estar pronto para ligá-lo. Depois de dominar as notações de endereço mais complexas, o ip‑ Linux Magazine #69 | Agosto de 2010 6tables funcionará mais ou menos do mesmo modo que o iptables. A listagem 1 mostra entradas iptables de um dos meus hosts, e a listagem 2 mostra a configuração do ip6tables. Depois de ter protegido os seus hosts, o próximo passo é executar o IPv6 no seu roteador. Os túneis possuem endereços internos e externos. Os endereços externos serão os endereços IPv4 públicos dos dispositivos do fim do túnel. Neste exemplo, vou usar 198.51.100.5 (provedor do fim do túnel), e 203.0.113.89 (extremidade local do túnel) para os endereços externos. Os endereços internos serão 2001:db8:930:7000::1/64 (no lado do provedor) e 2001:db8:930:7000::2/64 (no lado local). Primeiramente, certifique-se de poder dar um ping no roteador remoto a partir do endereço local do túnel. No terminal, execute: ping 198.51.100.5 source 203.0.113.89 Se o resultado for bem sucedido, configure o túnel como mostra a listagem 3. (As listagens 4 a 11 podem ser encontradas para download em [4]). Caso tudo tenha corrido bem e o túnel for configurado corretamente no lado do túnel broker, será possível enviar agora seu primeiro datagrama IPv6: ping 2001:db8:930:7000::1 source 2001:db8:930:7000::2 Se tudo deu certo, parabéns! Seu roteador está funcionando sob o protocolo IPv6. Entretanto, apenas a configuração do roteador não é suficiente para a maioria das pessoas. O próximo passo é estabelecer o IPv6 em (um dos) seu(s) segmento(s) de rede. Comece configurando um endereço IPv6 para a interface do roteador no segmento da LAN (listagem 4). Perceba que a configuração fa‑ mily inet aparece quando executo o comando show. Essa configuração é do IPv4, que não foi modificado e continua a funcionar como antes. Apenas a informação relativa ao IPv6 é adicionada, em family inet6. Com essa configuração, meu roteador já está pronto para que os hosts ofereçam endereços IPv6 automaticamente (através de autoconfiguração stateless) e para darem ping no roteador ou entre si usando o IPv6. No entanto, para que as coisas funcionem no acesso à internet, será preciso adicionar informações de roteamento IPv6 ao roteador. O mais fácil a fazer é simplesmente definir uma rota padrão (listagem 5). Com a rota padrão estabelecida, tudo está pronto para que o(s) host(s) funcionem com o IPv6. No restante deste artigo mostrarei como fazer vários serviços funcionarem em IPv6, em um servidor Linux. Para começar, farei uma checagem básica de conectividade e examinarei alguns comandos IPv6 úteis do Linux. O comando ping6 chama o clássico utilitário Ping para ambientes IPv6: host% ping6 2001:db8:930:7000::1 O seguinte comando exibirá seus endereços IPv6: host% ip ‑f inet6 addr show Outra versão do comando ip -f inet6 irá aparecer nos seus vizinhos conhecidos (como o arp IPv4): host% ip ‑f inet6 neigh show 2001:db8:930:5ffe::1 dev eth0 lladdr 2c:6b:f5:03:0a:20 Adicionar capacidade IPv6 Agora que seu host tem conectividade IPv6 básica, ou pelo menos alguma forma de segurança IPv6 em vigor, é hora de começar a adicionar capacidades IPv6 em seus serviços de 69 REDES | IPv6 rede. Em geral, isso é mais fácil do que se imagina. As seções seguintes descrevem como criar serviços IPv6 de DNS, IMAP e POP, SMTP, HTTP e DNS. Estes importantes serviços de rede irão levá-lo a um suporte IPv6 com- pleto, mas saiba que a maioria das dicas estão em softwares in-house, bem como a análise de logs, monitoramento ou sistemas de fornecimento que ainda não podem trabalhar com endereços IPv6 ou armazená-los em bancos de dados. Criar uma visualização limitada de DNS O próximo passo é criar uma visualização separada para os clientes DNS autorizados para que seja possível a utilização de serviços IPv6 sem afe- Listagem 1: Configuração iptables 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 70 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH‑Firewall‑1‑INPUT ‑ [0:0] ‑A INPUT ‑j RH‑Firewall‑1‑INPUT ‑A FORWARD ‑j RH‑Firewall‑1‑INPUT # Don’t block Loopback ‑A RH‑Firewall‑1‑INPUT ‑i lo ‑j ACCEPT # Permit Syslog ‑A RH‑Firewall‑1‑INPUT ‑d 192.0.2.2/32 ‑m state ‑‑state NEW ‑m udp ‑p udp ‑‑dport 514 ‑j ACCEPT # Permit BFD (for OSPF) ‑A RH‑Firewall‑1‑INPUT ‑d 192.0.2.2/32 ‑m state ‑‑state NEW ‑m udp ‑p udp ‑‑dport 3784 ‑j ACCEPT ‑A RH‑Firewall‑1‑INPUT ‑d 192.0.2.2/32 ‑m state ‑‑state NEW ‑m tcp ‑p tcp ‑‑dport 3784 ‑j ACCEPT # Permit ICMP ‑A RH‑Firewall‑1‑INPUT ‑p icmp ‑‑icmp‑type any ‑j ACCEPT # Permit ESP and AH (for IPSEC) ‑A RH‑Firewall‑1‑INPUT ‑p 50 ‑j ACCEPT ‑A RH‑Firewall‑1‑INPUT ‑p 51 ‑j ACCEPT # Permit hosts on local LAN ‑A RH‑Firewall‑1‑INPUT ‑s 192.0.2.0/24 ‑j ACCEPT # Permit established sessions already in state table ‑A RH‑Firewall‑1‑INPUT ‑m state ‑‑state ESTABLISHED,RELATED ‑j ACCEPT # Permit SSH ‑A RH‑Firewall‑1‑INPUT ‑m state ‑‑state NEW ‑m tcp ‑p tcp ‑‑dport 22 ‑j ACCEPT # Permit DNS ‑A RH‑Firewall‑1‑INPUT ‑s 192.0.2.0/24 ‑m state ‑‑state NEW ‑m udp ‑p udp ‑‑dport 53 ‑j ACCEPT ‑A RH‑Firewall‑1‑INPUT ‑s 192.0.2.0/24 ‑m state ‑‑state NEW ‑m tcp ‑p tcp ‑‑dport 53 ‑j ACCEPT # Rate Limit external DNS queries ‑A RH‑Firewall‑1‑INPUT ‑m state ‑‑state NEW ‑m udp ‑p udp ‑‑dport 53 ‑m limit ‑‑limit 30/minute ‑‑limit‑burst 90 ‑j ACCEPT ‑A RH‑Firewall‑1‑INPUT ‑m state ‑‑state NEW ‑m tcp ‑p tcp ‑‑dport 53 ‑m limit ‑‑limit 30/minute ‑‑limit‑burst 90 ‑j ACCEPT # Permit TFTP ‑A RH‑Firewall‑1‑INPUT ‑m state ‑‑state NEW ‑m udp ‑p udp ‑‑dport 69 ‑j ACCEPT # Permit SMTP ‑A RH‑Firewall‑1‑INPUT ‑m state ‑‑state NEW ‑m tcp ‑p tcp ‑‑dport 25 ‑j ACCEPT ‑A RH‑Firewall‑1‑INPUT ‑m state ‑‑state NEW ‑m tcp ‑p tcp ‑‑dport 587 ‑j ACCEPT ‑A RH‑Firewall‑1‑INPUT ‑m state ‑‑state NEW ‑m tcp ‑p tcp ‑‑dport 465 ‑j ACCEPT # Permit MySQL ‑A RH‑Firewall‑1‑INPUT ‑m state ‑‑state NEW ‑m tcp ‑p tcp ‑‑dport 3306 ‑j ACCEPT # Permit DHCP/BootP ‑A RH‑Firewall‑1‑INPUT ‑m state ‑‑state NEW ‑m udp ‑p udp ‑‑dport 67 ‑j ACCEPT ‑A RH‑Firewall‑1‑INPUT ‑m state ‑‑state NEW ‑m udp ‑p udp ‑‑dport 68 ‑j ACCEPT # Permit HTTP ‑A RH‑Firewall‑1‑INPUT ‑m state ‑‑state NEW ‑m tcp ‑p tcp ‑‑dport 80 ‑j ACCEPT ‑A RH‑Firewall‑1‑INPUT ‑m state ‑‑state NEW ‑m tcp ‑p tcp ‑‑dport 443 ‑j ACCEPT # Permit LPD and CUPS from local network ‑A RH‑Firewall‑1‑INPUT ‑s 192.0.2.0/24 ‑m state ‑‑state NEW ‑m udp ‑p udp ‑‑dport 111 ‑j ACCEPT ‑A RH‑Firewall‑1‑INPUT ‑s 192.0.2.0/24 ‑m state ‑‑state NEW ‑m tcp ‑p tcp ‑‑dport 631 ‑j ACCEPT ‑A RH‑Firewall‑1‑INPUT ‑s 192.0.2.0/24 ‑m state ‑‑state NEW ‑m udp ‑p udp ‑‑sport 111 ‑j ACCEPT # Log failed packets ‑A RH‑Firewall‑1‑INPUT ‑j LOG # Send back an administratively prohibited ICMP message for non‑matching packets ‑A RH‑Firewall‑1‑INPUT ‑j REJECT ‑‑reject‑with icmp‑host‑prohibited COMMIT http://www.linuxmagazine.com.br IPv6 | REDES tar outros clientes. Esta alternativa é um pouco mais complicada, mas muito melhor do que a utilização de nomes separados para serviços IPv6. Uma visualização separada é mais difícil, pois é necessário manter arquivos de zonas duplicados e uma confi- guração separada para a visualização, além de um ACL para clientes autorizados. Por outro lado, a boa notícia é que, devido ao fato de ser possível mudar para a produção com poucas alterações no servidor web, não haverá problemas com certificados X.509 para serviços SSL/TLS. Por isso, essa opção oferece um ambiente de teste mais próximo da realidade. Todos os exemplos de DNS deste artigo baseiam-se no BIND, mas outros servidores de nomes terão a mesma capacidade. Listagem 2: Configuração ip6tables 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH‑Firewall‑1‑INPUT ‑ [0:0] ‑A INPUT ‑j RH‑Firewall‑1‑INPUT ‑A FORWARD ‑j RH‑Firewall‑1‑INPUT # Don’t block Loopback ‑A RH‑Firewall‑1‑INPUT ‑i lo ‑j ACCEPT # Permit Syslog ‑A RH‑Firewall‑1‑INPUT ‑d 2001:db8:feed:face::2/128 ‑m state ‑‑state NEW ‑m udp ‑p udp ‑‑dport 514 ‑j ACCEPT # Permit BFD (for OSPF) ‑A RH‑Firewall‑1‑INPUT ‑d 2001:db8:feed:face::2/128 ‑m state ‑‑state NEW ‑m udp ‑p udp ‑‑dport 3784 ‑j ACCEPT ‑A RH‑Firewall‑1‑INPUT ‑d 2001:db8:feed:face::2/128 ‑m state ‑‑state NEW ‑m tcp ‑p tcp ‑‑dport 3784 ‑j ACCEPT # Permit ICMP ‑A RH‑Firewall‑1‑INPUT ‑p icmp ‑‑icmp‑type any ‑j ACCEPT # Permit ESP and AH (for IPSEC) ‑A RH‑Firewall‑1‑INPUT ‑p 50 ‑j ACCEPT ‑A RH‑Firewall‑1‑INPUT ‑p 51 ‑j ACCEPT # Permit hosts on local LAN ‑A RH‑Firewall‑1‑INPUT ‑s 2001:db8:feed:face::0/64 ‑j ACCEPT # Permit established sessions already in state table ‑A RH‑Firewall‑1‑INPUT ‑m state ‑‑state ESTABLISHED,RELATED ‑j ACCEPT # Permit SSH ‑A RH‑Firewall‑1‑INPUT ‑m state ‑‑state NEW ‑m tcp ‑p tcp ‑‑dport 22 ‑j ACCEPT # Permit DNS ‑A RH‑Firewall‑1‑INPUT ‑s 2001:db8:feed:face::0/64 ‑m state ‑‑state NEW ‑m udp ‑p udp ‑‑dport 53 ‑j ACCEPT ‑A RH‑Firewall‑1‑INPUT ‑s 2001:db8:feed:face::0/64 ‑m state ‑‑state NEW ‑m tcp ‑p tcp ‑‑dport 53 ‑j ACCEPT # Rate Limit external DNS queries ‑A RH‑Firewall‑1‑INPUT ‑m state ‑‑state NEW ‑m udp ‑p udp ‑‑dport 53 ‑m limit ‑‑limit 30/minute ‑‑limit‑burst 90 ‑j ACCEPT ‑A RH‑Firewall‑1‑INPUT ‑m state ‑‑state NEW ‑m tcp ‑p tcp ‑‑dport 53 ‑m limit ‑‑limit 30/minute ‑‑limit‑burst 90 ‑j ACCEPT # Permit TFTP ‑A RH‑Firewall‑1‑INPUT ‑m state ‑‑state NEW ‑m udp ‑p udp ‑‑dport 69 ‑j ACCEPT # Permit SMTP ‑A RH‑Firewall‑1‑INPUT ‑m state ‑‑state NEW ‑m tcp ‑p tcp ‑‑dport 25 ‑j ACCEPT ‑A RH‑Firewall‑1‑INPUT ‑m state ‑‑state NEW ‑m tcp ‑p tcp ‑‑dport 587 ‑j ACCEPT ‑A RH‑Firewall‑1‑INPUT ‑m state ‑‑state NEW ‑m tcp ‑p tcp ‑‑dport 465 ‑j ACCEPT # Permit MySQL ‑A RH‑Firewall‑1‑INPUT ‑m state ‑‑state NEW ‑m tcp ‑p tcp ‑‑dport 3306 ‑j ACCEPT # Permit DHCP/BootP ‑A RH‑Firewall‑1‑INPUT ‑m state ‑‑state NEW ‑m udp ‑p udp ‑‑dport 67 ‑j ACCEPT ‑A RH‑Firewall‑1‑INPUT ‑m state ‑‑state NEW ‑m udp ‑p udp ‑‑dport 68 ‑j ACCEPT # Permit HTTP ‑A RH‑Firewall‑1‑INPUT ‑m state ‑‑state NEW ‑m tcp ‑p tcp ‑‑dport 80 ‑j ACCEPT ‑A RH‑Firewall‑1‑INPUT ‑m state ‑‑state NEW ‑m tcp ‑p tcp ‑‑dport 443 ‑j ACCEPT # Permit LPD and CUPS from local network ‑A RH‑Firewall‑1‑INPUT ‑s 2001:db8:feed:face::0/64 ‑m state ‑‑state NEW ‑m udp ‑p udp ‑‑dport 111 ‑j ACCEPT ‑A RH‑Firewall‑1‑INPUT ‑s 2001:db8:feed:face::0/64 ‑m state ‑‑state NEW ‑m tcp ‑p tcp ‑‑dport 631 ‑j ACCEPT ‑A RH‑Firewall‑1‑INPUT ‑s 2001:db8:feed:face::0/64 ‑m state ‑‑state NEW ‑m udp ‑p udp ‑‑sport 111 ‑j ACCEPT # Log failed packets ‑A RH‑Firewall‑1‑INPUT ‑j LOG # Send back an administratively prohibited ICMP message for non‑matching packets ‑A RH‑Firewall‑1‑INPUT ‑j REJECT ‑‑reject‑with icmp‑host‑prohibited COMMIT Linux Magazine #69 | Agosto de 2010 71 REDES | IPv6 Listagem 3: Configuração do roteador 01 router> edit 02 [edit] 03 router# set system internet‑options ipip‑path‑mtu‑discovery 04 router# edit interfaces ip‑0/0/0.0 05 edit interfaces ip‑0/0/0 unit 06 router# set description “6in4 tunnel to Hurricane Electric Tunnel Broker” 07 edit interfaces ip‑0/0/0 unit 08 router# set point‑to‑point 09 edit interfaces ip‑0/0/0 unit 10 router# set tunnel source 203.0.113.89 11 edit interfaces ip‑0/0/0 unit 12 router# set tunnel destination 198.51.100.5 13 edit interfaces ip‑0/0/0 unit 14 router# set tunnel path‑mtu‑discover 15 edit interfaces ip‑0/0/0 unit 16 router# set family inet6 mtu 1280 17 edit interfaces ip‑0/0/0 unit 18 router# set family inet6 address 2001:db8:930:7000::2/64 19 edit interfaces ip‑0/0/0 unit Começaremos com a criação de uma visualização customizada em named.conf, assumindo que o domínio existente seja example.com e seu arquivo named.conf se pareça com o mostrado na listagem 6. O primeiro passo é adicionar uma lista de hosts para ser incluída no teste do IPv6. Esses hosts serão os que poderão ver as versões IPv6 do(s) arquivo(s) de zona. Antes da linha 21 na listagem 6, onde se lê zone example.com {, inclua o seguinte: acl v6_clients { 192.0.2.147; 192.0.2.159; 192.0.2.223; }; Depois, será necessário criar múltiplas visualizações das zonas. Primeiro, copie o arquivo named.example.com para um novo arquivo chamado na‑ med6.example.com. Depois, modifique named.conf para que ele fique como o da listagem 7. Na listagem 7, cada visualização precisa conter o conjunto completo de domínios que serão visíveis aos clientes que foram atribuídos a essa visualização. Por esse motivo é que 72 20 router# show 21 description "6in4 tunnel to Hurricane Electric Tunnel Broker"; 22 point‑to‑point; 23 tunnel { 24 source 203.0.113.89; 25 destination 198.51.100.5; 26 path‑mtu‑discovery 27 } 28 family inet6 { 29 mtu 1280; 30 address 2001:db8:930:7000::2/64; 31 } 32 edit interfaces ip‑0/0/0 unit 33 router# top 34 [edit] 35 router# commit and‑quit 36 commit complete 37 Exiting configuration mode 38 39 router> as zonas reversas são definidas nas duas visualizações. Repare, no entanto, que as zonas reversas usam o mesmo arquivo master nas duas visualizações, portanto, apresentarão as mesmas informações. Apenas a zona example.com usa um arquivo diferente. Continue e faça o IPv6 reverso visível, pois isso não terá efeitos colaterais e poupará tempo mais para a frente. Um registro DNS AAAA é associado ao nome de domínio com um endereço IPv6. Nesse ponto, é possível adicionar os registros AAAA à versão v6 do arquivo de zona example. com (named6.example.com). O formato será mais ou menos o seguinte: host IN A 192.0.2.153 IN AAAA 2001:db8:930:5ffe::99 Não se esqueça de atualizar o número serial de seu SOA. Não é necessário manter a sincronia dos números seriais das duas versões do arquivo de zona example.com. Na verdade, alguns sites usam diferenças deliberadas nos números seriais para mostrar com facilidade qual visualização está visível a um determinado cliente. O próximo passo é recarregar seu servidor de nome (faça isso a partir do servidor de nome) e ver se tudo funcionou (faça isso a partir de um dos hosts com permissão na ACL v6_clients). Serviço de email A listagem 8 mostra as partes relevantes do arquivo dovecot.conf para o servidor IMAP/POP3 Dovecot antes da inclusão das capacidades IPv6. As configurações IPv4 e IPv6 da Dovecot são similares, então, assumindo que o padrão está sendo utilizado e os endereços disponíveis estão sendo escutados, o Dovecot adotará o IPv6 na próxima reinicialização, depois que o IPv6 for habilitado no sistema. Se estiver usando um aplicativo diferente para o IMAP, o POP ou ambos os serviços, as coisas podem ser diferentes. Para o SMTP, a listagem 9 mostra como eram as porções relevantes do protocolo no meu arquivo sendmail.mc antes da introdução do IPv6. Uma mudança simples deixará seu SMTP pronto para o IPv6 (listagem 10). Quais linhas ficarão sem o comentário na listagem 10 depende da sua configuração. Na maioria dos sistemas, uma escuta IPv6 irá escutar o IPv4 e o IPv6. No entanto alguns http://www.linuxmagazine.com.br IPv6 | REDES sistemas, como o BSD, possuem uma característica que exige que se use escutas separadas para o IPv4 e o IPv6. Se estiver em um sistema BSD ou algo semelhante, será preciso tirar o comentário das versões v4 e v6. No Linux, tire o comentário da linha v4 (usando dnl no início da linha) e adicione a linha v6. Os nomes (MTA‑v4, MTA) não são muito importantes, a menos que haja referência a eles em algum outro lugar na sua configuração. Nesse caso, é importante se certificar de que são semelhantes e de que qualquer elemento de configuração MTA necessário está duplicado – no caso de estas linhas terem seus comentários retirados. Protocolo HTTP (servidor web) O Apache facilita a migração de um host virtual de uma pilha simples IPv4 para uma dupla IPv4/IPv6. Primeiro, a configuração IPv4 original: Listen 192.0.2.7:80 <VirtualHost 192.0.2.7:80> ServerName www.example.com ... E essas linhas permitem o suporte a pilha dupla: Listen 192.159.10.7:80 Listen [2001:db8::400:7]:80 <VirtualHost 192.159.10.7:80 [2001:db8::400:7]:80> ServerName www.delong.com ... Perceba que apenas uma declaração Listen adicional é necessária para o endereço IP adicional e um endereço IP adicional enunciado na declaração VirtualHost, que aponta uma consideração adicional para o IPv6. A notação costumeira de :<port> no fim de um endereço IP não é inteiramente compatível com o uso de dois pontos (:) como delimitador Linux Magazine #69 | Agosto de 2010 dentro de um endereço IPv6, por isso a solução padrão na maioria dos aplicativos e bibliotecas é incluir os valores endereço/porta dentro de colchetes (]) seguido de dois pontos e o número da porta. Funcionamento do DNS Quando os outros serviços estiverem prontos e funcionando, é hora de voltar ao BIND e mover a configuração IPv6 do ambiente de teste para o de produção. Em primeiro lugar, não são necessárias modificações em nenhum dos servidores do ambiente de teste, portanto, o que será feito é alterar o DNS para que todos saibam de sua capacidade IPv6. NOTA: Agora é a hora de se certificar de que as únicas diferenças entre os arquivos de zona do IPv4 e do IPv6 são os registros AAAA: diff <v4zone> <v6zone> | grep '^>' | grep ‑v '\s+AAAA\s+' Se esse comando retornar algum dado, provavelmente será preciso atualizar seu arquivo de zona IPv6 antes de prosseguir. Se o teste anterior não gerar nenhum resultado (ou se a atualização necessária foi feita), está na hora de mudar tudo para a produção. Em primeiro lugar, salve o arquivo atual named.example. com em algum lugar, caso tenha que desfazer tudo. Depois, substitua na‑ med.example.com com o conteúdo (ou o próprio arquivo) named6.example.com. Verifique se a atualização do número de série foi feita – um número maior do que o último no named.example.com anterior. Por fim, remova a visualização de teste v6 e, opcionalmente, remova o wrapper de zona da configuração restante. Após completar esses passos, o arquivo named.conf ficará como o da listagem 11. Conclusão Neste ponto, terminou a migração básica de um ambiente pequeno e simples para o IPv6. Em um ambiente mais complexo, alguns passos adicionais precisarão ser considerados. Por exemplo, sistemas de monitoramento, sistemas de fornecimento, bem como qualquer parser de log podem precisar de atualizações para acomodar o IPv6 em seus respectivos bancos de dados e/ou bibliotecas. É perfeitamente possível que o mundo fique sem endereços IPv4 antes do final de 2011, por isso, agora é uma boa hora para começar a experimentar o protocolo IPv6. n Mais informações [1]Tunnel Broker: http://tunnelbroker.net [2]SixXS: http://www.sixxs.net [3]WhatIsMyIPAddress.com: http://whatismyipaddress.com [4]Listagens de códigos: http://lnm.com.br/issues/69/ipv6.zip Gostou do artigo? Queremos ouvir sua opinião. Fale conosco em [email protected] Este artigo no nosso site: http://lnm.com.br/article/3732 73
Documentos relacionados
Proteja sua
no serviço. mundial de computadores a partir da página do Google. Trata-se da web profunda, Teto de vidro ou invisível, dona da paradoxal No início de outubro, docucaracterística de ser essencial m...
Leia mais