Torne os contêineres LXC diretamente acessíveis com ipv6

5

Primeiro tenho um endereço IPv6 especial alocado para o meu servidor dedicado, apenas 1. A :: 1/128. Mas eu posso atribuir endereços a eth0 (por exemplo: 2/128, :: 3/128, etc).

Agora, gostaria de executar os contêineres do LXC nesse servidor, mas gostaria que eles fossem cidadãos de primeira classe. Eu gostaria que eles tivessem um endereço IPv6 próprio.

O LXC com IPv4 funciona bem. Eu posso começar um contêiner e a partir dele pingar o mundo. Eu tenho um dispositivo de ponte chamado lxcbr0 .

Honestamente, não sei como proceder. Na configuração específica do LXC, eu tenho ('prefixo' significa meu prefixo atribuído, bem):

lxc.network.ipv6 = prefix::3/128
lxc.network.ipv6.gateway = prefix::2 # iffy, not sure this is correct

No host, configurei o sysctl para usar o encaminhamento:

net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.eth0.forwarding = 1

Agora estou perdendo a pista. Eu acho que eu preciso atribuir um IP à bridge. Eu atribuí o prefixo :: 2/128, isso eu uso na configuração LXC acima. Em 'interfaces':

iface lxcbr0 inet6 static
        address prefix::2
        netmask 128
        # use arp proxy? Read that somewhere. 
        post-up /sbin/ip -6 neigh add proxy prefix::3 dev eth0 #container 1
        post-up /sbin/ip -6 neigh add proxy prefix::4 dev eth0 #container 2

Escusado será dizer que isto não funciona. Eu posso iniciar o contêiner e fazer o login, mas não posso pingar nada. Nem posso pingar o contêiner do host. Eu sei que há algum negócio com roteamento ...?

Alguma saída do estado atual: Host 'ip -6 a':

4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 2607:5300:60:714::1/128 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::ea40:f2ff:feed:106f/64 scope link 
       valid_lft forever preferred_lft forever
8: lxcbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 
    inet6 2607:5300:60:714::2/128 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::b07b:e3ff:fe33:22e7/64 scope link 
       valid_lft forever preferred_lft forever
18: vethPVJQ6M: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 fe80::fcb7:57ff:fe3c:bcd1/64 scope link 
       valid_lft forever preferred_lft forever

Contêiner 'ip -6 a':

20: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 2607:5300:60:714::3/128 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::216:3eff:fe59:679f/64 scope link 
       valid_lft forever preferred_lft forever

Host 'ip-6 r':

2607:5300:60:714::1 dev eth0  proto kernel  metric 256 
2607:5300:60:714::2 dev lxcbr0  proto kernel  metric 256 
2607:5300:60:7ff:ff:ff:ff:ff dev eth0  metric 1024 
fe80::/64 dev eth0  proto kernel  metric 256 
fe80::/64 dev lxcbr0  proto kernel  metric 256 
fe80::/64 dev vethPVJQ6M  proto kernel  metric 256 
fe80::/64 dev vethWT7OPQ  proto kernel  metric 256 
default via 2607:5300:60:7ff:ff:ff:ff:ff dev eth0  metric 1024 

Contêiner 'ip -6 r':

2607:5300:60:714::2 dev eth0  metric 1024 
2607:5300:60:714::3 dev eth0  proto kernel  metric 256 
fe80::/64 dev eth0  proto kernel  metric 256 
default via 2607:5300:60:714::2 dev eth0  metric 1024 

O host executa o Ubuntu 15.04, LXC versão 1.1.2.

Gostaria de receber alguns apontamentos!

    
por harm 11.06.2015 / 23:57

0 respostas