我有一個遠端用戶從 Windows 切換到 Ubuntu 22.04,在安裝 WireGuard 並添加我們為他提供的配置後,他遇到了嚴重的 DNS 問題。值得注意的是,我們公司有很多 Linux 用戶使用 VPN,所以我對這裡最初發生的事情感到非常困惑。
他最初可以連接到我們的(分割隧道)VPN,但無法存取其背後的任何資源。我們發現將我們的 DNS 加到他的 /etc/resolv.conf 中可以暫時解決這個問題。幾天后,他隨機無法存取任何內容,我們的 DNS 再次從他的 resolv.conf 中丟失。他的 resolv.conf 中沒有其他 DNS 條目,因此他自然無法解析任何內容。我們重新添加了條目,他能夠到達所有內容。
今天他再次無法存取網路上的任何內容。我要求他重新安裝 Ubuntu,但他已經設定了開發環境和其他東西,並且不想再做所有這些事情。
在這一點上,我覺得我們已經進行瞭如此多的刺激和改變,以至於當我無法遠端存取他的機器時,我認為我將無法解決問題。我已經搜尋過如何將 DNS 和網路重設為預設值,但我發現的所有內容似乎都很舊,或者有很多方法可以做到這一點,我不確定哪種方法最好且一致。
總而言之:如何讓這個人的網路配置恢復到開箱即用的狀態,以便我們可以重新開始使用他的 WireGuard 設定?
謝謝!
答案1
我要求他重新安裝 Ubuntu,但他已經設定了開發環境和其他東西,並且不想再做所有這些事情。
一般來說這不是一個好主意,但理論上他可以在不格式化的情況下重新安裝,並且設定保持原樣。他更好地解決了手邊的問題。
我已經搜尋過如何將 DNS 和網路重設為預設值,但我發現的所有內容似乎都很舊,或者有很多方法可以做到這一點,我不確定哪種方法最好且一致。
那應該是不需要的。/etc/resolv.conf
是一個從三個來源獲取更新的連結:
- resolvconf(伺服器;命令列;通常未安裝)
- 網路管理器守護進程(桌面;您可以透過刪除使用者建立的連線來重置它)
- DHCP 用戶端(不太可能)
如果您這樣做sudo nano /etc/resolv.conf
並添加 DNS,您可以測試您的設置,但是當用戶...
- 註銷
- 重新啟動系統
- 重新連接到網絡
- 重新啟動網路服務
使用resolvconf
:
如果尚未安裝,請安裝sudo apt install resolvconf
並建立檔案:
sudo nano /etc/resolvconf/resolv.conf.d/nameservers
然後將 DNS 新增到該檔案:
nameserver 8.8.8.8
(這是 Google DNS;替換為您的 DNS)
啟動並啟用它:
sudo systemctl start resolvconf.service
sudo systemctl enable resolvconf.service
應該就是這樣。
來自命令列的網路管理員(您可以從桌面在網路中執行相同的操作):
nmcli con
將顯示連線名稱的名稱,這會將 google DNS 新增至網路管理員(取代為自己的 DNS):
nmcli con mod {connection} ipv4.dns "8.8.8.8 8.8.4.4"
然後您可以使用以下命令重新啟動它:
nmcli con down {connection}
nmcli con up {connection}
進行任何更改(resolvconf 或 networkmanager)後,您可以執行以下操作進行檢查cat /etc/resolv.conf
。