私はdnsmasq(8)
プライベートDHCP
ベースのネットワークのDebian GNU / Linuxシステムで設定しようとしています。ローカルの手動セットアップ中dnsmasq
-istelfのインストール後-単純に次の行を含めることができます
prepend domain-name-servers 127.0.0.1;
で/etc/dhcp/dhclient.conf
ネットワークを再起動します。これにはローカルホストが含まれ/etc/resolv.conf
、1つは準備ができています。(参照:http : //wiki.debian.org/HowTo/dnsmasq#Local_Caching)
ただし、特に構成管理ソフトウェアを使用している場合は、同じことをリモートで実行しようとすると、ネットワーク接続が失われます。さて、目標はネットワークの再起動ではなく、更新resolv.conf
..:
ネットワーク接続を維持したまま、dhclient(8)
更新resolv.conf
を強制するにはどうすればよいですか?
[編集]
以下で私のために働いたスクリプトを見つけてください:
if grep '^\s*nameserver\>.\+\<127\.0\.0\.1\>' /etc/resolv.conf >/dev/null; then
: # do nothing
else
grep -v '^\s*nameserver\>' /etc/resolv.conf > /tmp/resolv.conf.new
echo "nameserver 127.0.0.1" >> /tmp/resolv.conf.new
grep '^\s*nameserver\>' /etc/resolv.conf >> /tmp/resolv.conf.new
mv -f /tmp/resolv.conf.new /etc/resolv.conf
fi
それはちょっと厄介です-私はまだより良い解決策を探しています。
resolv.conf
。ここでDHCPクライアント自体は問題ではなく、resolv.conf
ファイルであることに注意してくださいresolver(3)
。C-API によって考慮されているため、他のソフトウェアによって使用されています。通常、更新はいずれかによって行われるdhclient(8)
か、resolvconf(8)
が、最初は、ネットワーク接続、後者は既存の設定を保存するために失敗したリセット-
dhclient(8)
マニュアルページは、リモート設定を可能にする「OMAPI」と呼ばれるいくつかのファンキーなプロトコルをサポートし、を指し伝えomshell
クライアントで/解除特定のパラメータを設定し、それを更新するだけでなく、それをシャットダウンして再起動するために使用することができるツール。このルートを探索しましたか?