Ligando IP ausente para LXC (Linux Containers)

3

Estou usando LXC (Linux Containers) para hospedar um servidor http em uma configuração do VirtualBox, mas a ponte simples específica do LXC que criei não tem um endereço IP, por isso não pode ser alcançado, mesmo no sistema operacional Ubuntu rodando no VirtualBox. (Eu não preciso alcançar o servidor a partir do sistema operacional hospedeiro real, mas estou mencionando isso por completo)

Eu tentei dois métodos, primeiro é editar / etc / network / interfaces:

auto lxcbr0
iface lxcbr0 inet dhcp
    bridge_ports eth0
    bridge_stp off
    bridge_fd 0
    bridge_maxwait 0

Não existe uma configuração especial para o LXC.

O segundo é o uso de brctl:

sudo brctl addbr lxcbr0
sudo brctl addif lxcbr0 eth0
sudo ip link set dev lxcbr0 up

No primeiro método, para o LXC, ifconfig mostra:

eth0      Link encap:Ethernet  HWaddr 00:16:3e:e7:2c:8f  
      inet addr:10.0.2.26  Bcast:10.0.2.255  Mask:255.255.255.0
      inet6 addr: fe80::216:3eff:fee7:2c8f/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:42 errors:0 dropped:0 overruns:0 frame:0
      TX packets:29 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:6146 (6.1 KB)  TX bytes:2666 (2.6 KB)

Mas no host, não há:

lxcbr0    Link encap:Ethernet  HWaddr 08:00:27:2b:85:76  
      inet6 addr: fe80::a00:27ff:fe2b:8576/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:168 errors:0 dropped:0 overruns:0 frame:0
      TX packets:56 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0 
      RX bytes:9826 (9.8 KB)  TX bytes:8968 (8.9 KB)

vethFEBAAO Link encap:Ethernet  HWaddr fe:5c:88:b0:88:3b  
      inet6 addr: fe80::fc5c:88ff:feb0:883b/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:33 errors:0 dropped:0 overruns:0 frame:0
      TX packets:51 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:3026 (3.0 KB)  TX bytes:7041 (7.0 KB)

Não há endereço IPv4 para a ponte no lado do host. O segundo método também tem um problema semelhante.

O que estou perdendo?

    
por Lingyuan He 29.11.2014 / 07:06

1 resposta

0

I am using LXC to host an http server in VirtualBox, but the simple bridge I created does not have an IP address, so it cannot be reached in the host.

Eu sei que sua pergunta especificamente é sobre LXC (Linux Containers) , que é algo em que eu não estou 100%, mas darei alguns conselhos baseados sobre o que eu sei sobre o sistema operacional convidado para hospedar conexões do sistema operacional no VirtualBox. Talvez isso se encaixe no seu problema específico do LXC?

Você diz que quer ter uma configuração de ponte simples entre o convidado do VirtualBox e o host, mas quais configurações você tem no VirtrualBox para vboxnet0 ? Pelo que sei, existem dois lugares onde as configurações de rede precisam ser ajustadas para que uma configuração como essa funcione: Dentro do sistema operacional convidado, mas também no próprio SO do host.

Estou usando um Mac, mas o conceito geral deve ser o mesmo para qualquer um que use o VirtualBox no Windows ou Linux: Você precisa de dois adaptadores em um sistema operacional convidado do VirtualBox para garantir uma conexão de rede de saída no 10.xxx network as well as a connection on the host only network which is usually 192.168.x.x '.

Se eu for para "Preferências" quando eu iniciar o VirtualBox e, em seguida, clicar no ícone "Rede" e depois clicar na aba "Host-only Networks", eu recebo uma lista de adaptadores que eu configurei:

Então,comomostradonacapturadetela,seeuselecionarvboxnet0e,emseguida,clicarnoíconedachavedefenda,possoalterarasopções.Capturadetelaabaixo:

Eu tenho o "Endereço IPv4" definido como 192.168.56.1 e o IPv4 Network Mask relacionado definido como 255.255.255.0 . Agora, normalmente, tenho o servidor DHCP desativado, conforme mostrado na captura de tela a seguir:

Umavezqueestaconfiguração,eutenhocertezaqueosistemaoperacionalconvidadonoVirtualBoxtemoadaptadorativadoassim:

Observe que eu tenho um "Adaptador somente para host" designado e esse adaptador está associado a vboxnet0 ? Uma vez feito isso, o sistema operacional convidado deve estar totalmente ciente da configuração somente do host e você deve estar pronto.

    
por 29.11.2014 / 07:37