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 изображение.

Решение требовало следующего:

  1. сделать корневую файловую систему rwилиdhclient выходит из строя. Лучший способ сделать это - добавить в свой /etc/fstabэто просто дурачокdebootstrap:

    /dev/sda / ext4 errors=remount-ro,acl 0 1
    
    • В Ubuntu 18.04 вы можете выполнить одно из следующих действий:

      1. Создайте системный модуль, который инициализирует сеть в нужное время:

        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

      1. использование 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-адрес, соответствующий вводимому вами доменному имени.

  1. что вы можете сделать, это проверить файл конфигурации, расположенный здесь:

    судо нано /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
  1. если проблема все еще существует, возможно, это ошибка разрешения этого файла. вот что вы можете сделать: изменить владельца файла, используя:

    sudo chown root: root /etc/resolv.conf

теперь измените права доступа к файлу:

      sudo chmod 644 /etc/resolv.conf

теперь вы можете проверить еще раз, используя:

      ping google.com
  1. Другая возможность заключается в том, что ваш брандмауэр блокирует доступ к некоторым портам. вот что я предлагаю вам сделать:

    sudo ufw разрешить 43/tcp sudo ufw разрешить 53/tcp, если брандмауэр не включен:

    sudo ufw enable

затем вам следует перезагрузить компьютер, чтобы изменения вступили в силу.

      sudo ufw reload
Другие вопросы по тегам