2023/08/03

RouterOSの新機能「BTH」を使う

 ## 概要

RouterOSのTestingリリースで「Back-to-Home(BTH)」という機能が追加されました。

https://help.mikrotik.com/docs/display/ROS/Back+To+Home

これはWireguardというVPN方式を利用したシステムで、2~3行のコマンドを投入するだけでサクッとVPN環境を作るものです。

このVPNはNAT越えも可能で、お互いにインターネットへの相通性があればFW配下でもWireguardでVPNをつなぐことが出来ます。

また、Android用のクライアントアプリが提供されており、スマートフォンから簡単にMikrotikルータへリモート/VPN接続出来るようになります。


この機能、使い方によってはかなり危険で、既設のMikrotikルータで勝手に有効化されると重大なバックドアになってしまいます。

絶対に秘密鍵が外部に漏れないことを前提に運用しましょう。

というか脆弱性を真っ先に解析されそうな機能なのでお気持ち的にあまり本番運用したくない機能です。。。

そもそもまだベータ版のためあくまでお遊び、検証用途での利用をお勧めします。


## 使ってみる

はじめに、Mikrotikルータを7.11rc1 Testing以降にアップデートしてください。

https://mikrotik.com/download


アップデートするとBTH機能が使えるようになります。

以降WinBOXでの設定方法を記載します(まあ既にRBUGさんがやってますが…)。

・左メニューからIP>Cloudを選択

・DDNS Enable、Update timeにチェックをいれ、右のApplyをクリック



・BTH VPNのタブへ移動し、enableを選択後Applyをクリック


すると、Wireguardの設定が自動投入されサーバが立ち上がります。


## クライアント側(Android)の設定

AndroidスマホにMikrotikのVPNアプリをインストールします。

VPNの設定を反映するために権限を求められますので、許可してください。

※スマートフォンは上で設定したMikrotikルータと同じNWに接続してください。

アプリを立ちあげ、トンネルの設定をします。


画像のAdd tunnelをタップしプライベートNW内にいるMikrotikルータのIPアドレスとID/Passwordを入力してください。



次にDescriptionを設定します。自分で分かりやすい名前にしましょう。


中央に電源ボタンがあるのでそこをタップすると接続が始まります。



初回だけ同NW内でルータに接続すれば、それ以降は外部NWからも接続できるようになります。

※おそらく初回は権限許可を求められます。



ローカルで一度Mikrotikルータと接続することで、アプリ側でWireguardの接続に必要な情報(秘密鍵など)を自動取得してくれているのだと思います。


## 速度とか

試験環境が完全に悪いんですが、Mikrotik側を固定回線、Android側を携帯回線(au)で接続してその間の速度をiperf3で測定しました。


・上り速度

・下り速度




固定回線が300Mbps、携帯回線が40Mbpsほど出ている時間でしたが上り下りともに1桁Mbpsしか出ないです。


遅延もかなり大きく、Ping値で言うと約600msecもあります。



固定回線側は1.1.1.1に向けて数msec、携帯回線で80msecほどなのでトンネリングすることでさらに増大しているのでしょう。


携帯回線が大きく足を引っ張っているのでしょうが、常用するには厳しい遅さですね…


## まとめ

機能としてはセットアップがめちゃめちゃ簡単なお手頃VPNといった感じ。

今回はAndroidスマホだけ接続しましたが、VPN自体はWireguardの機能をそのまま利用しているため対応端末であれば様々な端末を接続することが出来ます。

まだ実装中っぽいですが、接続情報の埋め込まれたQRコードを発行することもできます。

Back-To-Homeという名前は「簡単におうち用VPNを建てれるよ!≒どこにいてもおうちに帰れるよ!」というような意味なんですかね。

外出先からおうち環境にリモートアクセスする方法はいろいろありますが、選択肢(もしくは冗長系の1つ)としてはアリかなあと思います。


間違ってもよい子の皆さんは会社NWに接続されたMikrotikに本機能を勝手に入れないように。

0 件のコメント:

コメントを投稿