{Nota do Autor} Este é o primeiro de uma série de artigos que irá apresentar um cenário de rede montado em cima de pilha dupla (IPv4 e IPv6) e IPv6 apenas. Irei retratar aqui experiências reais com este protocolo e mostrar como configurar a rede e os principais serviços. Não espere encontrar um guia teórico sobre o IPv6, ou qualquer um dos serviços configurados, pois parto do princípio que quem estiver acompanhando estes artigos já possui conhecimento básico sobre network e serviços de rede, como http, dns, email e etc. {/Nota do Autor}
Tudo começou com um curso de IPv6 na NIC.br que eu estava adiando há mais de ano. Até que parei de enrolar e fui fazer o curso em outubro. Não é que pra minha surpresa eu gostei muito mais do que parecia.
Mas como todos sabem quando eu gosto de uma coisa ou acho que seja realmente válido eu sou xiita mesmo, evangelizo com vontade e defendo até o fim. Pois é, com o IPv6 vai ser assim também.
Vamos lá, neste primeiro artigo vou falar de "tunnel broker", do cenário que estou utilizado e como você pode fazer algo semelhante
Convenções/Glossário
(v4): Refere-se a versão 4 do protocolo IP, utilizando tanto para serviços que rodam sob quanto para o protocolo em si
(v6): Idem ao anterior, mas para versão 6 do protocolo IP
ATA: Adaptador de Telefone Analógico para SIP
POP: Do inglês Ponto de Presença
O cenário Geral
Aqui em casa tenho uma estrutura de rede peculiar, o core dela é composto por:
- 1 "switch" encore de 8 portas
- 1 ATA 1FXS 1FXO
- 1 ATA 2FXS
- 1 Netbook ASUS eeePC 701 4G + 1 adaptador usb2ethernet
- 1 Notebook Centrino 2G de RAM
- 1 Notebook Dual Core 2G de RAM
- 1 Roteador Wi-fi em Bridge
Os ATAs são para laboratórios de telefonia (nada haver com este artigo)
Com o netbook eu faço a borda da rede, ele recebe a conexão da NET e fecha o tunel IPv6 com a Sixxs[1] (já falo nisso), carrega um firewall, DHCP(v4), DNS(v4) e apenas para LAN, e mais alguns outros recursos.
Os dois notebooks possuem ubuntu desktop e virtualbox rodando. Para efeito dos artigos não importa em qual notebook está sendo executada cada máquina virtual, e TODOS os servidores são Debian Squeeze.
Por que ubuntu com virtualbox? Muito simples, porque eu ainda posso usa-los como estação de trabalho, pra alguém que venha me visitar e queira acessar a internet, ou até mesmo para em casos de pane no meu notebook de uso diário, se eu tiver uma boa rotina de backup (eu já tive, preciso reestabelecer).
Cenário para IPv6
O netbook fecha um tunel com a SIXXS através da CTBC em um POP localizado em Uberlândia, este tunel possui um IPv6 que me permite acesso a internet. Uma segunda interface de rede possui meu IPv4 privado e alguns IPv6 públicos de uma subnet /48 gentilmente cedida pela SIXXS/CTBC.
Existem:
um Quagga(versão 0.99.17) configurado com duas interfaces de rede roteando algumas subnets /64 do meu bloco para os meus servidores internet
{nota} Por que quagga? Por que num futuro próximo quero estudar OSPF e BGP, então por que não começar a montar a infra já pensando nisso? {/nota};
um servidor DNS com bind9 autoritativo sobre ipv6.langoni.net e futuramente sobre o reverso da minha subnet;
um servidor http com apache2, php5 e mysql responsável pela hospedagem de www.kadu.ipv6.langoni.net
um sistema cliente que será utilizado para testes internos e externos, falarei dele mais adiante.
Futuramente ainda será adicionado um serviço de ftp e um looking glass ao servidor http, um serviço de email (ainda não escolhi qual), a centralização da autenticação com LDAP, um servidor de monitoramento para esta infra.
Fora os itens indicados com futuramente o restante já está todo em funcionamento.
Tunnel Broker
Segundo a wikipedia um tunnel broker, no contexto de computação, é um serviço que provê um tunel de rede. Estes tuneis podem prover conectividade encapsulada de uma infraestrutura existente para uma nova.[1]
No meu caso estou usando a SIXXS como provedor do tunnel por conta da parceria com a CTBC e um pop no Brasil. Lembre-se que você está encapsulando v6 sob v4, através de um túnel e tudo isso impacta na performance. Não venha dizer, minha conexão v6 está lenta, isso é esperado. O objetivo aqui é fazer testes de implementações, colocar redes locais em pilha dupla e ver o comportamento e por aí vai.
Vou falar mais um pouco sobre a SIXXS. Eles fornecem gratuitamente o acesso ao tunel e a todos os recursos necessários para se implementar pilha dupla pra quem não possui conectividade v6 nativa. Mas não é entrar e se cadastrar e pronto, e isso foi o que eu achei mais interessante.
Primeiro você cria uma entidade (ou usa uma já existente), se você fizer um whois CEL3-SIXXS encontrará informações sobre a minha entidade.
Segundo você tem que justificar o porque devem deixar você usar o túnel deles, e todas as solicitações futuras (subnet, dns e etc) devem ser justificadas também.
Além disso existe uma moeda local chamada ISK, sim tudo tem custo na SIXXS, solicitar um tunel, solicitar subnet e etc. Você ganha novos ISKs por conseguir provar que consegue manter o tunel online 24x7 ou o mais próximo disso, a cada semana você é remunerado com alguns ISKs por manter seu tunel funcionando. Pra vocês terem uma ideia somente depois de uma semana de funcionamento do tunel solicitado é que você terá ISKs para solicitar uma subnet. Não precisa haver tráfego no tunel, ele tem apenas que estar online. E o tunel pode ser feito em praticamente qualquer conexão de internet. Recomendo que todos leiam o FAQ no site deles antes de inciar a aventura.
Existem outros por aih, como o da he.net, este possui até uma certificação em IPv6 gratuita pra gente fazer depois que o lab estiver pronto. Maiores informações em [3]
E como eu, neste caso você, posso brincar também?
Vamos lá, primeiro passo, leia sobre o IPv6 (se ainda não o fez) e entenda como funciona a nova numeração IP. Mas tenha em mente o seguinte, analisando grossamente o IPv6 não houveram grandes mudanças, então tudo o que você pensa em v4 só precisa adicionar mais 96 bits e tá pronto! :p Ou seja o conceito todo do endereçamento de rede não mudou, só que o endereço deixou de ter 32 bits, passando para 128 e algumas coisas passaram a ser mais importantes dos que no v4, como o protocolo icmp.
Segundo passo, imagine sua infra, quantos servidores você quer subir e por que, qual hardware você vai ter disponível pra brincar, e pense em como você montaria em v4.
Terceiro passo, monte tudo em v4 e acrescente o v6, depois remova o v4 e veja como tudo funciona, ou não!
Sendo mais didático :)
Você precisa basicamente do seguinte, um computador (se for usar o tunel da sixxs ele tem que ficar ligado 24x7), um sistema de máquinas virtuais (eu gosto muito do virtualbox) e muita disposição. Lembre-se das palavras de Albert Einstein “Sucesso e genialidade, são 10 por cento de inspiração e 90 por cento de transpiração”.
Para ajudar um pouco mais vou citar como exemplo meu amigo e incentivador Thiago Oliveira. Ele topou a brincadeira e na estrutura da empresa onde ele trabalha está criando uma(s) máquina virtual para criarmos uma estrutura v6.
O maior problema são os testes, pra onde vou testar, como posso mandar um email, acessar uma página ou ainda, como posso saber se o que eu configurei aqui na minha rede está funcionando para o mundo?
Para isso ofereço um apoio e sugiro que outros procurem criar o mesmo. O cliente que identifiquei acima será uma máquina de acesso comportilhado em ambiente chroot. E eu ofereço o acesso a ela para quem quiser, basta entrar em contato comigo para acertar os detalhes. Lembrando que ela só oferece acesso IPv6 e que será monitorada o tempo todo se quiser brincar é pra brincar direito :D
Todo acesso dela e pra ela será feito em cima de IPv6, por isso somente com a sua estrutura v6 pronta é que será possível o acesso a ela. Existiram ping6, traceroute6, w3m (navegador em console), tcpdump e estou procurando um cliente de email pra console que seja "simples" de usar, indicações são bem vindas (tem que suportar pop3, smtp e imap e IPv6 é claro). Através dela você poderá testar o acesso a sua rede, navegação em páginas no seu webserver etc, etc, etc. Facilitando bastante a brincadeira :P
No próximo artigo irei falar mais sobre a configuração do tunel, da subnet e do DNS :D
Abraços a todos!
[1] http://www.sixxs.net
[2] http://en.wikipedia.org/wiki/Tunnel_broker
[3] http://en.wikipedia.org/wiki/List_of_IPv6_tunnel_brokers
Comentários recentes