Может ли rsyslogd использовать файл /etc/hosts вместо DNS?
У меня проблема с rsyslogd, использующим DNS для PTR-разрешения имени каждого удаленного хоста.
Есть ли способ использовать "/etc/hosts" для выполнения той же работы и отключения разрешения с помощью DNS?
1 ответ
Вы можете сделать это, обеспечив hosts
запись в nsswitch.conf настроена как hosts files dns
Это означает, что сначала он будет смотреть на /etc/hosts, а затем на DNS.
РЕДАКТИРОВАТЬ: Как упоминалось @ThomasN ниже, это влияет не только на rsyslog, и вы, возможно, захотите подумать об этом подходе, прежде чем выбирать его.
Но это может быть не совсем правильно
если вы действительно хотите, чтобы разрешение имело место, вы можете рассмотреть возможность установки локального кэширующего преобразователя (может быть dnsmasq, pdns-resolver, unbound или любого количества альтернатив) и настроить очень длинные TTL на рассматриваемых доменах (если это возможно с выбранным вами сервером).
если вы не хотите разрешать эти домены (или, по крайней мере, не из rsyslog), то вы можете отключить DNS двумя способами (используя параметры командной строки):
-Q
отключает поиск DNS во время обработки ACL, то есть все ваши ACL сети должны бытьfromhost-ip
-основан.-x
отключает DNS для "удаленных сообщений" (не совсем понятно, что это значит, за исключением того, что я предполагаю, что доменное имя удаленного хоста не разрешается ни в одной точке).
Кажется, что большинство людей в конечном итоге используют оба этих флага вместе, но, как упоминалось выше, это влияет на вашу конфигурацию. Смотрите https://linux.die.net/man/8/rsyslogd для получения дополнительной информации.