Contêiner LXC para usar a interface “virtual” do host (semântica de namespace)

5

Então, de acordo com a documentação da documentação do Ubuntu LXC , a seguinte declaração pode ser encontrada no momento desta escrita:

A NIC can only exist in one namespace at a time, so a physical NIC passed into the container is not usable on the host.

Agora, é possível ter uma única placa de rede física (NIC) compartilhando vários IPs como este em /etc/network/interfaces (Debian / Ubuntu):

auto eth0 eth0:1
iface eth0 inet static
    address 192.168.0.100/24
    gateway 192.168.0.1
iface eth0:1 inet static
    address 192.168.0.200
    netmask 255.255.255.0

O mesmo pode ser feito com a respectiva configuração em outras distros também.

Agora, a pergunta: pode eth0 e eth0:1 ser atribuído a diferentes namespaces ou atribuir um limite ao outro para o mesmo namespace automaticamente?

    
por 0xC0000022L 05.05.2014 / 01:22

1 resposta

1

Deve ser possível atribuir eth0 e eth0:1 a diferentes namespaces, mas lembre-se de que há implicações de segurança porque você está expondo um dispositivo de rede física ao seu contêiner.

Por causa disso, eu usaria apenas veth e bridge . Crie uma bridge br0 e conecte-a com eth0 device por padrão. Em seguida, configure seu contêiner lxc assim:

lxc.network.type=veth
lxc.network.ipv4=192.168.0.200
lxc.network.link=br0

Isso terá o mesmo resultado, mas você usará uma interface Ethernet virtual para o contêiner e também poderá acessar a mesma rede em que seu host LXC está devido à ponte.

    
por 05.05.2014 / 10:52