Ssl
使用 TLS 上的原始源 IP 轉發 Rsyslog
我正在嘗試使用 rsyslog 通過 TLS 將所有 syslog 消息從我們的環境轉發到外部 syslog 伺服器(dest.syslog.example.com)。不幸的是,源 IP 已更改為中繼主機 ( fwd.syslog.example.com ) 的源 IP。我希望它在遵守
RSYSLOG_SyslogProtocol23Format
格式的同時發送原始源 IP 而不是中繼主機的 IP。與通過 TLS 轉發 syslog 消息相關的目前 rsyslog 配置:
$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?
我不確定這是否足夠,但內置模板
RSYSLOG_SyslogProtocol23Format
定義為"<%PRI%>1 %TIMESTAMP:::date-rfc3339% %HOSTNAME% %APP-NAME% %PROCID% %MSGID% %STRUCTURED-DATA% %msg%\n"
你可以用
HOSTNAME
orfromhost
替換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