(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Vyatta】VRRP構成でリモートサーバにSyslog転送を行う際の注意点

スポンサーリンク

はじめに

VRRPによる冗長構成が有効な場合に

Syslog転送を行うと、送信元のIPアドレスに気をつける必要がある点を実機で確認しました。

環境情報
  • Debian 4.19.150-0vyatta1

Vyatta側の設定

Vyattaでは以下構文でSyslog転送の設定ができるので

#  set system syslog host <address> facility <keyword> level <keyword>

ファシリティは all とした上で対象を警告以上とするように設定をしました。

# set system syslog host 10.X.X.X facility all level warning
[edit]
# compare
[edit system syslog]
+host 10.X.X.X {
+       facility all {
+               level warning
+       }
+}
[edit]

こうするとことで設定ファイルに定義が入るので

$ cat /etc/rsyslog.d/vyatta-log.conf
...
*.warning action( Type="omfwd" Target="10.X.X.X" Protocol="udp" Port="514" Template="SystemdUnitTemplate" )

サーバ側にて受け入れ準備ができているとリモートサーバ側にVyattaのログが表示されます。
ただし、yattaのFWで弾かれる場合は

... vyatta-dataplane.service dataplane[4550]: In:dp0bond0.X DROP fw rule XX-IN:10000 proto=(icmp/1) addr=10.X.X.X->... v4=(len:213,ttl:64,tos:C0,ecn:Not,prot:1,hl:5) icmp=(Err,type:3,code:3) >TRIGGER> proto=(udp/17) addr=...->10.X.X.X port=44984->514 v4=(len:185,ttl:64,tos:00,ecn:Not,prot:17,hl:5) udp=(len:165)

Vyatta側に以下ログが出るので通信許可設定が必要です。

Syslog受信サーバ側の設定

rsyslogの設定ファイルにVyatta側のIPを指定することで個別のファイルに分けることができますが

:fromhost-ip, isequal, "X.X.X.X"  /var/log/vyatta.log

VRRPを採用している場合は注意が必要です。というのも、該当のVyattaがMasterかBackupかによって送信元IPが変わります。

パケットキャプチャを取るとInternet Protocolの部分で送信元と送信先のIPが表示されますが、Master状態での送信元IPはVIFとしてMasterとBackupで付替が行われるIPとなります。

一方でBackup側となると各Vyattaに固有のインターフェースのIPアドレスが送信元となるため、受信サーバ側では以下のような設定を入れる形となります。

:fromhost-ip, isequal, "X.X.X.X" /var/log/vyatta.log #Master1,2用
:fromhost-ip, isequal, "X.X.X.X" /var/log/vyatta.log #Backup1用
:fromhost-ip, isequal, "X.X.X.X" /var/log/vyatta.log #Backup2用

終わりに

VRRP構成の場合、サーバ側で受け取る送信元IPがMaster/Backupで異なる点は抑えて置く必要があります。

以上、ご参考になれば幸いです。