Проверьте конфигурацию dnsmasq

Проверьте конфигурацию dnsmasq

Как проверить 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

--no-демон

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

разрешения

Если вы проверите sudoхорошую конфигурацию без этого, dnsmasq в конечном итоге достигнет стадии, на которой попытается начать прослушивание порта 53, но это не удастся из-за разрешений.

Если вы используете sudo(или вы установили port=1024или выше в конфигурации), то dnsmasq должен фактически начать работать, но тогда вам, возможно, придется killвручную запускать процесс. Если вы запускали с --no-daemon, это легко сделать с Ctrl-C.

решение2

AFAIK dnsmasq обычно регистрируется в службе syslog. По умолчанию он использует facility DAEMON.

FWIW: «У меня это работает» (в Fedora 18 / 19).

Если вы не видите никаких сообщений, я бы посоветовал проверить конфигурацию syslog. Или, более эмпирический подход, попробуйте что-то вроде "grep -c dnsmasq /var/log/*".

Подробное описание процесса входа смотрите также на странице руководства здесь: http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html

Там упоминаются и другие возможности ведения журнала, которые могут повлиять на его поведение, например, если facility содержит символ «/».

Правильно ли ведутся другие подсистемы (sys-)журналирования? Можно ли заставить syslog записать сообщение, используя команду 'logger'?

ХТН!

Робб.

решение3

DNSMASQ — одно из распространенных решений DNS/DHCP CACE в Linux/Unix, несколько хороших ссылок:

help.ubuntu.com/community/Dnsmasq manpages.ubuntu.com/manpages/lucid/man8/dnsmasq.8.html wiki.debian.org/HowTo/dnsmasq

  1. Шаги проверки: включите ведение журнала отладки в /etc/dnsmasq.conf:

log-queries
log-dhcp

  1. Затем перезапустите и следите за журналами, когда вы копаете имя хоста:

В вариантах Debian dnsmasq по умолчанию записывает журналы в /var/log/syslog.

Связанный контент