У меня проблема с rsyslogd, использующим DNS для PTR-разрешения имени каждого удаленного хоста.
Есть ли способ использовать / etc / hosts для выполнения той же работы и отключить разрешение с помощью DNS?
Вы можете сделать это, обеспечив 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 для большего