Neste artigo não iremos abordar as funcionalidades e aplicabilidades do IPv6, e sim nos ateremos a configuração de um firewall com suporte a IPv6 em uma máquina Debian (ou debian-based). Você só precisa de um endereço IP real (estático é melhor) e uma compreensão básica do IPv6 para prosseguir.
Primeiro, você precisará obter um kernel do IPV6-ready. Eu recomendo o 2.6.1 ou superior, se possível. Além de IPv6 básico, eu também recomendo que você compile em apoio netfilter IPv6.
Em seguida, você precisa adicionar um túnel para seu arquivo /etc/network/interfaces. Primeiro, você precisa conhecer o seu endereço IP público no IPv4. Ele será parecido com 10.20.30.40. Em seguida, você precisa ter isso em notação IPv6. Aqui está um script shell rápido que faz isso:
#!/bin/sh printf “2002:%x%02x:%x%02x::\n” `echo $1 | sed ‘s/\./ /g’`
Basta executar isso com o seu endereço IP como um argumento. Neste exemplo, para 10.20.30.40, o resultado é de 2002: a14: 1e28::. Este é o seu prefixo . Todos os seus endereços IP irão começar assim.
Agora, você tem todas as informações para criar o seu próprio túnel IPv6. Edite /etc/network/interfaces e adicione essas linhas:
iface sit1 inet6 v4tunnel address 2002:a14:1e28::2 netmask 64 endpoint any local 10.20.30.40 up ip -6 route add 2000::/3 via ::192.88.99.1 dev sit1 down ip -6 route flush dev sit1 up /etc/network/ipv6rules.sh ttl 64
A linha de endereço contém o endereço IPv6 que você calculou acima, seguido por um “2″. A linha local contém o seu endereço IP local. Levante sua interface e veja se você deve ser capaz de executar ping6 www.ipv6.org e obter resultado de volta. Se você não tem ping6 em seu sistema, instale o pacote iputils-ping. Se isso funcionar, adicione “sit1" para a linha “auto” em /etc/network/ interfaces.
O etc/network/ipv6rules.sh / é um pequeno script que fecha algumas portas para o seu sistema. Se você não quiser usá-lo, apague essa linha “up”. Aqui está uma versão que eu recomendo:
#!/bin/bash ip6tables -F ip6tables -I INPUT -i sit+ -p tcp –syn -j DROP ip6tables -I FORWARD -i sit+ -p tcp –syn -j DROP ip6tables -I INPUT -i sit+ -p udp \! –dport 32768:60999 -j DROP ip6tables -I FORWARD -i sit+ -p udp \! –dport 32768:60999 -j DROP ip6tables -I INPUT -i sit+ -p tcp –dport 22 -j ACCEPT ip6tables -I FORWARD -i sit+ -p tcp –dport 22 -j ACCEPT # Uncomment the following lines if this is a router #echo 0 > /proc/sys/net/ipv6/conf/all/autoconf #echo 0 > /proc/sys/net/ipv6/conf/all/accept_ra #echo 0 > /proc/sys/net/ipv6/conf/all/accept_redirects #echo 1 > /proc/sys/net/ipv6/conf/all/forwarding #echo 0 > /proc/sys/net/ipv6/conf/all/router_solicitations
Este script irá fechar conexões TCP, UDP e conexões para as portas UDP baixa, exceto para TCP para a porta 22 (ssh).
Se você estiver configurando um host, você está feito. Se este for um router, continue a ler …
Configuração do roteador
Se você for configurar um roteador, há alguns passos mais rápidos. Primeiro, você precisa configurar sua interface ethernet para IPv6. Insira o conteúdo abaixo em /etc/network/interfaces:
iface eth0 inet6 static address 2002:a14:1e28:1::1 netmask 64
É claro, substituir a primeira parte antes de “endereço”, com o seu verdadeiro endereço IPv6. (Nota do agregado “: 1:: 1″ após o endereço.) Agora execute ifdown eth0; ifup eth0 para que as mudanças tenham efeito.
Em seguida, apt-get install radvd e edite o arquivo /etc/radvd.conf deixando-o assim:
interface eth0 { AdvLinkMTU 1480; AdvSendAdvert on; prefix 2002:a14:1e28:1::1/64 { }; };
Cuidado com o ponto e vírgula, o radvd é exigente. Agora /etc/init.d/radvd restart e rode o “ps” para ter certeza que está funcionando. O radvd é semelhante ao dhcp para o IPv6, mas muito mais fácil.
Neste ponto, sua rede IPv6 está pronta. Todos os clientes na rede que são capazes de receber IPv6 atribuido automaticamente.
Fonte: changelog.complete.org
0sem comentários ainda