EdgeRouter-X が届く前は、linux サーバ側で VPN gateway への ping を チェックして、接続時に管理者にメールが届くようにしていたけど、 新しいルータでも同様のことをやりたい。
パスワードもそれなりに長い桁にしているし、L2TP の PSK 方式で、 事前共有キーとパスワードが合わせて漏れなければ、VPN に接続できないので、 十分安全….。 とはいえ、もし破られたら…のことを考え、L2TP の利用の際に自分宛の メールが来るようにしてあれば、見覚えのない接続=侵入された…で発見できる。
EdgeRouter-X でメールを出すって、かなりいじらないとダメかとおもったけど、 ssmtp というソフトが入っていたので、意外と簡単。
(( /etc/ssmtp/ssmtp.conf )) root=postmaster mailhub=自宅のメールサーバ rewriteDomain=自宅のドメイン名 hostname=ルータのホスト名
まずは、メールサーバにメッセージを送れるように、ssmtp の設定。
(( /etc/ppp/ip-up.d/l2tpd )) #!/bin/sh # $1 Interface name ppp0 # $2 The tty ttyS1 # $3 The link speed 38400 # $4 Local IP number 12.34.56.78 # $5 Peer IP number 12.34.56.99 # $6 Optional ``ipparam'' value foo SSMTP="/usr/sbin/ssmtp" IFACE=$1 test -x $SSMTP || exit 0 case "$IFACE" in l2tp* ) echo -e "From: root@tsaitoh.net\n Subject: [ERX] interface $IFACE is UP.\n\n IP address: $4 <=> $5\nOption: $6\n" \ | $SSMTP foo@example.com ;; esac
最初、/etc/network/if-up.d/l2tp で処理を書いたけど、ダメでちょいと悩んだ。