A diferença é que o contêiner LXC no Ubuntu usa endereço IP de uma sub-rede diferente e tem o IP do host como gateway padrão quando o contêiner LXC no Debian usa IP da mesma sub-rede como host e tem seu gateway padrão igual ao host.
Quando o contêiner LXC tem IP de uma sub-rede diferente de seu host e usa seu host como gateway padrão, os pacotes do contêiner LXC são roteados e, quando saem da interface de rede do host, eles têm o MAC do host. Quando o contêiner LXC está na mesma sub-rede que o host e usa o mesmo gateway, os pacotes são vinculados e retêm o MAC falso do LXC. Minha solução é forçar o roteamento por meio do host, mesmo se eles estiverem na mesma sub-rede. Nesse caso, meu contêiner LXC tem as seguintes / etc / network / interfaces :
auto eth0
iface eth0 inet static
address y.y.y.12
netmask 255.255.255.255
post-up route add y.y.y.9 dev eth0
post-up route add default gw y.y.y.9
e o host LXC tem o seguinte em sysctl.conf
net.ipv4.ip_forward=1
net.ipv4.conf.bond0.proxy_arp = 1
e em / etc / network / interfaces :
auto bond0
iface bond0 inet static
address y.y.y.9
netmask 255.255.255.192
broadcast y.y.y.63
gateway y.y.y.1
auto lxcbr0
iface lxcbr0 inet static
bridge_ports none
bridge_fd 0
bridge_stp off
bridge_maxwait 0
address 192.168.120.1
netmask 255.255.255.0
up echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp
up /sbin/ip route add to y.y.y.12 dev lxcbr0
Eu removi as opções irrelevantes das configurações acima.