Comitê Gestor da Internet no Brasil Seu IP: 38.107.191.116 CGI.br Registro CERT.br

Sítio web não compatível com IPv6 Este sítio web funciona com IPv6. Se o globo estiver girando, você também já usa IPv6!


Últimas Atualizações...

25 May 2010 - 18:40:
Relato sobre o Treinamento IPv6 do RIPE

11 Jan 2010 - 17:49:
Introdução ao IPv6 para o CCNA

11 Dec 2009 - 11:14:
Videos sobre cases IPv6 fora do Brasil

09 Jun 2009 - 18:59:
Curso de Introdução ao IPv6

30 Apr 2009 - 17:58:
Construindo um firewall Linux com suporte a IPv6



Artigo

Construindo um firewall Linux com suporte a IPv6


Escrito por Humberto Galiza

Este guia, escrito por Humberto Galiza, tem como objetivo construir um simples firewall com suporte nativo a IPv6. Para tal, serão utilizados o Debian GNU/Linux como sistema operacional e o IP6tables com filtro de pacotes. Este artigo foi extraído do sítio http://www.pop-ba.rnp.br onde sua versão original e demais informações sobre seus direitos autorais podem ser obtidas.


Introdução

É muito importante a utilização de firewalls quando em se tratando de IPv6, especialmente se tivermos em uma rede local (LAN) com endereços IPv6 válidos. Isto se deve ao fato de, ao contrário do IPv4, onde os hosts da nossa rede interna estavam protegidos através da utilização de endereços IP privados (RFC 1918), no IPv6 geralmente os endereços válidos são utilizados e qualquer um que tenha conectividade IPv6 pode alcançar todos os hosts da nossa rede interna que tenham IPv6 habilitado.

No Linux, o suporte nativo a firewalls IPv6 vem desde o kernel 2.4.+. Em versões anteriores, somente podemos efetuar filtros do tipo IPv6-in-IPv4 pelo protocolo 41. Desde o Kernel 2.6.20, a conectividade IPv6 está totalmente funciona (sem problemas com os NATs IPv4 como em versões anteriores).

Mais informações podem ser encontradas:


- Netfilter project
- Maillist archive of netfilter users
- Maillist archive of netfilter developers
- Unofficial status informations


Requisitos

Uma vez que estamos utilizando Debian GNU/Linux com referência, basta fazer:

# aptitude install iptables

para instalar o filtro de pacotes IP6tables.

Caso esteja utilizando outra distro, poderá usar o gerenciador de pacotes da mesma, ou então compilar a partir do código fonte, que pode ser baixado em Netfilter project

Agora, depois de instalado o pacote, iremos carregar o módulo do IP6tables:

# modprobe ip6_tables 

Verifique a carga do módulo:

# lsmod | grep ip6_tables
ip6_tables             14340  3 ip6table_mangle,ip6t_LOG,ip6table_filter

Feito isso, vamos testar nossa instalação. Abra um terminal do linux e digite:

# ip6tables -L

Configuração

O uso de Ip6tables é semelhante ao do Iptables (para IPv4). Seguem abaixo alguns exemplos de utilização:

# ip6tables --table filter --append INPUT  -j LOG --log-prefix "INPUT:"  --log-level 7 

# ip6tables --table filter --append INPUT  -j DROP 

# ip6tables -A INPUT -i eth0 -p icmpv6 -j ACCEPT 

# ip6tables -A OUTPUT -o eth0 -p icmpv6 -j ACCEPT 

# ip6tables -A INPUT -p icmpv6 --icmpv6-type echo-request -j ACCEPT

Para saber mais sobre os tipos de códigos ICMP6, veja [3].

Agora, construiremos um firewall básico utilizando IP6tables:

#!/bin/bash
IPT6="/sbin/ip6tables"
PUBIF="eth1"
echo "Iniciando o firewall com suporte a IPv6..."
$IPT6 -F
$IPT6 -X
$IPT6 -t mangle -F
$IPT6 -t mangle -X
    
#acesso ilimitado a loopback
$IPT6 -A INPUT -i lo -j ACCEPT
$IPT6 -A OUTPUT -o lo -j ACCEPT

# Politica padrao e DROP
$IPT6 -P INPUT DROP
$IPT6 -P OUTPUT DROP
$IPT6 -P FORWARD DROP
# Permite todas as conexoes estabilizadas da rede interna para a Internet, 
# mas nao o contrario.
$IPT6 -A OUTPUT -o $PUBIF -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPT6 -A INPUT -i $PUBIF -m state --state ESTABLISHED,RELATED -j ACCEPT

# Liberando ping
$IPT6 -A INPUT -i $PUBIF -p ipv6-icmp -j ACCEPT
$IPT6 -A OUTPUT -o $PUBIF -p ipv6-icmp -j ACCEPT

############# Regras personalizadas - adicione abaixo ############
### abrir porta 80 para IPv6
#$IPT6 -A INPUT -i $PUBIF -p tcp --destination-port 80 -j ACCEPT
### abrir porta 22 para IPv6 
#$IPT6 -A INPUT -i $PUBIF -p tcp --destination-port 22 -j ACCEPT
### abrir porta 25 para IPv6
#$IPT6 -A INPUT -i $PUBIF -p tcp --destination-port 25 -j ACCEPT
############ End custome rules ################


# logar todos os outros pacotes que nao satisfacam as regras acima
$IPT6 -A INPUT -i $PUBIF -j LOG
$IPT6 -A INPUT -i $PUBIF -j DROP


Conclusão

É importante salientar que o IPv6 não inclui em sua implementação características de redes privadas IPv4, como por exemplo o NAT (Network Address Translation), pois o IPv6 em sua essência dá direito a um número muito grande de endereços possíveis. Entretanto cabe comentar que o prefixo FC00::/7 é utilizado para identificar endereços locais de unicast IPv6.

Certamente, a maior inovação trazida pelo IPv6 é a possibilidade de cada usuário ter seu próprio endereço IP sem barreiras artificiais até a Internet, tal como ocorria com o NAT, melhorando principalmente os aspectos de mobilidade e segurança.


Referências


[1] - http://ipv6.pop-ba.rnp.br/
[2] - http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/
[3] - http://tools.ietf.org/rfc/rfc2463.txt
[4] - http://www.cyberciti.biz/faq/ip6tables-ipv6-firewall-for-linux/


Última atualização 30/04/2009 17h58

Comentários     +  

Seu nome: (max. 35 letras)


Comentário: (max. 2500 caracteres)


Verificação: (se estiver ilegível, clique na imagem)


   


   Licença:  Creative Commons Atribuição 2.5 Brasil (salvo seja especificada outra)     Válido:  XHTML 1.0 -  CSS 3