服务器重启后找不到主机,需要手动输入DNS服务器才能工作

服务器重启后找不到主机,需要手动输入DNS服务器才能工作

我的 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"

相关内容