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!