Разрешение DNS в контейнере LXC

Я использую srsLTE-emane ( https://github.com/adjacentlink/srsLTE-emane ), программное обеспечение с открытым исходным кодом, которое эмулирует сеть LTE, в Ubuntu 18.04.2, и у меня есть проблема с разрешением DNS в контейнере LXC.

Я запускаю демонстрацию (найденную на https://github.com/adjacentlink/emane-model-lte.git ), сделанную тремя контейнерами: ue-02 (мобильный телефон), ENB-21 (базовая радиостанция) и EPC-01 (базовая сеть LTE). Я могу пропинговать любой IP-адрес от ue-02 (например, 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-адресах.

Я попытался изменить файл lxc.conf в /etc/dnsmasq.d-available, добавив строку

dhcp-option=option:dns-server,8.8.8.8

, а также (поочередно)

[ 1121] dhcp-option=option:dns-server,0.0.0.0,8.8.8.8

, но это не сработало. Я также попытался установить DNS-серверы в /etc/systemd/resolved.conf (со строкой DNS=8.8.8.8,8.8.4.4), а затем перезапустить 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

Кто-нибудь может мне помочь?

Большое спасибо !!

Андреа

4
задан 2 May 2019 в 11:53

0 ответов

Другие вопросы по тегам:

Похожие вопросы: