Я только что установил 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.
В резолюции требовалось следующее:
сделать корневую файловую систему
rw
, иначеdhclient
не получится. Лучший способ сделать это — добавить в ваш/etc/fstab
, которыйпросто болван вdebootstrap
:/dev/sda / ext4 errors=remount-ro,acl 0 1
В Ubuntu 18.04 вы можете выполнить одно из следующих действий:
Создайте модуль 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
Используйте
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-адрес, соответствующий введенному вами доменному имени.
что вы можете сделать, так это проверить файл конфигурации, расположенный здесь:
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
Если проблема все еще существует, возможно, возникла ошибка прав доступа к этому файлу. Вот что вы можете сделать: изменить владельца файла, используя:
sudo chown root:root /etc/resolv.conf
теперь измените права доступа к файлу:
sudo chmod 644 /etc/resolv.conf
Теперь вы можете проверить еще раз, используя:
ping google.com
Другая возможность заключается в том, что ваш брандмауэр блокирует доступ с некоторых портов. Вот что я предлагаю вам сделать:
sudo ufw allow 43/tcp sudo ufw allow 53/tcp если брандмауэр не включен:
sudo ufw enable
затем вам следует перезагрузить, чтобы изменения вступили в силу.
sudo ufw reload