Ссылка /etc/resolv.conf

Примечание. Мой вопрос заключается не в том, как остановить обновление nm /etc/resolv.conf. Не как сделать работу openconnect. Вместо этого я просто хочу понять некоторые подробности о настройке resolv.conf в ubuntu. Почему есть два способа его настройки (/etc/resolv.conf является символической ссылкой на /run/resolvconf/resolv.conf или /var/run/NetworkManager/resolv.conf), почему я получаю разные конфигурации и почему иногда у меня работает DNS-сервер на 127.0.1.1, а иногда и нет.

Я использую версию xubuntu 17.04. И мне нужно подключиться к VPN (5.3r1 сейчас). Ранее этот продукт VPN назывался Junos Pulse от Juniper Networks. Теперь у меня есть несколько вариантов подключения к этому VPN:

Pulse Secure 5.3r1 - который предоставляется нашим поставщиком услуг. И содержит 32-битный GUI, который требует много 32-битных библиотек. Использование openconnect - juniper Создание VPN-подключения через Network Manager (тип подключения Juniper / Pulse Network Connect). Поддержка Juniper была добавлена ​​в Network Manager недавно и предоставляется пакетом network-manager-openconnect-gnome.

Но у меня есть некоторые проблемы с настройкой DNS при подключении к VPN. Я ничего не изменил и кажется, что теперь используется systemd-resolve. Согласно документации systemd-resolve, он управляет /etc/resolv.conf как ссылку на файл /run/resolvconf/resolv.conf, и этот файл должен содержать «nameserver 127.0.0.53». В этот файл могут быть добавлены новые серверы имен и доменные имена по умолчанию, и в этом случае используются все серверы имен. В этом случае все работает.

Но после перезагрузки иногда я вижу, что /etc/resolv.conf указывает на /var/run/NetworkManager/resolv.conf и содержит строки «# Generated by NetworkManager» и «nameserver 127.0.1.1" . В этом случае разрешение имен для моей VPN не работает.

Итак, вопрос в том, что такое DNS-сервер 127.0.1.1, почему у меня есть два DNS-сервера вместо одного. На самом деле мне не нужен локальный DNS-сервер, но в любом случае. Почему ссылка /etc/resolv.conf установлена ​​в /var/run/NetworkManager/resolv.conf с помощью Network Manager.

Я только что проверил netstat -utlp:

Proto Local Address Program name tcp 0.0.0.0:5355 (hostmon) systemd-resolved udp 127.0.0.53:53(domain) systemd-resolved udp 0.0.0.0:5353 (mdns) chrome udp 0.0.0.0:5353 (mdns) avahi-daemon udp 0.0.0.0:5355 (hostmon) systemd-resolved

Я проверил systemd-resolve --status:

Global DNS Servers: 127.0.1.1 ...

Я проверил сетевую конфигурацию /etc/NetworkManager/NetworkManager.conf

[main] plugins=ifupdown,keyfile [ifupdown] managed=false

И у меня нет dnsmasq.

PS : похоже, Network Manager устанавливает эту ссылку от имени resolvconf. Нужно проверить. Но все же не понимаю, почему это так, если установлено systemd-resolve. Почему systemd-resolve не используется для этого.

PSS: Просто найдено, что в ubuntu есть две отдельные службы: resolvconf.service (из пакета resolvconf), описанные в /lib/systemd/system/resolvconf.service. И systemd-resolved.service (из пакета systemd), описанный в /lib/systemd/system/systemd-resolved.service. Быстрый googling не дал мне ответа, почему есть две службы, которые выполняют ту же работу и являются частью основного ubuntu и не могут даже быть удалены.

1
задан 11 December 2017 в 19:23

0 ответов

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

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