Isso está certo, embora você esteja perdendo uma linha como essa:
lxc.network.ipv4.gateway = X.X.X.X
Eu tenho um convidado LXC rodando no Debian. Primeiro, você configura a ponte do host (o caminho mais fácil), em /etc/network/interfaces
:
auto wan
iface wan inet static
address 72.X.X.X
netmask 255.255.255.0
gateway 72.X.X.1
bridge_ports wan_phy # this line is important.
bridge_stp off
bridge_fd 2
bridge_maxwait 20
No seu caso, você chamou de br0
e eu chamei de wan
. A ponte pode ser chamada como você quiser. Você começa a trabalhar primeiro - se falhar, investigue com (por exemplo,) brctl
Então sua configuração do LXC está configurada para se juntar a essa ponte:
lxc.utsname = FOO
lxc.network.type = veth
lxc.network.link = wan # remember, this is what I call my bridge
lxc.network.flags = up
lxc.network.name = v-wan # optional, I believe
lxc.network.ipv4 = 72.X.X.Y/24 # different IP than the host
lxc.network.ipv4.gateway = 72.X.X.1 # same as on the host
Como o HoverHell observa, alguém com raiz no contêiner pode alterar o endereço IP. Sim. É uma ponte (também conhecida como switch Ethernet). Se você quiser evitar isso, você pode usar regras de firewall no host - pelo menos no meu caso, os pacotes precisam passar pelo iptables do host.