В OpenConnect VPN в контейнерах Docker есть DNS, а на хосте нет - PullRequest
0 голосов
/ 21 января 2020

Когда я подключаюсь к VPN с помощью открытого подключения, контейнеры docker, которые запускаются впоследствии, имеют возможность использовать DNS, а сама хост-машина - нет.

Если я посмотрю содержимое /etc/resolv.conf в контейнерах, файл содержит DNS-серверы, а файл на главном компьютере - нет.

Из контейнеров:

# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients directly to
# all known uplink DNS servers. This file lists all configured search domains.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
# replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.

nameserver 10.x.x.x
nameserver 10.x.x.x
search university.liberty.edu liberty.edu

(я заменил фактические адреса)

С хоста:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.

nameserver 127.0.0.53
search university.liberty.edu liberty.edu

Когда я использую anyconnect вместо openconnect, контейнеры не имеют DNS, но хост-машина делает. У всех в моей команде разработчиков были одинаковые результаты. Мы находимся на Linux Mint 19.

Я добавил адреса DNS на вкладке IPv4 в Network Manager в настройках сети.

Есть ли у кого-нибудь предложения относительно того, что мне нужно сделать, чтобы DNS был доступен для хост-машины и контейнеров одновременно?

Обновление:

Когда я подключаюсь к VPN с помощью Cisco AnyConnect, ссылка из /etc/resolv.conf на /run/resolvconf/resolv.conf сохраняется. Результатом этого является то, что запущенные впоследствии контейнеры docker НЕ имеют доступа к DNS. Когда я подключаюсь к VPN с помощью openconnect от Cisco, ссылка из /etc/resolv.conf прерывается и заменяется, предположительно, открытым соединением. В результате контейнеры docker счастливы, используя DNS, но мой хост-компьютер не может.

...