Ubuntu Server 18.04 Временный сбой в разрешении имен

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на самом деле не существует?

решение1

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

решение2

В выпуске 18.04 изменен resolv.conf на netplan

делать

man netplan

В каталоге /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.

решение3

Эта ошибка возникла, когда я использовал debootstrapобраз QEMU.

В резолюции требовалось следующее:

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

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

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

        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#gistcomment-1940694

      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 и нашел отсутствующую конфигурацию.

      Полная debootstrapнастройка Ubuntu по адресу:Есть ли в сети готовый образ QEMU Ubuntu (32 бита)?

    • В Debian 9 добавьте правильную запись в ваш /etc/network/interfacesфайл конфигурации. У меня было:

      auto enp0s3
      iface enp0s3 inet dhcp
      

      и eth0вместо enp0s3— это другое общее значение, вы можете узнать его с помощью:

      ip link show
      

      Полная debootstrapнастройка Debian наhttps://unix.stackexchange.com/questions/275429/creating-bootable-debian-image-with-debootstrap/473256#473256

решение4

Причин может быть несколько, но наиболее распространенной является то, что ваш DNS-сервер не может найти IP-адрес, соответствующий введенному вами доменному имени.

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

    sudo nano /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>

затем перезапустите сетевые настройки и попробуйте выполнить ping на какой-нибудь веб-сайт:

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 allow 43/tcp sudo ufw allow 53/tcp если брандмауэр не включен:

    sudo ufw enable

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

sudo ufw reload

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