DNS resolution in LXC container

Hi all,
I’m using srsLTE-emane (https://github.com/adjacentlink/srsLTE-emane), an open source software that emulates LTE Network, and I have a problem with DNS resolution in LXC container.

I’m running a demonstration (found on https://github.com/adjacentlink/emane-model-lte.git) made by three containers: ue-02 (the mobile phone), enb-21 (the radio base station) and epc-01 (the core network of LTE). I’m able to ping any IP address from ue-02 (for example

root@ue-02:~# ping -c 5
PING ( 56(84) bytes of data.
64 bytes from icmp_seq=1 ttl=50 time=96.8 ms
64 bytes from icmp_seq=2 ttl=50 time=95.1 ms
64 bytes from icmp_seq=3 ttl=50 time=94.5 ms
64 bytes from icmp_seq=4 ttl=50 time=93.0 ms
64 bytes from icmp_seq=5 ttl=50 time=91.8 ms

I’m not able to activate the DNS resolution (where www.repubblica.it is the internet site related to

root@ue-02:~# nslookup www.repubblica.it
;; connection timed out; no servers could be reached

root@ue-02:~# LC_ALL=C ping www.repubblica.it
ping: www.repubblica.it: Name or service not known

I have read the instructions to modify the file resolv.conf, but these containers don’t have this file: these are a bit different from classical LXC containers. The unique configuration file is lxc.conf.


lxc.net.1.type = empty

lxc.console.path = none
lxc.tty.max = 1
lxc.pty.max = 128
lxc.cgroup.devices.allow = a
lxc.mount.auto = proc sys cgroup

lxc.autodev = 1
lxc.hook.autodev = /usr/share/emane-model-lte/demo/two_ues/ue-02/lxc.hook.autodev.sh
lxc.apparmor.profile = unconfined

the only differences with lxc.conf of the other two containers are in the name and in the IP addresses.

I have tried to modify the file lxc.conf in /etc/dnsmasq.d-available, adding the line


and also (alternately)


but this did not work.

Someone could help me?

Thank you very much!!


Try editing /etc/systemd/resolved.conf inside your container.

Hi CyrusTheVirusG,
thank you for your answer. I tried it, but it doens’t work.

I have solved with another suggestion, typing
echo "nameserver" | sudo tee -a /etc/resolv.conf


Ah forgot to mention the restart:

systemctl restart systemd-resolved

Not sure if your changes are permanent the way you are doing it.

You can verify the nameservers in use with:

systemd-resolve --status

Yes I had restarted, but it didn’t work (I don’t know why).

The changes are not permanent by my way. But, at least for me, is not a problem: I run the command every time I need it.