私はvirt-managerを使用して2つのイーサネットインターフェイス(1つはNATに接続され、もう1つはbr0にブリッジ)を持つDebianベースのLinux仮想マシンを実行しています。/etc/network/interfaces
構成は次のとおりです。
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
br0にはDHCPサーバーがあり、スイッチ以外には何も接続されていません。
コンピュータを再起動すると、/etc/resolv.conf
次の項目があります。
nameserver 192.168.150.1
これはNAPによって割り当てられたネットワークアドレスです。つまり、試行するとping google.com
エラーが発生し、temporary name resolution failure
他の項目を追加します。
nameserver 8.8.8.8
仮想マシンが正常に動作し、すべてのWebサイトにアクセスできますが、しばらくすると、サービスを開始しないか/etc/resolv.conf
プログラムを実行せずにマシンを実行してもアイテムが再表示されます。
何が上書きされているかを調べる方法はありますか?見つからない場合(bashファイルを使用せずに/etc/resolv.conf
)Watを追加できますか?nameserver 8.8.8.8
/etc/resolv.conf
ベストアンサー1
なぜならそうしなければならないからです。はい、/etc/resolv.confしなければならない絶えず変える他のサービスで更新する必要があるたびに。
ここに質問があります。どんなサービスを提供しますか?より多くの情報が必要です。
問題の簡単な説明を見ると、インターフェイスは2つだけです。 1つはlo
変更する必要のないDHCP /etc/resolv.conf
、もう1つはdhcpサービスを使用するeth0です。 dhcpサービスは、アップストリームルーター、スイッチ、またはほとんどの場合、libvirtおよびブリッジ内の仮想dhcpサーバーでリースを更新する必要があります。
私は説明を仮定2つのインターフェース構成を見ると~へゲスト構成ではなくVMです。
まあ、1つのオプションはdhcpclientに通知することです。DHCPリースで指定されたサーバーの上書き/etc/dhcp/dhclient.conf
仮想マシンの内部に次の行を追加します。
supersede domain-name-servers 1.1.1.1, 2.2.2.2, 3.3.3.3;
またはプレフィックスを使用して、つまり、最初のDNSリゾルバーとして追加、次の行を使用します。
prepend domain-name-servers 8.8.8.8, 8.8.4.4;
氷山
問題は、上記の「氷山の一角」よりはるかに複雑です。
仮想ネットワーク構成が複雑です。ブリッジ(192.168.150.zzアドレス(デフォルトはxx.yy.122.zzではない)を提供すると仮定します)が正しく設定されていることを確認する必要があります。読んでくださいhttps://wiki.libvirt.org/page/VirtualNetworking
このファイルを更新できる他の代替プログラムがたくさんあります/etc/resolv.conf
。あなたの説明によると、この場合、どちらも問題にならないようです。しかし、ご存知のように、/etc/resolv.conf
支配権のための競争は長年にわたって長い間行われてきました、そして今日もまだ存在しています。/etc/resolv.conf
時々制御し変更することができるいくつかのプログラムは次のとおりです。
resolvconf
。絶対的な制御権を持ち、/etc/resolv.conf
他のプログラムがそれを変更できないように設計されたプログラムです。それを削除します。Network Manager
(あなたはそれを使用していると報告しません)。使用するDNSサーバーを定義するいくつかのエントリがあります。構成ファイルを移動して構成をリセットする無効問題が解決することを確認してください。- 文書
/etc/network/interfaces
DNS設定行を含めることができます、ここではそうではありません。 - サービス
systemd
resolved
はローカルサーバー127.0.0.53を設定している可能性がありますが、これを報告しません。関連。 dnsmasq
または、同様のDNSサーバーを制御するように構成できます。実行中のプログラムがresolv.conf
あることを確認してください。dnsmasq
- 各新しいリースは
dhclient
更新できます(必要に応じて)。dhcp.conf
上記のように。