Ubuntu Server 18.04 Временный сбой в разрешении имен
Я только что установил Ubuntu Server 18.04 и настроил SSH, чтобы я мог продолжить настройку через свой рабочий стол, но у меня возникли некоторые проблемы, которые я не могу решить.
Я пытался бежать
sudo apt-get update
но постоянно получал ошибки:
Временная ошибка при разрешении archive.ubuntu.com
Не удалось получить http://archive.ubuntu/........
Я проверил, было ли у меня интернет-соединение нормально, запустив
ping 8.8.8.8
и я получил ответ, все хорошо там.
Я подозревал, что, возможно, мой DNS не был настроен правильно, поэтому я попытался
ping www.google.com
и получил ошибку:
Временный сбой в разрешении имен
Итак, я решил, что это на самом деле какая-то проблема DNS, но все "ответы", которые я пробовал, не сработали для меня.
Я пробовал редактировать /etc/resolv.conf
без удачи, как представляется, символическая ссылка.
Я нашел ответ, который работает, только если я запускаю из-под root, то есть:
sudo bash
Но он дает указание отменить изменения впоследствии:
rm /etc/resolv.conf
ln -s /run/resolvconf/resolv.conf /etc/resolv.conf
Если я это сделаю, я снова потеряю связь.
- Должен ли я просто оставить все как есть или что-то еще?
- Может ли это быть постоянным решением?
- И является причиной проблемы тот факт, что
/run/resolvconf/resolv.conf
на самом деле не существует?
6 ответов
В Ubuntu Server 18-04 с установленными xorg lightdm lightdm-gtk-greeter и xfce4 GUI при загрузке системы единственный способ, с помощью которого я понял, чтобы запустить проводную сеть, это:
sudo dhclient -v -4
отлично работает, однако, это должно быть сделано вручную после каждой загрузки и после каждого отключения / повторного подключения к сети, так что это работает, но это ручное решение, а не постоянное решение;
чтобы запустить беспроводную сеть автоматически, просто:
sudo apt-get install nm-tray network-manager
вам, вероятно, придется перезагрузиться; тогда вы сможете использовать значок беспроводной сети, который появляется в области уведомлений на панели управления (убедитесь, что область уведомлений добавлена на панель), чтобы выбрать беспроводную сеть; после этого он автоматически восстановит соединение;
однако для автоматического восстановления проводной сети я попытался установить avahi-daemon и avahi-autoipd, но, видимо, это не помогает; даже попробовал
sudo systemctl start NetworkManager
sudo systemctl enable NetworkManager
в основном, если вы устанавливаете дистрибутив, такой как рабочий стол Xubuntu, устанавливается соответствующий инструмент (ы)/daemon/config, и сеть обнаруживается автоматически, когда он подключен без какой-либо пользовательской конфигурации; было бы неплохо узнать, какой инструмент /daemon/config/setting это делает.
Выпуск 18.04 измените resolv.conf на netplan
делать
man netplan
dir расположение /etc/netplan внутри вы найдете файл, например: 50-cloud-init.yaml
отредактируйте его так:
network:
ethernets:
ens160:
addresses:
- 10.10.10.100/24
dhcp4: false
gateway4: 10.10.10.1
nameservers:
addresses:
- 8.8.4.4
- 8.8.8.8
search:
- domain.local
version: 2
когда вы сохраняете файл
sudo netplan apply
и проверьте, можете ли вы пинговать google.com.
Я получил эту ошибку, когда я был debootstrap
QEMU изображение.
Решение требовало следующего:
сделать корневую файловую систему
rw
илиdhclient
выходит из строя. Лучший способ сделать это - добавить в свой/etc/fstab
это просто дурачокdebootstrap
:/dev/sda / ext4 errors=remount-ro,acl 0 1
В Ubuntu 18.04 вы можете выполнить одно из следующих действий:
Создайте системный модуль, который инициализирует сеть в нужное время:
cat << EOF | sudo tee "/etc/systemd/system/dhclient.service" [Unit] Description=DHCP Client Documentation=man:dhclient(8) Wants=network.target Before=network.target [Service] Type=forking PIDFile=/var/run/dhclient.pid ExecStart=/sbin/dhclient -4 -q [Install] WantedBy=multi-user.target EOF sudo ln -sf "/etc/systemd/system/dhclient.service" \ "/etc/systemd/system/multi-user.target.wants/dhclient.service"
Основано на: https://gist.github.com/corvax19/6230283
использование
network-manager
, Загружает много графических библиотек, но чувствует себя менее хакерским:sudo apt-get install network-manager cat << EOF | sudo tee "/etc/netplan/01-network-manager-all.yaml" # Let NetworkManager manage all devices on this system network: version: 2 renderer: NetworkManager EOF
Я нашел это, сначала посмотрев первый сетевой конфигурационный файл, который я знал по Debian с моего хоста:
cat /etc/network/interfaces
но удивительные разработчики Ubuntu оставили там сообщение:
# ifupdown has been replaced by netplan(5) on this system. See # /etc/netplan for current configuration. # To re-enable ifupdown on this system, you can run: # sudo apt install ifupdown
поэтому я сделал:
cat /etc/network/interfaces
на моем хосте Ubuntu и нашел недостающий конфиг.
Полная Ubuntu
debootstrap
Настройка в: Есть ли какой-либо готовый образ QEMU Ubuntu (32-битный) онлайн?В Debian 9 добавьте правильную запись в ваш
/etc/network/interfaces
Конфигурационный файл Мой был:auto enp0s3 iface enp0s3 inet dhcp
а также
eth0
вместоenp0s3
это еще одна распространенная ценность, вы можете узнать это с помощью:ip link show
Полный Debian
debootstrap
настройка по адресу https://unix.stackexchange.com/questions/275429/creating-bootable-debian-image-with-debootstrap/473256
Это решило эту ошибку для меня.
https://ycsoftware.net/temporary-failure-in-name-resolution-ubuntu-18-04-1-lts/
У меня возникла проблема с разрешением имен после обновления до Ubuntu 18.04 LTS.
Причина:
Обновление системы стерло настройки сервера имен DNS, которые ранее были в /etc/resolv.conf
Решение:
Отредактируйте /etc/resolvconf/resolv.conf.d/base и добавьте данные сервера имен
nano /etc/resolvconf/resolv.conf.d/base
Добавьте IP-адрес вашего DNS-сервера для вашей сети или интернет-провайдера в следующем формате:
nameserver 12.34.56.78
(Замените IP-адрес 12.34.56.78 на ваш сервер DNS-имен.)
Чтобы изменения вступили в силу, немедленно запустите:
sudo resolvconf -u
Последняя строка позволяет пропустить перезагрузку. В качестве альтернативы вы также можете отредактировать /etc/resolv.conf и внести точно такие же изменения (но этот файл будет перезаписан при перезагрузке).
Не знаете свой DNS-сервер?
Перейдите на компьютер с Windows в той же сети и введите в командной строке
ipconfig /all
Если у вас есть несколько устройств, то на каждом устройстве должен быть указан DNS-сервер, и вы захотите выбрать его соответствующим образом. Информация о DNS-сервере будет выглядеть так:
DNS Servers . . . . . . . . . . . : 12.34.56.78
Этому может быть несколько причин, но наиболее распространенной из них является то, что ваш DNS-сервер не может найти IP-адрес, соответствующий вводимому вами доменному имени.
что вы можете сделать, это проверить файл конфигурации, расположенный здесь:
судо нано /etc/resolv.conf
если там указан сервер имен, то проблем нет. но если нет, вы можете вручную добавить к нему один сервер имен. Вот некоторые распространенные серверы имен, принадлежащие Google:
8.8.8.8
4.4.4.4
поэтому все, что вам нужно сделать, это добавить их вот так в ваш файл конфигурации:
nameserver 8.8.8.8
или
nameserver 8.8.4.4
или
nameserver <IP_Address_for_DNS_Server>
затем перезапустите настройки сети и попробуйте пропинговать какой-нибудь веб-сайт:
sudo systemctl restart systemd-resolved.service
ping google.com
если проблема все еще существует, возможно, это ошибка разрешения этого файла. вот что вы можете сделать: изменить владельца файла, используя:
sudo chown root: root /etc/resolv.conf
теперь измените права доступа к файлу:
sudo chmod 644 /etc/resolv.conf
теперь вы можете проверить еще раз, используя:
ping google.com
Другая возможность заключается в том, что ваш брандмауэр блокирует доступ к некоторым портам. вот что я предлагаю вам сделать:
sudo ufw разрешить 43/tcp sudo ufw разрешить 53/tcp, если брандмауэр не включен:
sudo ufw enable
затем вам следует перезагрузить компьютер, чтобы изменения вступили в силу.
sudo ufw reload