將網路設定重設為預設值(尤其是 DNS)

將網路設定重設為預設值(尤其是 DNS)

我有一個遠端用戶從 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

相關內容