Как настроить DNS и файл resolv.conf

Как настроить DNS и файл resolv.conf

У меня Ubuntu Server 18.04 запущен и работает уже пару недель. Некоторое время мой сетевой интерфейс не подключался. В конце концов я правильно настроил файл netplan YAML. Теперь я могу пинговать 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

В системе 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), что должно исправить проблему.

Связанный контент