rede LXC com IP público

4

Eu instalei o LXC no servidor Ubuntu 12.04 usando este link . Ele foi instalado com sucesso e posso fazer login usando ubutu / ubuntu como nome de usuário e senha. Então eu tentei configurar a rede para o contêiner LXC.

Eu mudei em / etc / network / interface como

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address 125.67.43.100
        netmask 255.255.255.0
        broadcast 178.33.40.255
        gateway 125.67.43.1

O conteúdo de / var / lib / lxc / mycontainer / config é:

lxc.utsname = mycontainer
lxc.mount = /var/lib/lxc/test/fstab
lxc.rootfs = /var/lib/lxc/test/rootfs


lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.name = eth0
lxc.network.veth.pair = vethmycontainer
lxc.network.ipv4 = 125.67.43.102
lxc.network.hwaddr= 02:00:00:86:5b:11

lxc.devttydir = lxc
lxc.tty = 4
lxc.pts = 1024
lxc.arch = amd64
lxc.cap.drop = sys_module mac_admin mac_override
lxc.pivotdir = lxc_putold

Contêineres etc / network / interface

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address 125.67.43.102
        netmask 255.255.255.0
        broadcast 178.33.40.255
        gateway 125.67.43.1

É assim que minha configuração é

-------------        -----------         -----------   
| LXC       | -----> | Host OS | ------> | Gateway |
| Container |        | Ubuntu  |         |         | 
-------------        -----------         ----------- 
eth0 125.67.43.102   br0 <-> eth0        NAT GW:        
gw 125.67.43.1       br0 125.67.43.100   125.67.43.1    
                     gw 125.67.43.1

Ping 125.67.43.100   ping 125.67.43.1
ok                   OK
Ping 125.67.43.1     ping 125.67.43.102
FAIL                 OK

O contêiner LXC não é conhecido fora do host, alguma idéia do que eu fiz de errado aqui?

Informações adicionais

user@host$cat /proc/sys/net/ipv4/ip_forward is 1

Eu adicionei a regra Nat

ip_tables -t nat -A POSTROUTING -s 125.67.43.102 -o eth0 -j MASQUERADE

Observação: os IPs que usei acima não são originais

    
por niren 11.11.2013 / 14:27

2 respostas

2

Talvez este link responda à sua pergunta: link

Parece que você deve configurar br0 em vez de eth0 no host (o primeiro bloco de código no seu exemplo).

Estou apenas adivinhando!

Seu endereço de broadcast não corresponde à rede, eu usaria 125.67.43.255 nos exemplos acima.

    
por 30.12.2013 / 22:51
1

Sua br0 deve ser o gateway do seu contêiner. Verifique também sobre a sintaxe do lxc.network.ipv4. Talvez você devesse colocar máscara de sub-rede.

    
por 16.01.2015 / 02:43