はじめに
ご無沙汰しております。
色々と元気が出ていなかった間にもRouterOSはバージョンが重ねられており、気が付いたらバージョンは7.11が迫っています。
現在、7.11の正式リリースに向けて執筆時点でbeta6が公開されているのですが、この中で気になる更新点が。
更新内容
*) bth - added "Back To Home" VPN service for ARM, ARM64 and TILE devices;
VPNサービスとして「Back To Home」という機能がARM、ARM64、TILEなRouterboardを対象に実装されたとのこと。
どういうことかなと思い公式ドキュメントを確認したところ、既に該当のページが作成されていました。
公式ドキュメント
Back To Homeは便利な機能で、ルーターにパブリックIPアドレスがなく、NATやファイアウォールの背後にある場合でも、世界中のどこからでもルーターとネットワークに安全にVPNアクセスできるようにデバイスを設定します。
設定は手動で行うことも、MikroTik VPNコンパニオンアプリ(Android、iPhone(近日公開予定))を使って行うこともできます。
VPNサーバー(ご自宅のルーター)にパブリックIPアドレスがある場合、VPNアプリは携帯電話とルーターの間に直接VPN接続を作成します。しかし、ルーターがインターネットから直接到達できない場合、接続はMikroTikリレーサーバーを経由して行われます。接続は常にエンドツーエンドで暗号化され、リレーサーバーや他のデバイスが暗号化キーにアクセスすることはありません。接続はリレーからではなく、ルーターから出ているように見えます。リレーを経由する場合、速度が制限される可能性があります。
この機能は、利用できないコンテンツがある場所から、ホームネットワークにアクセスしたり、自国で利用可能なコンテンツを閲覧したりするのに便利なオプションです。匿名性のためではなく、ご自宅のネットワークにワンクリックでアクセスするためのものです。より詳細なセキュリティ制御を行うには、RouterOSの高度なオプションを使用してVPN接続を手動で設定し、保護することをお勧めします。
https://help.mikrotik.com/docs/display/ROS/Back+To+Home
/ip/cloud つまるところ、RouterOSのDDNS機能を拡張し、さらにWireGuardを使用することで簡単にVPN環境を作成、設定できるようになる機能のようです。
しかも対象のRBはパブリックになくてもリレーサーバー経由で内部に接続できたりも出来るとのこと。
実際にやってみた
CLIの場合
1. ルーターに接続する
2. DDNSクラウドサービスを有効にする: `/ip/cloud/set ddns-enabled=yes`
3. Back To Home を有効にする: `/ip/cloud/set back-to-home-vpn=enabled`
4. トンネルの設定を表示する: `/ip/cloud/print`
5. QR コード (`vpn-wireguard-client-config-qrcode`) をスキャンするか、設定 (`vpn-wireguard-client-config`) をコピーして、優先する WireGuard® クライアントに入力します。この設定を使用できるクライアントは一度に1つだけです。
winboxの場合
1.winboxで対象のRBにログインする
2.IP > Cloud に遷移する
3.「BTH VPN」タブをクリックし、[Back To Home VPN] のenabledにチェックを入れる
4.パラメータが設定されることを確認する。
うまくいっていると、WireGuardのInterfaceや、IPのNATなどにもパラメータが自動設定されていることを確認出来ます。
難点
公式ドキュメントにあるとおり、ここで生成されたクライアント情報をコピーアンドペースト、または生成されたQRコードをスキャンすれば良いのですが、まだとりあえずと言った形なのか、ちょっとイケている感じがしません。
winboxの場合は以下の通りのようで、QRコードはスキャンできる状態ではありませんし、client configもコピーアンドペースト出来ません。あと、なぜかDNSが8.8.8.8の決め打ちです。まあDNSについてはwireguardクライアントに設定する段階で編集を行えば良いのですが。
/ip/cloud/print
の結果の場合は、WireGuard client configはコピーアンドペースト出来るかも知れませんが、QRコードについては生成されて読めることは読めるのですが、なぜか表示される大きさが調整されず大きいままです。
専用アプリも用意される模様
これも公式ドキュメントにあるのですが、AndroidとiOSには専用のアプリケーションが用意されるようです。Androidについては既に公開済みで、iOSについてはcoming soonになっています。
使い方についてもかなりシンプルに出来ており、
https://help.mikrotik.com/docs/display/ROS/Back+To+Home
- ルーターのWi-Fiに接続します;
- MikroTik VPNアプリケーションを開く;
- 一番下のシートを開きます;
- Add Tunnel “をタップ;
- ルーターのIPアドレス、ユーザー名、パスワードを入力し、”Connect “をタップします;
- トンネルに名前を付け、オプションでDNSサーバーのアドレスを入力し、”Create tunnel “をタップします;
- ルーターのWi-Fiを切断し、他のネットワークに接続することができます;
- 電源ボタンをタップすると、選択したトンネルの接続が切り替わります。
これを行うことで、WireGuardのpeerにAndroidからの接続設定が挿入されます。
使用した際のスクリーンショットは以下の感じです。
こっちは中々に良いんじゃないでしょうか?
最後に
相変わらず、基本機能については公式フォーラムでボコボコに叩かれている感じではありますが、今回のこの機能実装は良い感じなんじゃないでしょうか。