web-dev-qa-db-ja.com

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はそれ自体でオーバーライドされます。

どうすればより永続的な解決策を得ることができますか。

4

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

どちらの場合も、Googleにpingを実行することで、DNSが解決されていることを確認できます。

ping google.com
5

tl; dr

  1. テキストエディターでファイル/ etc/udhcpc/udhcpc.confを開きます。
    ファイルが欠落している場合は、作成する必要があります(そしておそらくそれを含むフォルダー)。

  2. 行を追加

    RESOLV_CONF=no
    

できました。

ここにあります: https://wiki.alpinelinux.org/wiki/Udhcpc


受け入れられた答えは私の場合には満足できませんでした

  • 何をしているのかわからずにたくさんのものが貼り付けられる
  • 追加のソフトウェアのインストールが必要であり、
  • それでも、/ etc/resolv.confに書き込んでいるものの前にDNSサーバーを追加するだけでなく、それを置き換えるだけです。

Dhclientに前置する代わりにものを置き換える方法についての説明は他にもあると思いますが、これはDHCPが/ etc/resolvを置き換えるのを防ぐのと同じくらい簡単なことには、あまりにも多くの研究と頭痛の種です。 confです。

4
Thomas Urban