Linux para IPv6
O IPv6 permite atribuir um IP para cada m2 da terra
Algumas das distribuições Linux atuais vem completamente despreparada para funcionar com IPv6,
embora os programas básicos já tenham código para isso.
Para verificar se seu kernel tem suporte, verifique se existe o arquivo /proc/net/if_inet6. Se ele existir, seu kernel já tem suporte. Se não existir, tente ver se o módulo ipv6.o está presente e pode ser carregado.
Caso seu kernel não tenha suporte, você precisará recompilá-lo. Arranje o código fonte da versão mais nova e configure-o como faria normalmente. Fora isso, você deverá ativar as seguintes opções no menu Networking, Options:
·The IPv6 protocol
·IPv6: Enable EUI-64 token format
·IPv6: disable provider based address
Se desejar, você poderá colocar o protocolo IPv6 como módulo. Nesse caso, você precisará carregar o módulo antes de usá-lo ou adicionar a seguinte linha a seu /etc/conf.modules (ou /etc/modules.conf):
alias net-pf-10 ipv6a
Depois de recompilar e instalar seu kernel, você já poderá brincar com IPv6. No entanto, para poder continuar a configuração de sua máquina para IPv6, você precisará
adicionalmente de outro pacote: net-tools.
As distribuições mais recentes já trazem o net-tools compilado com suporte a IPv6. Para ter certeza, rode
/sbin/route help. Se, na saída, na listagem de protocolos, aparecer "inet6 (IPv6)", então você já está pronto. Se não aparecer, você precisará obter os fontes desse pacote e recompilá-lo, lembrando-se de ativar as opções para IPv6 (rede Inet6 [AF_INET6] e dispositivos SIT [IPv6-sobre-IPv4]). Em: www.tazenda.demon.co.uk/phil/net-tools/
Feito isso, e com o módulo IPv6 ligado, você já deverá encontrar pelo menos um endereço IPv6 configurado em cada interface, como em:
# /sbin/ifconfig
eth0 Encapsulamento do Link: Ethernet Endereço de HW 00:D0:09:3D:A5:A8
inet end.: 172.26.0.2 Bcast:172.26.255.255 Masc:255.255.0.0
endereço inet6: fe80::2d0:9ff:fe3d:a5a8/10 Escopo:Link
UP BROADCASTRUNNING MULTICAST MTU:1500 Métrica:1
Pacotes RX:40303 erros:0 descartados:0 sobreposições:0 frame:0
Pacotes TX:40164 erros:0 descartados:0 sobreposições:0 portadora:0
colisões:401 txqueuelen:100
IRQ:11 Endereço de E/S:0xda00
lo Encapsulamento do Link: Loopback Local
inet end.: 127.0.0.1 Masc:255.0.0.0
endereço inet6: ::1/128 Escopo:Máquina
UP LOOPBACKRUNNING MTU:16144 Métrica:1
Pacotes RX:5732 erros:0 descartados:0 sobreposições:0 frame:0
Pacotes TX:5732 erros:0 descartados:0 sobreposições:0 portadora:0
colisões:0 txqueuelen:0
ote a presença do endereço fe80::2d0:9ff:fe3d:a5a8 na interface eth0, que é um endereço link-local e do endereço ::1 na interface lo. O endereço ::1 é o endereço de
loopback, então nada mais lógico que colocá-lo na interface lo. Já o outro endereço é o endereço atribuído automaticamente pelo sistema e serve para comunicar-se com as outras máquinas na mesma rede. Note a semelhança entre o final desse endereço com o endereço de hardware da placa de rede (o endereço MAC). Esse é um identificador global daquela interface, seguindo as especificações EUI-64 (que você habilitou no kernel). Você pode agora adicionar e remover endereços das interfaces, quantos quiser, usando o comando ifconfig:
# /sbin/ifconfig eth0 add 1000::1
# /sbin/ifconfig eth0
...
endereço inet6: 1000::1/0 Escopo:Global
...
# /sbin/ifconfig eth0 del 1000::1
# /sbin/ifconfig eth0 add fec0::1/64
# /sbin/ifconfig
...
endereço inet6: fec0::1/64 Escopo:Site
...
#
ping e traceroute Para testar o funcionamento da sua configuração IPv6, use os utilitários ping e traceroute para IPv6. O RedHat 6.2, no pacote iputils, já traz ambos, sob os nomes ping6 e traceroute6. Se você não tem o pacote,
busque em: ftp://ftp.inr.ac.ru/ip-routing/
Com isso, você já pode tentar "pingar" os endereços das suas interfaces. Eles deverão responder.
Configurando uma rede A segunda etapa agora é configurar uma outra máquina na mesma rede para conversar com a primeira. Refaça os mesmos passos que fez para
configurar a primeira maquina, desta vez adicionando um endereço a cada máquina que pertença à mesma rede. A sugestão é já seguir os padrões e escolher dois endereços site-local, como fec0::1/64 e fec0::2/64.
Quando tiver feito isso, tente, em uma das máquinas, "pingar" a outra. Se isso acontecer, sua primeira rede IPv6 já estará funcionando. Você pode tentar, também, "pingar" os endereços link-local das máquinas. Uma outra dica é tentar "pingar" o endereço de multicast ff02::1. Esse endereço significa que "todos os nós" e outras as máquinas deverão responder ao ping.
Se você fizer o mesmo para uma terceira ou mais máquinas, configurando-as na mesma rede (fec0::/64), elas deverão conversar entre si automaticamente. No entanto, note que a configuração que foi feita até agora é manual, já que não existe nenhum roteador na rede.
Configuração automática A configuração automática ocorre para todas as máquinas da rede, com exceção de uma, que será o roteador. Analisando sua rede, você deverá encontrar qual delas é o roteador atual, como, por exemplo, um servidor ou aquela que possui um modem, compartilhando a conexão. Você deverá decidir se irá usar uma configuração automática simples ou mais sofisticada, como DHCP. Se decidir pela configuração mais simples, você deverá instalar o pacote radvd (Routing Advertise Daemon).
Uma vez instalado o pacote, você deverá configurá-lo através do arquivo /etc/radvd.conf. Mais informações poderão ser encontradas no manual do programa e do arquivo de configuração. Uma configuração básica poderia ser:
interface eth0
{
AdvSendAdvert on;
prefix fec0:0:0:1::0/64
{
AdvAutonomous off;
};
};
O que se lê desse arquivo de configuração é que o programa radvd irá funcionar na interface eth0, enviando avisos periodicamente. Ele incluirá nos avisos que o prefixo fec0:0:0:1::/64 poderá ser usado pelos nós para configuração automática.
Dois efeitos colaterais interessantes resultantes da presença do radvd na rede são os seguintes: em primeiro lugar, a máquina roteadora irá automaticamente responder no endereço ff02::2, que significa "todos os roteadores"; o outro é que os nós, além de configurarem o endereço, já irão configurar também o roteador nas suas rotas-padrão.
Quaisquer máquinas que suportem IPv6, ao entrarem na rede, já irão configurar-se automaticamente na rede, usando o prefixo informado. Note, no entanto, que a identificação da máquina será o identificador global EUI-64, se os endereços forem configurados nessa forma, quando o prefixo informado tiver comprimento de 64 bits. Ou seja, o endereço tem o final igual ao do endereço link-local automático. Esse é o único comprimento de prefixo que o Linux irá suportar na configuração que fizemos. Isto é, o Linux com o EUI-64 ativado, que é o padrão adotado na Internet, só irá configurar automaticamente endereços se o prefixo informado pelo roteador tiver comprimento de 64 bits.
Você poderia também optar por utilizar uma configuração DHCP. No entanto, essa opção ainda não está disponível, devido ao fato de que os servidores de DHCP disponíveis no momento não suportam ainda IPv6.
Toda a configuração automática não exclui a possibilidade de configuração manual. Se você quiser, poderá configurar sua rede de modo inteiramente manual, como uma rede IPv4 comum (sem DHCP). Ou também poderá fazer uma configuração mista, entre manual e automática.
De fato, seria interessante uma configuração mista nos servidores. Ao contrário de estações de trabalho, servidores e roteadores precisam de endereços fixos, especialmente
os roteadores. Ainda que os endereços automáticos possam
ser relativamente estáticos, em certas situações eles podem mudar, como, por exemplo, na substituição de uma placa de rede ou de um computador todo. Por isso, seria importante a atribuição de endereços estáticos mais simples a algumas tarefas. Por exemplo, o roteador deverá ter o
endereço terminado em ::, o servidor de Web poderia ter
a terminação ::1, o servidor de e-mail teria ::2, e assim
por diante.
Configurando DNS A etapa seguinte da configuração de sua rede é configurar um servidor de nomes para resolver os endereços para IPs. Você precisará do BIND versão 8. Caso você não o tenha, poderá encontrá-lo www.isc.org/
A configuração normal do DNS é bastante simples. Assumindo que você já tem um servidor de DNS funcionando e que ele já resolve para o seu domínio, tudo que você tem de fazer é adicionar algumas novas entradas para os nomes que deseja resolver.
Quando se configura um endereço IPv4, usa-se uma
entrada tipo "A". No caso do IPv6, usa-se o "AAAA".
Veja, por exemplo, o box nesta coluna.
Atualize o serial do domínio e mande o BIND recarregar o arquivo. Agora você poderá testar se sua configuração funcionou, usando os comandos nslookup e host:
# host -t aaaa maquina1
maquina1.exemplo.com IPv6 address fec0::1:2c0:dfff:fee5:a6ac
Já a configuração do reverso é um pouco mais
complicada. Por exemplo, para resolver o endereço fec0:0:0:1:2c0:dfff:fee5:a6ac, um programa deverá consultar a resolução para o seguinte nome:
c.a.6.a.5.e.e.f.f.f.f.d.0.c.2.0.1.0.0.0.0.0.0.0.0.0.0.0.0.c.e.f.ip6.int
Então, adicione ao seu /etc/named.conf:
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.c.e.f.ip6.int" {
type master;
file "net1.reverse.ZONEINFO";
};
A seguir crie o arquivo /var/named/net1.reverse.ZONEINFO como qualquer outro arquivo de zona. No seu conteúdo, adicione entradas do tipo:
c.a.6.a.5.e.e.f.f.f.f.d.0.c.2.0 1d IN PTR maquina1.exemplo.com.
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 1d IN PTR www.exemplo.com.
No entanto, embora seja assim que todos os programas da atualidade funcionem com IPv6, as autoridades já decidiram que, mesmo antes de entrar em operação, esse sistema já está obsoleto. Foi criada uma nova técnica, mais flexível e simples para o usuário, embora sua carga nos servidores de DNS seja um pouco maior. Mas, para efeito de teste, você terá de usar as técnicas atuais (AAAA e resolução pelo domínio IP6.INT), ou os programas não funcionarão.
Configurando endereços IPV6
roteador1 1d IN AAAA fec0:0:0:1::
www 1d IN AAAA fec0:0:0:1::1
ftp 1d IN AAAA fec0:0:0:1::1
mail 1d IN AAAA fec0:0:0:1::2
smtp 1d IN AAAA fec0:0:0:1::2
pop3 1d IN AAAA fec0:0:0:1::2
maquina1 1d IN AAAA fec0:0:0:1:2c0:dfff:fee5:a6ac
maquina2 1d IN AAAA fec0:0:0:1:2d0:9ff:fe3d:a5a8
|