Rsyslog 使用原始源 IP 通过 TLS 进行转发

Rsyslog 使用原始源 IP 通过 TLS 进行转发

我正在尝试通过 TLS 将所有系统日志消息从我们的环境转发到外部系统日志服务器(目标.syslog.example.com) 使用 rsyslog。不幸的是,源 IP 已更改为中继主机的 IP(fwd.syslog.example.com)。我希望它在遵守格式的情况下,发送原始源IP而不是中继主机的IP RSYSLOG_SyslogProtocol23Format

当前 rsyslog 配置与通过 TLS 转发 syslog 消息相关:

$DefaultNetstreamDriverCAFile /etc/pki/tls/private/ca.crt
# Run driver in TLS mode
$DefaultNetstreamDriver gtls
$ActionSendStreamDriverMode 1
$ActionSendStreamDriverAuthMode x509/name

$ActionSendStreamDriverPermittedPeer dest.syslog.example.com
$LocalHostName fwd.syslog.example.com
# Forward logging
*.* @@(o)dest.syslog.example.com:6514;RSYSLOG_SyslogProtocol23Format

是否可以修改fromhost-ip为原始源IP?

答案1

我不确定这是否足够,但内置模板RSYSLOG_SyslogProtocol23Format定义为

"<%PRI%>1 %TIMESTAMP:::date-rfc3339% %HOSTNAME% %APP-NAME% 
 %PROCID% %MSGID% %STRUCTURED-DATA% %msg%\n"

你也可以HOSTNAMEfromhost或替换fromhost-ip

template(name="myFormat" type="string"
   string="<%PRI%>1 %TIMESTAMP:::date-rfc3339% %fromhost% %APP-NAME% %PROCID% %MSGID% %STRUCTURED-DATA% %msg%\n")
*.* @@(o)dest.syslog.example.com:6514;myFormat

相关内容