EdgeOS を ver. 2.0.9 と l2tp-client が有効にならない備忘録

Photo by hyt.

EdgeOS を ver. 2.0.9 と l2tp-client が有効にならない備忘録です.

まず,結論ですが,

ver. 2.0.9 自体は安定して動いてはいます.しかし,新機能の L2TP VPN Client 機能がうまく動いてくれない……

状態です.私の環境が悪いのか設定がまずいのか良くわかりませんが,試したことを記しておきたいと思います.

ファームウェアのアップデート

ファームウェアとそのリリースノートは Ubiquiti のサイト

から参照できますが,今回は bug fix(かなり大量です)だけじゃなくて,以下の機能追加が行われていました.

  • WebGUI にファームウェアの通知とアップグレード用のボタンが用意された.
  • クラッシュ・トラフィックレポートの通知が初期状態では無効化された.
  • WebGUI にFactory Reset ボタンが 用意された.
  • Firmware の容量が削減された.
  • パフォーマンスが少し改善した.
  • L2TP VPN Client になれるようになった.

結構深刻な bug がいくつも修正されていますのでアップデートしないという選択肢はないと思います.実際のアップデートですが,前回

EdgeOS を ver. 2.0.8 にアップデートした備忘...

と同様,CLI からアップデートを行いました.WebGUIからアップデートもできますが,特にER-Xはストレージ容量に余裕がないので,CLIからストレージ容量をチェックしながらアップデートが実際 Ubiquiti からも推奨されています.

L2TP VPN Client 機能について

さて,今回のアップデートで付け加わった L2TP VPN Client 機能ですが,これはかなり珍しい機能なんじゃないかなと思います.実際,EdgeOS の(多分)元であろう VyOS にもこんな機能今のところ見当たりません.

以前から,EdgeOS には PPTP Client になれる機能はあるのは知っていて,実際試してみたことがありましたが,安定性に問題があったのと,いまだと PPTP はセキュリティ的な心配があったので,実用性については今ひとつだと判断していました.

しかし,今回は L2TP/ IPSec ですから,(速度はともかく)セキュリティ的にはそれなりな訳で,安定して使えるようなら面白そう,ということで試してみた訳ですが,いまのところ,

うまくいっていません.

試したことは以下の通りです.

L2TP VPN Client 機能の設定

実はいろいろ試してから気がついたのですが,設定方法自体は,Ubiquiti の Community の掲示板に投稿されている ver 2.0.9 のリリース概要に載せられていました.

まず,L2TP VPN Client のインターフェース l2tpc0 を以下の通り作成します.もちろん server-ip と user-id, password の値を自分の接続する L2TP Server のものに合わせなければなりません.

なお,設定としては,暗号化なし(IPSec なし)の L2TP 接続にも対応しているようです(暗号化なしは危険だとの警告は出る).

次に,L2TP の通信を行う IPSec トンネルの設定を行います.

注意点としては,tranport モードでなければならないこと,あと,IKE と ESP の暗号化とハッシュの方式を接続先 L2TP Server が対応しているものに合わせなければならないことです.また,事前共有キーと site-to-site peer の部分にある接続先アドレスも自分の接続する L2TP Server のものにしておく必要があります.

なお,接続先 L2TP Server が対応しているIKEの暗号化の方式等については,ike-scan コマンドを用いて調べることができます(macOS だと brew install ike-scan とするだけで入る).対応方式をまとめて調べる方法については以下のページがわかりやすいと思います.

また,ファイアーウォールの内側から接続する場合は,さらに,

の設定や,パケットに connmark を追加する設定

も必要になってくるハズ……なのですが,どうにもうまくいきません.

いろいろ調べてみたところ,とりあえず,IPSec で IKE の(show vpn ipsec sa を見たり,sudo ipsec status の表示をみると)鍵交換はできているっぽい.しかし,L2TP Client インターフェース l2tpc0 がクラッシュしますし,そもそも Ubiquiti が指示している connmark の追加設定も L2TP の設定が出来ていないと出て有効化できません.

試しに,IPSec なしの L2TP 接続も試してみましたが,これもすぐにインターフェースがクラッシュしてしまいます.

他にもいろいろ試しましたが,正直,どうにも良く分からない.

まぁ,それ以前のそもそも論として,この機能,異様にハードルが高いです.一般的なクライアント OS の L2TP/IPSec 接続だと,ユーザー名とパスワードと事前共有鍵と接続先名入れれば(オプションで暗号化の方式を選ぶ等のことはあっても)良い形になっています.しかし,EdgeOS の場合は,IPSec のトンネルの設定と L2TP の設定を全く別のところで行わなければならず,はじめ見た時は,どこで事前共有鍵の設定をするのかも全くわかりませんでした.

まぁ,ルーターなので,利用者は L2TP/IPSec の仕組みくらいはキチンと把握しているとの前提で設計されているんでしょうね.確かに L2TP/IPSec がどんなものかの勉強にはなりました.

と言うことで,残念ですが,EdgeOS のこの機能,しばらく放置して,ファームウェアの次回アップデート時にでももう一度試してみたいと思います.

以上!

スポンサーリンク
large rectangle advertisement
スポンサーリンク
large rectangle advertisement