再起動後にサーバーがホストを見つけられず、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どのように更新されるかを確認してください。ネットワーク スクリプトまたは Network Manager である可能性があります。

Network Manager を使用していない場合は、関連するスタンザを以下に追加する必要がある可能性があります/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

Network Manager とグラフィカル デスクトップ環境を使用している場合は、そこに DNS サーバーを追加できる可能性があります。

グラフィカル デスクトップ環境を使用しておらず、Network Manager を使用している場合は、このnmcliツールが DNS リゾルバーの構成に役立つ場合があります。

$ sudo nmcli con mod eth0 ipv4.dns "8.8.8.8"

関連情報