IPv6 IPsec entre duas redes IPv6 nativas

2

Suponha que eu tenha duas redes, A e B, em sites de cada lado do globo. Ambos possuem IPv6 nativo e estão usando (hipoteticamente) apenas IPv6. O IPv4 não existe mais. Eles podem acessar a Internet nativamente como IPv6 e usar hosts IPv6. Seus endereços IPv6 são todos globalmente roteáveis. Portanto, apesar das regras de firewall, cada host na rede A pode alcançar cada host na rede B e vice-versa.

Como eu configuraria o IPSec para proteger o tráfego entre essas duas redes?

Em um mundo IPv4, eu configuraria um túnel IPSec entre dois firewalls em cada site ou usaria um túnel GRE ou similar.

Mas como eu faria isso em um mundo totalmente IPv6? Existe algo intrínseco no IPv6 que facilita isso? Idealmente, quero configurar isso apenas nos firewalls / roteadores de cada site. Eu não quero ter que configurar o modo de transporte IPSec em cada host dentro de cada rede.

FWIW, eu uso o OpenBSD para minhas necessidades de roteamento / firewall / ipsec, portanto, qualquer detalhe com isso seria útil, mas uma resposta geral sobre como o IPv6 / IPSec lidaria com esse cenário também seria boa.

    
por Matt Hamilton 22.09.2015 / 23:54

2 respostas

0

Eu não testei isso, mas não vejo a diferença entre o IPv4 e o IPv6. A falta de IPs privados pode estar confundindo você, mas caso contrário, deve ser o mesmo. Eu acho que você está montando o túnel com o racoon, então eu vou pular isso. O resto pode ser feito no Linux com ipsec-tools / setkey.

Do topo da minha cabeça, eu acho que você precisa de duas entradas de SPD, uma de entrada e outra de saída. Algo como isso deve fazer o trabalho:

spdadd 2a01:1111:2222:3333::/64 2a01:1111:2222:3334::/64 any -P out ipsec
    esp/tunnel/2a01:1111:2222:1::1-2a01:1111:2222:1::2/require ;


spdadd 2a01:1111:2222:3334::/64 2a01:1111:2222:3333::/64 any -P in ipsec
    esp/tunnel/2a01:1111:2222:1::1-2a01:1111:2222:1::2/require ;

Onde:

  • 2a01: 1111: 2222: 3333 :: / 64 é a sua rede local
  • 2a01: 1111: 2222: 3335 :: / 64 é a sua rede remota
  • 2a01: 1111: 2222: 1 :: 1 é o seu endpoint local
  • 2a01: 1111: 2222: 1 :: 2 é o seu endpoint remoto

p.s. Certifique-se de passar -6 se você usar nomes de host

    
por 23.09.2015 / 00:20
0

Você pode usar exatamente a mesma técnica do IPv4. Eu acho que o OpenBSD não tem a tecnologia VTI / st em sua pilha, então gre ou gif seria ótimo. E sim, há uma coisa que torna mais fácil - endereços de escopo local nas interfaces (no entanto, você pode usar apenas qualquer endereço). No mundo IPv4, você precisa atribuir endereços AF_INET em cada extremidade para que o roteamento funcione, mas no roteamento mundial IPv6 funciona muito bem usando endereços de escopo locais, incluindo OSPF. Esta é uma receita de trabalho, estou usando IPv6 no FreeBSD há vários anos.

O esquema IPSec herdado também deve funcionar, mas agora está obsoleto devido às complicações de roteamento que ele causa.

    
por 23.09.2015 / 07:25