参考資料
Logger Configuration (strongswan.org)
前提条件
- Ubuntu 16.04 (多分18.04以降も可)
- strongswan 5.x.x
TL;DR
/etc/strongswan.d/charon-logging.conf
に以下の設定を書いて、
sudo ipsec restart
またはsudo strongswan restart
でロギング開始されます。
(コマンド名がipsec
かstrongswan
かは環境やバージョンに依存します)
複数人でVPN使用中の場合は、誰かがVPN接続してるかどうかsudo ipsec status
で調べて使用中の人に「再起動していーい?」と聞いてからstrongswanを再起動しましょう
charon {
filelog {
charon {
path = /var/log/charon.log
time_format = %b %e %T
ike_name = yes
append = no
default = 1
flush_line = yes
}
stderr {
ike = 2
knl = 3
}
}
syslog {
identifier = charon-custom
daemon {
}
auth {
default = -1
ike = 0
}
}
}
strongswanのバージョンが違うとファイルログの書き方が変わっているのでご留意の事。
charon {
filelog {
/var/log/charon.log {
time_format = %b %e %T
ike_name = yes
append = no
default = 1
flush_line = yes
}
}
}
保存できるログの種類
ファイルログ
- ファイルパスを指定して、ログを保存できます
- TODO: ローリングファイル名が使えるかどうか
syslog
- ご存知
/var/log/syslog
に1行ずつログが書き込まれます -
identifier = charon-custom
で指定した名前(この場合はcharon-custom
)がログに書き込まれます -
less /var/log/syslog
でログを見ましょう
書き込み権限について
ファイルログについては、strongswan
(ipsec
)を実行してるプロセスの権限が、
ファイル書き込み先ディレクトリに合わなければ、出力されないはずです。
権限に関わらず、一旦ファイルログの出力を見たいだけであれば、/tmp/charon.log
のように/tmp
ディレクトリ指定をお勧めします。
(誰でも書き込めるディレクトリ=ログの改竄が簡単でもあるので、VPN接続ログの出力先は、権限を限定しておいた方が良いです)
syslogについては、権限設定せずとも書かれるはずです。
(はず→まだ検証してないので自信が無い表現)
LogLevel
について
普段使うLogLevel
は0
か1
がお勧めです。数値が大きくなるほど、ログ出力量が増えます。
-
-1
: ログ出力しない -
0
: 最低限のログ -
1
: 少し詳しいログ -
2
~4
: デバッグ、調査用のログ
メモ
- strongswan公式サイトの仕様記述は、バージョン毎の違いの細かさが分かりにくい事が多いので困る
(行間を読む必要がある場合も多め)