Configuração NAT64 com tayga no Debian 6

5

Estou tentando implementar NAT64 com o tayga no meu servidor e cheguei a um ponto em que não tenho certeza de como proceder.

Meu servidor está conectado por meio de um endereço IPv4 e um bloco / 64 de endereços IPv6 à Internet. Ele serve todo tipo de coisa. Por razões, também estou executando alguns contêineres LinuX (LXC). Estes são exclusivos do IPv6. Implementei uma bridge (br0) no meu sistema host e troquei endereços de eth0 para br0. Meus contêineres se comunicam com sucesso no IPv6. Via mod_proxy no meu host eu poderia conectar meu webservers ipv6 apenas (LXC) para a Internet IPv4, também. Mas apenas em uma direção, você poderia dizer.

Para algumas funcionalidades de atualização automática, eu preciso de NAT64 + DNS6, porque alguns servidores de atualização não falam IPv6.

Vamos supor o seguinte e cuidado para que os endereços IP não estejam realmente em uso.

Host br0:

inet address: 10.0.0.1 # external IP
inet6 address: 2a01::1/64 # external IP

LXC eth0:

# external IP, some ip6tables forward rules implemented on the host 
inet6 address: 2a01::2/64

Eu instalei o tayga no meu host e o configurei assim:

tun-device nat64
ipv4-addr 192.168.255.1
prefix 2a01:0:0:0:64::/96
map 192.168.255.2 2a01::2

O Tayga auto escolhe um endereço IPv6 dessa / 96 sub-rede. Então criei a interface.

$>tayga --mktun

Agora, você deve adicionar um endereço IPv4 e IPv6 à interface nat64. De acordo com o FAQ, não é uma boa idéia usar os mesmos endereços IP para os usos do host. Por outro lado, é indicado usar os endereços dos roteadores (internos). Mas eu também poderia pegar outros totalmente diferentes, e então seria pedido para adicionar as rotas necessárias. Deixe-me citar algo:

# ip link set nat64 up
# ip addr add 192.168.0.1 dev nat64      (replace with your router's IPv4 address)
# ip addr add 2001:db8:1::1 dev nat64    (replace with your router's IPv6 address)
# ip route add 192.168.255.0/24 dev nat64
# ip route add 2001:db8:1:ffff::/96 dev nat64

Não sei o que fazer. Quais endereços devo usar? Apenas use alguns endereços IPv4 / IPv6 privados? E o que mais é necessário? Uma fonte fala sobre adicionar algumas regras avançadas (eu já mudei eth0 para br0, como eu uso br0):

iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE
iptables -A FORWARD -i br0 -o nat64 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i nat64 -o br0 -j ACCEPT

A coisa é, eu tentei coisa e uma vez eu pude

ping6 2a01:0:0:0:64::192.168.255.1

no meu host. Mas eu não consegui fazer meu LXC falar com nenhum sistema. Não 2a01: 0: 0: 0: 64 :: 192.168.255.1 ou talvez 2a01: 0: 0: 0: 64 :: 8.8.8.8 (Google).

Neste momento, não me importo com o DNS64 ainda não implementado. Eu instalei um pacote debian e (pense em) saber como configurá-lo, só não tentei ainda.

As fontes que consultei: link link link link link link

Atualização 1:

From 2a01::64:0:c0a8:ff01 icmp_seq=1 Destination unreachable: Unknown code 5

Esse é o endereço tayga escolher sozinho. Eu tentei ping de 2a01: 0: 0: 0: 64 :: 8.8.8.8. Eu adicionei as regras mencionadas do iptables e fiz isso:

ip link set nat64 up
ip addr add 192.168.255.1 dev nat64
ip addr add 2a01::1 dev nat64
ip route add 192.168.255.0/24 dev nat64
ip route add 2a01:0.0.0.64::/96 dev nat64

Ainda assim, eu posso pingar 2a01: 0: 0: 0: 64 :: 192.168.255.1, mas somente do meu host. Meu LXC não consegue nem alcançar esse endereço.

Sim, excluí as regras erradas do ip6tables.

    
por Georg Bretschneider 14.01.2013 / 18:03

0 respostas