我的 Raspbian 伺服器在重新啟動後「忘記」了它的主機。
我找到的唯一解決方案是手動運行:
sudo sh -c 'echo "nameserver 8.8.8.8" >> /etc/resolv.conf'
但是重啟後它就被刪除了,需要我重新輸入。我想讓這盡可能無人值守。
由於我將它用作列印伺服器和 IRC 核心,因此它必須具有靜態 IP。
我目前的 /etc/network/interfaces 檔案如下所示:
auto lo
iface lo inet loopback
iface eth0 inet static
address 192.168.0.64
netmask 255.255.255.0
gateway 192.168.0.1
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
address 192.168.0.64
netmask 255.255.255.0
gateway 192.168.0.1
我試圖在最後將 google dns 伺服器添加到此文件中,但沒有成功。
此外,當我的伺服器啟動時,有一條錯誤訊息:
[FAIL] Not running dhcpcd client because /etc/network/interfaces defines some interfaces that will use a DHCP client.
我確信這是相關的,但不確定如何相關。
請幫助我找到一個永久修復的解決方案,以便我可以遠端重新啟動伺服器,而無需連接到它並手動運行:
sudo sh -c 'echo "nameserver 8.8.8.8" >> /etc/resolv.conf'
謝謝你!
答案1
首先,您需要從文件中刪除多餘的內容。註解掉從wpa-roam
(#
每行開頭有一個符號)開始的所有內容。
/etc/resolv.conf
您不應在現代發行版上更改。我的 Raspbian(和其他)上的文件的前幾行內容如下:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
因此,請閱讀man resolvconf
以了解它是如何更新的 - 它可能是您的網頁腳本或網路管理員。
如果您不使用網路管理器,那麼您可能需要將相關節新增至/etc/network/interfaces
:
auto lo
auto eth0
iface lo inet loopback
iface eth0 inet static
address 192.168.0.64
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 8.8.8.8
請注意dns-namservers
條目。
如果您使用網路管理器和圖形桌面環境,那麼您可以在其中新增 DNS 伺服器。
如果您沒有使用圖形桌面環境,而是使用網路管理器,那麼該nmcli
工具可以幫助您設定 DNS 解析器:
$ sudo nmcli con mod eth0 ipv4.dns "8.8.8.8"