如何通过修改rsyslog配置禁用远程解析主机名DNS避免内网DNS瘫痪引发的日志链假死

大涛酱_4963

大涛酱_4963

2026-06-05

710人浏览

原创

禁用 rsyslog 反向 dns 解析可彻底消除日志接收对内网 dns 的依赖,防止因 dns 延迟或宕机导致阻塞、丢日志或进程假死;需配置 $preservefqdn off、使用 %fromhost-ip% 模板、禁用 dns 相关模块选项,并通过停 dns 服务和抓包验证生效。

如何通过修改rsyslog配置禁用远程解析主机名dns避免内网dns瘫痪引发的日志链假死

直接禁用 rsyslog 对远程日志源的 DNS 反向解析,能彻底切断日志接收环节对内网 DNS 的依赖,防止 DNS 响应慢或宕机时导致 rsyslog 阻塞、丢日志甚至进程假死。关键不是“不查 DNS”,而是让 rsyslog 放弃尝试解析发送端 IP 对应的主机名(即 PTR 查询),改用原始 IP 记录。

关闭 $PreserveFQDN 并显式禁用反向解析

rsyslog 默认在接收日志时,会对来源 IP 执行反向 DNS 查询(PTR),若 DNS 不可用,该操作会超时阻塞处理线程。需在服务端配置中明确禁止:

  • 在 /etc/rsyslog.d/ 下新建或编辑配置文件(如 99-no-dns.conf),加入以下两行:
$PreserveFQDN off
$ActionFileDefaultTemplate RSYSLOG_SyslogProtocol23Format

第一行确保 rsyslog 不尝试将 IP 转为 FQDN;第二行启用新版格式模板,其默认行为已跳过反向解析,比传统格式更可靠。

Massive.com CLI
Massive.com CLI

一款AI数据处理工具,主要用于用于查询 Massive 市场数据端点的 Bash CLI 封装和 OpenClaw 技能,适用于 Codex 或 OpenClaw 代理从 shell 调用,适合需要提升相关任务效率的用户。

下载

使用 %fromhost-ip% 替代 %hostname% 模板变量

所有日志写入规则中,避免使用 %hostname% 或 %fromhost% —— 它们会触发 DNS 查询。改用 %fromhost-ip%,它始终输出原始 IPv4/IPv6 地址,无解析开销:

  • 例如,将原规则:*.* /var/log/remote/%HOSTNAME%/app.log
  • 改为:template(name="ByIP" type="string" string="/var/log/remote/%fromhost-ip%/app.log")
    *.* ?ByIP

确认 imtcp/imudp 模块不启用 DNS 相关选项

现代 rsyslog(v8+)默认不开启反向解析,但仍需检查是否误启用了旧参数:

  • 确保配置中没有 $ModLoad imtcp 后跟 $InputTCPServerRunDNSLookup on(已废弃)或类似指令
  • 若使用 imudp,无需额外设置;imtcp 在 v8.2000+ 中默认关闭 DNS 查找,无需加 -x 参数(该参数仅适用于极老版本 syslogd)
  • 验证当前加载模块:运行 rsyslogd -N1 检查配置语法,无 “DNS” 相关警告即表示未启用

验证与兜底加固

配置生效后,需快速验证是否真正绕过 DNS:

  • 临时停掉本机及内网 DNS 服务(如 systemctl stop named 或断开 DNS 服务器网络)
  • 从另一台机器用 logger -n -P 514 -T "test no-dns" 发送 TCP 日志(-n 表示不经过本地 rsyslog,直连远端)
  • 检查服务端 /var/log/remote/ 下是否按 IP(如 192.168.5.100/)生成目录并写入日志,且无延迟
  • 抓包确认:执行 tcpdump -i any port 514 and src host 192.168.5.100 -c 2,应立刻捕获到数据包,无 DNS 查询流量

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux日志管理

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Java 网络安全
Java 网络安全

本专题聚焦 Java 在网络安全与加密通信中的应用,系统讲解常见加密算法(MD5、SHA、AES、RSA)、数字签名、HTTPS证书配置、令牌认证(JWT、OAuth2)及常见安全漏洞防护(XSS、SQL注入、CSRF)。通过实战项目(如安全登录系统、加密文件传输工具),帮助学习者掌握 Java 安全开发与加密技术的实战能力。

2025.10.13

4865

12

PHP 安全与防护
PHP 安全与防护

本专题聚焦于PHP开发中的安全问题与防御措施,详细讲解SQL注入、XSS攻击、CSRF攻击、文件包含漏洞等常见安全风险及其修复方法。通过结合实际案例,帮助开发者理解漏洞成因,掌握输入验证、会话安全、加密存储与安全编码规范,全面提升PHP网站的安全防护水平。

2025.11.04

415

21

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4150

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3513

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2733

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6690

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

6342

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3673

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

3145

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.9万人学习