LXC容器中的DNS解析

LXC容器中的DNS解析

我正在使用 srsLTE-emane (https://github.com/adjacentlink/srsLTE-emane) 是一个模拟 LTE 网络的开源软件,我在 Ubuntu 18.04.2 上遇到了 LXC 容器中的 DNS 解析问题。

我正在进行演示(可以在https://github.com/adjacentlink/emane-model-lte.git) 由三个容器组成:ue-02(移动电话)、enb-21(无线基站)和 epc-01(LTE 核心网络)。我能够从 ue-02 ping 任何 IP 地址(例如 104.83.108.242):

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

我无法激活 DNS 解析(其中 www.repubblica.it 是与 104.83.108.242 相关的互联网站点):

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

我已阅读了修改文件 resolv.conf 的说明,但这些容器没有此文件:这些容器与传统的 LXC 容器略有不同。唯一的配置文件是 lxc.conf。

lxc.conf:

lxc.uts.name=ue-02
lxc.net.0.type=veth
lxc.net.0.name=backchan0
lxc.net.0.flags=up
lxc.net.0.link=letce0
lxc.net.0.ipv4.address=10.88.1.2/24
lxc.net.0.veth.pair=aveth.3.0
lxc.net.1.type = empty
lxc.net.1.flags=up

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

与其他两个容器的 lxc.conf 唯一的区别在于名称和 IP 地址。

我尝试修改 /etc/dnsmasq.d-available 中的文件 lxc.conf,添加以下行

dhcp-option=option:dns-server,8.8.8.8

并且(交替)

dhcp-option=option:dns-server,0.0.0.0,8.8.8.8

但这不起作用。我还尝试过在/etc/systemd/resolved.conf(使用 行DNS=8.8.8.8,8.8.4.4) 中设置 DNS 服务器,然后重新启动 systemd-resolved,但没有任何效果。请注意,“普通” LXC 容器(使用 命令 创建sudo lxc-create)可以正常工作。

输出cat /etc/nsswitch.conf | grep hosts

andrea@andrea-Latitude-7490:~$ cat /etc/nsswitch.conf | grep hosts
hosts:          files mdns4_minimal [NOTFOUND=return] dns myhostname

有人能帮助我吗?

非常感谢!!

安德里亚

相关内容