dnsmasq
の設定を確認するにはどうすればいいですか?
dnsmasq
/var/log/daemon.log
以前は、 で説明されているように、で自分自身についての詳細な情報を提供できました。dnsmasq テスト。
しかし、dnsmasq サービスを再起動すると、何もログに記録されません/var/log/daemon.log
。
% echo " *** DEBUG `date --rfc-3339=seconds` DEBUG *** " >> /var/log/daemon.log
% service dnsmasq restart
* Restarting DNS forwarder and DHCP server dnsmasq [ OK ]
% tail /var/log/daemon.log
*** DEBUG 2013-11-27 23:04:08-05:00 DEBUG ***
これは Ubuntu 13.10 Saucy です。
答え1
--デーモンなし
dnsmasq
直接実行すると、ターミナルにエラーが出力されます。つまりdnsmasq --no-daemon
、またはすべてのログ記録オプションを使用すると、次のようになります。
$ dnsmasq --no-daemon --log-queries=extra --log-dhcp --log-debug -C /path/to/dnsmasq.conf
dnsmasq
独自に dnsmasq を起動しようとし、問題が見つかった場合は構成内の行番号を示します。
- テスト
dnsmasq --test
設定ファイルの基本的な構文チェックを行います。成功した場合は、次のような出力が表示されます。
$ dnsmasq --test
dnsmasq: syntax check OK.
不自然な失敗とは
$ echo 'A-VERY-BAD-OPTION' > /tmp/tmp.conf
$ dnsmasq -C /tmp/tmp.conf --test
dnsmasq: bad option at line 1 of /tmp/tmp.conf
権限
適切な構成のために thenなしでテストするとsudo
、dnsmasq は最終的にポート 53 でリッスンを開始しようとするが、権限が原因で失敗する段階に到達します。
sudo
(または設定で またはそれ以上を設定)を使用するとport=1024
、dnsmasq は実際に実行を開始しますが、その場合、kill
プロセスを手動で実行する必要があるかもしれません。 で実行した場合--no-daemon
、 を使用すると簡単に実行できますCtrl-C。
答え2
私の知る限り、dnsmasq は通常 syslog サービスにログを記録します。デフォルトでは、DAEMON 機能を使用します。
FWIW: 「私の場合は動作します」(Fedora 18/19)。
メッセージが表示されない場合は、syslog 設定を確認することをお勧めします。または、より実践的な方法として、「grep -c dnsmasq /var/log/*」などを試してください。
ログ記録の詳細な説明については、次のマニュアル ページも参照してください。 http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html
そこには、たとえば facility に '/' 文字が含まれている場合など、動作に影響を与える可能性のあるログ記録のその他の可能性もいくつか記載されています。
他のサブシステム (sys-) は正しくログ記録されていますか? 「logger」コマンドを使用して syslog にメッセージをログ記録させることができますか?
ありがとう!
ロブ。
答え3
DNSMASQ は Linux/Unix 上の一般的な DNS/DHCP ケース ソリューションの 1 つです。いくつかの優れたリンクを以下に示します。
help.ubuntu.com/community/Dnsmasq manpages.ubuntu.com/manpages/lucid/man8/dnsmasq.8.html wiki.debian.org/HowTo/dnsmasq
- 検証手順: /etc/dnsmasq.conf でデバッグ ログをオンにします。
ログクエリ
ログ DHCP
- 次に、再起動して、ホスト名を掘り下げるときにログを監視します。
Debian バリアントでは、dnsmasq はデフォルトで /var/log/syslog にログを記録します。