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