Deja que dnsmasq lo haga por ti.
Configure la instancia dnsmasq de su máquina host para consultar la instancia dnsmasq de lxc para el dominio de nivel superior .lxc.
En / etc / default / lxc-net, descomente esta línea:
LXC_DOMAIN="lxc"
Si NetworkManager lanza la instancia dnsmasq de su host (como es el caso con la mayoría de las instalaciones de escritorio de Ubuntu actuales), cree un archivo llamado /etc/NetworkManager/dnsmasq.d/lxc.conf con esta línea dentro:
server=/lxc/10.0.3.1
Si el dnsmasq de su host es lanzado por algo que no sea NetworkManager, agregue esa línea a /etc/dnsmasq.d-available/lxc en su lugar:
server=/lxc/10.0.3.1
Luego reinicie las cosas para que recojan los cambios:
service lxc-net stop
service lxc-net start
service network-manager restart
Es posible que deba reiniciar sus contenedores lxc o hacer que soliciten nuevas concesiones de DHCP antes de que aparezcan en DNS. (No recuerdo si fue necesario cuando hice esto). También vale la pena mencionar que vi un informe de error sobre lxc-net que no detectaba los cambios de dnsmasq cuando se reiniciaba, por lo que es posible que desee reiniciar su sistema host solo para estar seguro.
Entonces pruébalo:
$ host mycontainer.lxc
mycontainer.lxc has address 10.0.3.21
$ ssh ubuntu@mycontainer.lxc
Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-39-generic x86_64)
ubuntu@mycontainer:~$