Как настроить DNS и файл resolv.conf - proUbuntu
1 голос
/

У меня Ubuntu Server 18.04 запущен и работает уже пару недель. Некоторое время мой сетевой интерфейс никогда не подключался. В конце концов я получил правильную настройку YAML файла netplan. Теперь я могу пинговать IP-адреса моих серверов, а не имена хостов, с другого компьютера в моей сети, а также пинговать внешние IP-адреса, а не доменные имена. Как указано, я не могу использовать любые доменные имена. Итак, такие вещи, как ping google.com и sudo apt update терпят неудачу. Я считаю, что это проблема DNS, но я не уверен на 100%.

Результат ping google.com:

ping: google.com: Temporary failure in name resolution

Результат sudo apt update:

 Err3: http://archive.ubuntu.com/ubuntu bionic InRelease
     Temporary failure in resolving 'archive.ubuntu.com'

При обновлении есть еще несколько ошибок, но все они не могут решить «archive.ubuntu.com».

Мой файл netplan /etc/netplan/01-netcfg.yaml:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s25:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.1.40/22]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.4.4, 8.8.8.8, 1.1.0.0, 1.1.1.1]

Я видел много постов и статей, рассказывающих о /etc/resolv.conf, однако моих всегда не было. Если бы я попытался cat вывести содержимое, я получил бы ошибку no such file or directory. Думаю, в этом и заключается моя проблема, но я также недостаточно разбираюсь в сетевых технологиях Linux, чтобы понять, в чем дело.

Некоторые люди смогли решить эту проблему, создав или исправив свои символические ссылки на /etc/resolv.conf. Однако они использовали run/systemd/resolve/resolv.conf, /run/resolvconf/resolv.conf и другие файлы. Эти файлы / сервисы не существуют на моей машине. У меня есть только один сетевой файл в /run, расположенный в /run/systemd/network/10-netplan-enp0s25.network. Это содержимое:

[Match]
Name=enp0s25

[Network]
LinkLocalAddressing=ipv6
Address=192.198.1.40/22
Gateway=192.168.1.1
DNS=8.8.4.4
DNS=8.8.8.8
DNS=1.1.0.0
DNS=1.1.1.1

Я создал символическую ссылку от /etc/resolv.conf до /run/systemd/network/10-netplan-enp0s25.network. Содержимое моего resolv.conf точно такое же, как 10-netplan-enp0s25.network.

Меня смущает, что еще нужно сделать, чтобы настроить мою машину. Все, что я нашел до сих пор, было очень противоречивым и не помогло.


1 Ответ

0 голосов
/

В системе Ubuntu 18.04 /etc/resolv.conf всегда должна быть символической ссылкой на /run/systemd/resolve/stub-resolv.conf, если не установлен пакет resolvconf (не рекомендуется для новых систем), в этом случае это должна быть символическая ссылка на /run/resolvconf/resolv.conf , Если /run/systemd/resolve/stub-resolv.conf не существует, убедитесь, что служба systemd-resolved работает (systemctl status systemd-resolved). Если он не активен, включите и запустите его (sudo systemctl enable systemd-resolved && sudo systemctl start systemd-resolved), что должно устранить проблему.

...