Alpine Linux 有时 DNS 无法解析

Alpine Linux 有时 DNS 无法解析

有时当我运行命令时:

sudo apk update && sudo apk upgrade

即使连接到互联网,Alpine linux 也无法更新软件包。但如果我这样做了,sudo su "echo 'nameserver 8.8.8.8' > /etc/resolv.conf"我就能下载它们。但这个解决方案:

  • 让我沮丧的是我需要一直设置 dns。
  • 有时/etc/resolv.conf会被自身覆盖。

我怎样才能有一个更永久的解决方案?

答案1

太长了;博士

  1. 打开文件/etc/udhcpc/udhcpc.conf使用文本编辑器。
    如果该文件丢失,您只需创建它(可能还有其包含的文件夹)。

  2. 追加行

    RESOLV_CONF=no
    

完毕。

在这里找到:https://wiki.alpinelinux.org/wiki/Udhcpc


对于我的情况,接受的答案并不令人满意

  • 它导致很多东西被粘贴而不知道它在做什么,
  • 它需要安装额外的软件并且
  • 它只是将给定的 DNS 服务器添加到写入的内容之前/etc/resolv.conf尽管如此,而不是取代它。

我确信有更多关于如何让 dhclient 替换内容而不是预先添加内容的说明,但是对于像阻止 DHCP 替换这样简单的事情来说,这太多的研究和头痛/etc/resolv.conf根本不。

答案2

您可以通过安装该dhclient软件包来解决该问题。通过最后一次运行来最后一次启用 Google 的 DNS 服务器:

sudo su "echo 'nameserver 8.8.8.8' > /etc/resolv.conf"

然后运行这个命令组合:

sudo apk update && sudo apk upgrade && sudo apk add dhclient

为了获取新鲜的软件包并安装dhclient.然后配置/etc/dhcp/dhclient.conf并输入以下内容:

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;

send host-name = gethostname();
request subnet-mask, broadcast-address, time-offset, routers,
        domain-name, domain-name-servers, domain-search, host-name,
        dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers,
        netbios-name-servers, netbios-scope, interface-mtu,
        rfc3442-classless-static-routes, ntp-servers;

prepend domain-name-servers 8.8.8.8, 8.8.4.4;

并重新启动网络:

sudo rc-service networking restart

(可选)如果运行以下命令,您可以确认是否有效:

sudo reboot

无论哪种情况,您都可以通过 ping google 来确认 dns 已解析。

ping google.com

答案3

Udhcpc 需要 /etc/udhcpc/udhcpc.conf,所有人都可以通过一行访问 dns="ns1 ns2"

相关内容