我剛剛安裝了 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 伺服器 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 桌面等發行版,則會安裝適當的工具/守護程序/配置,並且在插入時自動檢測網絡,無需任何用戶配置;很高興知道哪個工具/守護程序/配置/設定可以做到這一點。
答案2
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
並檢查是否可以 ping 通 google.com。
答案3
當我是 QEMU 鏡像時,我遇到了這個錯誤debootstrap
。
該決議要求如下:
建立根檔案系統
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 主機上,發現缺少的配置。
完整的 Ubuntu
debootstrap
設定位於:網路上有預建的 QEMU Ubuntu 映像(32 位元)嗎?在 Debian 9 上,將正確的條目新增至您的
/etc/network/interfaces
設定檔。我的是:auto enp0s3 iface enp0s3 inet dhcp
而
eth0
ofenp0s3
是另一個常見值,您可以透過以下方式找到它:ip link show
完整的 Debian
debootstrap
設定位於https://unix.stackexchange.com/questions/275429/creating-bootable-debian-image-with-debootstrap/473256#473256
答案4
這背後可能有多種原因,但最常見的原因是您的 DNS 伺服器無法尋找與您輸入的網域名稱相對應的 IP 位址。
您可以做的是檢查位於此處的設定檔:
須藤奈米 /etc/resolv.conf
如果那裡指定了名稱伺服器,那麼就沒有問題。但如果沒有,您可以手動向其中新增一個名稱伺服器。谷歌擁有的一些常見名稱伺服器是:
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允許43/tcp sudo ufw允許53/tcp如果防火牆未啟用:
sudo ufw enable
那麼您應該重新加載以便可以應用更改。
sudo ufw reload