Неверный сервер имен, установленный resolvconf и NetworkManager

Вот (в настоящее время непроверенный) скрипт Bash, который можно использовать для раскоммании deb-src строк в sources.list:

tempdir=$(mktemp -d)
cd "$tempdir"
source_file=/etc/apt/sources.list
new_file=sources.list.new
perl -pE 's/^#\s+(deb-src)/$1/' "$source_file" > "$new_file"
sudo cp "$new_file" "$source_file"
sudo apt-get update
10
задан 15 February 2018 в 01:10

10 ответов

Я собрал сценарий, который работает вокруг проблемы Netplan, которая в настоящее время не поддерживает возможность замены DHCP-серверов DNS и порядка поиска домена. Он создает файл yaml Netplan и настраивает systemd-resol для работы, как ожидалось.

################## Start Netplan config (renderer: NetworkManager) # Some useful commands for customisation # NetConn=$(nmcli device show|grep GENERAL.CONNECTION|head -n1|awk '{print $2}') # IP=$(nmcli device show|grep IP4.ADDRESS|head -n1|awk '{print $2}') # GATEWAY=$(nmcli device show|grep IP4.GATEWAY|head -n1|awk '{print $2}') # sed -i 's/renderer: networkd/renderer: NetworkManager/' //etc/netplan/01-netcfg.yaml ###################################### systemctl start NetworkManager NIC=$(nmcli device show|grep GENERAL.DEVICE|head -n1|awk '{print $2}') ##### create Netplan yaml config file cat >/etc/netplan/01-netcfg.yaml <<EOF # This file describes the network interfaces available on your system # For more information, see netplan(5). network: version: 2 renderer: NetworkManager ethernets: EOF echo " ${NIC}:" >> /etc/netplan/01-netcfg.yaml cat >>/etc/netplan/01-netcfg.yaml <<EOF dhcp4: yes nameservers: search: [abc.domain.edu, def.domain.edu] addresses: [10.10.11.22, 10.10.11.23] EOF #work around DNS resolv bug systemctl stop systemd-resolved sed -i 's/#DNS=/DNS=10.10.11.22 10.10.11.23/' /etc/systemd/resolved.conf sed -i 's/#Domains=/Domains=abc.domain.edu def.domain.edu' /etc/systemd/resolved.conf systemctl start systemd-resolved systemctl restart NetworkManager netplan apply reboot ############### End Netplan Config
1
ответ дан 18 July 2018 в 03:53

Наконец-то я получил решение этой проблемы для ubuntu 17.10. По умолчанию эта версия Ubuntu использует systemd-resolved, которая, я надеюсь, будет стабильной для следующих версий.

Чтобы использовать пользовательские dns вместо локального кэша, разрешенного системой, выполните следующие действия:

добавить новые серверы имен. Отредактируйте файл в /etc/systemd/resolved.conf как sudoer. Здесь я прокомментировал запись DNS и поместил мои dns [Resolve] DNS=10.96.0.10 8.8.8.8 8.8.4.4 отменить действительную символическую ссылку на /etc/resolv.conf создать новую символическую ссылку sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf перезапустить службу sudo service systemd-resolved restart перезапустить сетевой менеджер sudo systemctl restart networking

И теперь, если вы копаете имя, предоставленное вашим добавлением dns, вы должны увидеть, что запись решена dig nexus.default.svc.cluster.mydomain

Последний шаг - обновить порядок разрешения в /etc/nsswitch.conf, поставив dns before mdns4_minimal

hosts files dns mdns4_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] myhostname
-1
ответ дан 18 July 2018 в 03:53

У меня такая же проблема. Каждая перезагрузка ничего не решит. Я удалил все и переустановил его примерно 50 раз. Это просто просто сломано.

, поэтому исправление ... »просто применяйте несколько настроек каждый раз, когда вы загружаете свой компьютер, что позволяет разрешать 90% имен хостов, но wget и apt-get обновления и обновления будут случайным образом no reason "

cat /etc/systemd/resolved.conf

# This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. # # Entries in this file show the compile time defaults. # You can change settings by editing this file. # Defaults can be restored by simply deleting this file. # # See resolved.conf(5) for details [Resolve] #DNS= #FallbackDNS= #Domains= #LLMNR=yes #MulticastDNS=yes #DNSSEC=no #Cache=yes #DNSStubListener=udp

При использовании рабочего стола Ubuntu 17.10 вы должны отредактировать один файл, который говорит, НЕ ИЗМЕНИТЕ ДАННЫЙ ФАЙЛ BLAH BLAH BLAH

хорошо, это ТОЛЬКО способ, которым это работает. ~!

root@nas:~# cat /etc/resolv.conf # This file is managed by man:systemd-resolved(8). Do not edit. # # 127.0.0.53 is the systemd-resolved stub resolver. # run "systemd-resolve --status" to see details about the actual nameservers. nameserver 8.8.8.8

Так что удалите 127.0.0.53 IP в качестве сервера имен и введите другой, например Google. Похоже, мой фактический IP-адрес DNS также не разрешает имена хостов (даже если он работает на 10 других машинах и устройствах в доме), но работа Google прекрасна.

-1
ответ дан 18 July 2018 в 03:53

Известная ошибка systemd.

Известная ошибка systemd без необходимости перенастраивать изменения IP-адресов DNS:

sudo rm -f /etc/resolv.conf sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf reboot
12
ответ дан 18 July 2018 в 03:53

Решение, которое сработало для меня, размещено здесь в моем блоге

Используйте редактор nano для редактирования этих двух файлов

nano /etc/resolv.conf nano /etc/resolvconf/resolv.conf.d/head

Добавьте DNS-серверы, которые вы хотите использовать

nameserver 9.9.9.9 nameserver 8.8.4.4 nameserver 127.0.0.1

Затем перезапустите службу

service systemd-resolved restart

Окончательная проверка:

cat /etc/resolv.conf

Сделайте nslookup

nslookup google.com
5
ответ дан 18 July 2018 в 03:53

Я собрал сценарий, который работает вокруг проблемы Netplan, которая в настоящее время не поддерживает возможность замены DHCP-серверов DNS и порядка поиска домена. Он создает файл yaml Netplan и настраивает systemd-resol для работы, как ожидалось.

################## Start Netplan config (renderer: NetworkManager) # Some useful commands for customisation # NetConn=$(nmcli device show|grep GENERAL.CONNECTION|head -n1|awk '{print $2}') # IP=$(nmcli device show|grep IP4.ADDRESS|head -n1|awk '{print $2}') # GATEWAY=$(nmcli device show|grep IP4.GATEWAY|head -n1|awk '{print $2}') # sed -i 's/renderer: networkd/renderer: NetworkManager/' //etc/netplan/01-netcfg.yaml ###################################### systemctl start NetworkManager NIC=$(nmcli device show|grep GENERAL.DEVICE|head -n1|awk '{print $2}') ##### create Netplan yaml config file cat >/etc/netplan/01-netcfg.yaml <<EOF # This file describes the network interfaces available on your system # For more information, see netplan(5). network: version: 2 renderer: NetworkManager ethernets: EOF echo " ${NIC}:" >> /etc/netplan/01-netcfg.yaml cat >>/etc/netplan/01-netcfg.yaml <<EOF dhcp4: yes nameservers: search: [abc.domain.edu, def.domain.edu] addresses: [10.10.11.22, 10.10.11.23] EOF #work around DNS resolv bug systemctl stop systemd-resolved sed -i 's/#DNS=/DNS=10.10.11.22 10.10.11.23/' /etc/systemd/resolved.conf sed -i 's/#Domains=/Domains=abc.domain.edu def.domain.edu' /etc/systemd/resolved.conf systemctl start systemd-resolved systemctl restart NetworkManager netplan apply reboot ############### End Netplan Config
1
ответ дан 24 July 2018 в 17:57

Наконец-то я получил решение этой проблемы для ubuntu 17.10. По умолчанию эта версия Ubuntu использует systemd-resolved, которая, я надеюсь, будет стабильной для следующих версий.

Чтобы использовать пользовательские dns вместо локального кэша, разрешенного системой, выполните следующие действия:

добавить новые серверы имен. Отредактируйте файл в /etc/systemd/resolved.conf как sudoer. Здесь я прокомментировал запись DNS и поместил мои dns [Resolve] DNS=10.96.0.10 8.8.8.8 8.8.4.4 отменить действительную символическую ссылку на /etc/resolv.conf создать новую символическую ссылку sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf перезапустить службу sudo service systemd-resolved restart перезапустить сетевой менеджер sudo systemctl restart networking

И теперь, если вы копаете имя, предоставленное вашим добавлением dns, вы должны увидеть, что запись решена dig nexus.default.svc.cluster.mydomain

Последний шаг - обновить порядок разрешения в /etc/nsswitch.conf, поставив dns before mdns4_minimal

hosts files dns mdns4_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] myhostname
-1
ответ дан 24 July 2018 в 17:57
  • 1
    Вам нужно будет перенастраивать каждый раз при изменении DNS-IP (например, в разных сетях). – Victor 15 February 2018 в 03:39
  • 2
    У Виктора есть лучшее решение? это то же самое, если вы используете статическую сетевую конфигурацию – Fabio Fumarola 16 February 2018 в 19:19
  • 3
    Этот ответ работает как для статических, так и для динамических конфигураций: askubuntu.com/a/974482/343617 – Victor 16 February 2018 в 19:41
  • 4
    спасибо, решение, которое я указал, было статичным. согласен – Fabio Fumarola 18 February 2018 в 15:39

У меня такая же проблема. Каждая перезагрузка ничего не решит. Я удалил все и переустановил его примерно 50 раз. Это просто просто сломано.

, поэтому исправление ... »просто применяйте несколько настроек каждый раз, когда вы загружаете свой компьютер, что позволяет разрешать 90% имен хостов, но wget и apt-get обновления и обновления будут случайным образом no reason "

cat /etc/systemd/resolved.conf

# This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. # # Entries in this file show the compile time defaults. # You can change settings by editing this file. # Defaults can be restored by simply deleting this file. # # See resolved.conf(5) for details [Resolve] #DNS= #FallbackDNS= #Domains= #LLMNR=yes #MulticastDNS=yes #DNSSEC=no #Cache=yes #DNSStubListener=udp

При использовании рабочего стола Ubuntu 17.10 вы должны отредактировать один файл, который говорит, НЕ ИЗМЕНИТЕ ДАННЫЙ ФАЙЛ BLAH BLAH BLAH

хорошо, это ТОЛЬКО способ, которым это работает. ~!

root@nas:~# cat /etc/resolv.conf # This file is managed by man:systemd-resolved(8). Do not edit. # # 127.0.0.53 is the systemd-resolved stub resolver. # run "systemd-resolve --status" to see details about the actual nameservers. nameserver 8.8.8.8

Так что удалите 127.0.0.53 IP в качестве сервера имен и введите другой, например Google. Похоже, мой фактический IP-адрес DNS также не разрешает имена хостов (даже если он работает на 10 других машинах и устройствах в доме), но работа Google прекрасна.

-1
ответ дан 24 July 2018 в 17:57

Известная ошибка systemd.

Известная ошибка systemd без необходимости перенастраивать изменения IP-адресов DNS:

sudo rm -f /etc/resolv.conf sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf reboot
12
ответ дан 24 July 2018 в 17:57
  • 1
    Это решение работало несколько, команды хоста и nslookup правильно разрешают имена, но wget и браузеры не – FireSpore 11 November 2017 в 09:39

Решение, которое сработало для меня, размещено здесь в моем блоге

Используйте редактор nano для редактирования этих двух файлов

nano /etc/resolv.conf nano /etc/resolvconf/resolv.conf.d/head

Добавьте DNS-серверы, которые вы хотите использовать

nameserver 9.9.9.9 nameserver 8.8.4.4 nameserver 127.0.0.1

Затем перезапустите службу

service systemd-resolved restart

Окончательная проверка:

cat /etc/resolv.conf

Сделайте nslookup

nslookup google.com
1
ответ дан 24 July 2018 в 17:57
  • 1
    Вот Systemd-resol -status после изменения /etc/systemd/resolved.conf pastebin.com/AeUFQkyB Браузеры также не могут разрешить имена. – FireSpore 5 November 2017 в 02:10
  • 2
    systemd настолько сломан. DHCP сообщает хосту, что должен быть DNS (и множество других сетевых настроек), вам не нужно менять файлы на хосте, чтобы это работало. – teknopaul 9 November 2017 в 02:55
  • 3
    Не выглядит оптимальным, вам придется делать это каждый раз, когда вы меняете DNS-сервер / сеть – Victor 15 February 2018 в 01:23
  • 4
    Вам нужно будет перенастраивать каждый раз при изменении DNS-IP (например, в разных сетях). – Victor 15 February 2018 в 03:39
  • 5
    Вам нужно будет перенастраивать каждый раз при изменении DNS-IP (например, в разных сетях). – Victor 15 February 2018 в 03:40
  • 6
    это не изящно, но это работает, иногда саботирует мое время сна. – Rodrigo Ferrari 2 June 2018 в 07:39

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

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