Ubuntu の VPN(L2TP/IPsec)で接続/切断したユーザーや接続元IPアドレスの確認方法

スポンサーリンク

Ubuntu の VPN(L2TP/IPsec)で、ログからユーザのVPN接続/切断や、接続元IPアドレスを確認する方法です。
なお、VPNのユーザー認証は、Linuxアカウントで認証する設定になっていることが必要です。

UbuntuでのVPN(L2TP/IPsec)サーバで、Linuxアカウントで認証する: パソコン鳥のブログ

auth.log による確認

VPN接続/切断時のユーザー名と時間がわかります。
接続元のIPアドレスはわかりません。(後述のsyslog による確認が必要です)

下記のようにログ出力されています。(時刻の表示は省略しています)
XXXXX の箇所がユーザー名です。

接続時
pppd[19279]: pam_unix(ppp:session): session opened for user XXXXX by (uid=0)
切断時
pppd[19279]: pam_unix(ppp:session): session closed for user XXXXX

syslog による確認

VPN接続/切断時のユーザー名と時間、接続元のIPアドレスがわかります。
ただし、これらのログは複数行に分かれているので、面倒です。

接続時

下記のようにログ出力されています。(時刻の表示は省略しています)
XX.XX.XX.XXは接続元IPです。
PPPP の箇所は数値が表示されます。

xl2tpd[10003]: Call established with XX.XX.XX.XX, PID: PPPP, Local: 44918, Remote: 1, Serial: 0

接続元IPは分かりますが、ここからユーザ名を取得するには、PID: PPPP の PPPP の数値を含む、pppd[PPPP] の行を探します。

例えば、PID: 15072 だったら、pppd[15072] を含む次のような行を探します。
XXXXX がユーザー名になります。

pppd[15072]: user XXXXX logged in on tty  intf ppp0

次のような行の YY.YY.YY.YY はクライアントPCに振られたIPアドレスです。

pppd[15072]: remote IP address YY.YY.YY.YY

切断時

接続時の PID: PPPP に対応する切断時のログは、下記のようにログ出力されています。(時刻の表示は省略しています)
PPPP の数値を含む、pppd[PPPP] の行です。

例えば、PID: 15072 だったら、pppd[15072] を含む次のような行を探します。

pppd[15072]: Connect time 18.5 minutes.
pppd[15072]: Connection terminated.

なお、切断時のログの行にはユーザー名は含まれていないので、対応する接続時のログの行からユーザー名を取得する必要があります。

コメント

タイトルとURLをコピーしました