外出先からでも自宅のネットワークに接続してファイルサーバーを使ったり管理パネルを操作したりしたい・・・
という場合には自宅側にVPNサーバーを構築し外出先のVPNクライアントから接続できる、という環境を構築しますね。
こんな場合にGL.iNetトラベルルーターで重宝されるのが「OpenVPN」「WireGuard」のサーバー機能/クライアント機能です。
どちらも高機能なのですが、今なら最新プロトコルのWireGuardを使うべきでしょう。
ですが、自宅回線環境がIPv4 over IPv6だと自宅ルーター側に付与されるIPv4アドレスが完全なIPv4アドレスではないため、なかなかうまくVPNサーバーが動きません。
こんな時に便利なのが最近話題のVPNソリューション「Tailscale(テイルスケール)」です。
この記事ではGL.iNetトラベルルーター「GL-AXT1800(Slate AX)」で提供されるアプリケーション「tailscale」を使ってVPNサーバー環境をサクッと構築してみます。
やりたいこと
この記事でやりたいことを先に書いておきます。
「やりたいこと」であり、またTailscaleで実現できること、ということになります。
外出先から自宅のネットワークを使いたい
「外出先から自宅のファイルサーバーにアクセスしたい」とかそんな小さいことがやりたいわけではありません。
「外出先から自宅のネットワークに接続したい」「自宅と同じ環境を外出先でも使いたい」という壮大なテーマでやります。
マシン名・IPアドレスもいつものやつを使いたい
自宅ネットワーク内へのアクセスもいつものマシン名やIPアドレスで接続したいです。
いつもと違うマシン名・IPアドレスだと覚えきれませんから。
自宅回線がIPv4 over IPv6でも使いたい
IPv4 over IPv6ではWAN側に付与されるIPv4アドレスは不完全なIPv4アドレスであり、VPNサーバーを構築する場合は何かと面倒です。
もちろん最新のWireGuardなどのVPNはIPv6にも対応しているのですが、それだと外出先環境がIPv4環境の場合に利用できません。
この問題を解決する方法はいくつかあるのですが、どれもちょっと面倒です。
今回は我が家の回線環境である楽天ひかりのクロスパス(DS-Lite)環境を使って、外出先環境がIPv4でもIPv6でも接続できるようにしたいです。
本記事の前提条件
本記事での前提条件を明記しておきます。
GL.iNetトラベルルーター「GL-AXT1800(Slate AX)」
使用するGL.iNetトラベルルーターは「GL-AX1800(Slate AX)」です。
理由は「私が所有しているGL.iNetトラベルルーターの中で最新機種」だからです。
すでに旧機種となってしまいました。
最新機種は有線2.5GbE対応の「GL-MT3000(Beryl AX)」です。
しかし、ルーターやスイッチングハブなどでは2.5GbE/10GbE対応製品はよく不具合も出ているようです。
よって最新機種「GL-MT3000(Beryl AX)」よりも「GL-AXT1800(Slate AX)」のほうが安定動作するのでは?と期待しています。
ファームウェアバージョン4.2.3
ファームウェアバージョン4.2.3で検証しています。
※記事執筆時点での最新版
それ以外の(古い)ファームウェアでも動作しますがファームウェアバージョンが異なると画面構成や用語(日本語訳含めて)が異なる部分が出てきます。
ファームウェアバージョン4.0.0でも本記事記載の手順で(一応)動作したので古くても大丈夫だとは思いますが、一応「ファームウェア4.2.3で検証しています」ということです。
また、ファームウェアバージョンに加えて「ファームウェアが初期化されている」ことを前提としています。
管理パネル(Admin Panel)メニューの「システム > ファームウェアをリセットする」からファームウェアを初期化しておいてください。
ネットワーク環境
我が家の回線環境は楽天ひかりのクロスパス(DS-Lite)接続環境です。
楽天ひかりではIPv4 over IPV6のクロスパスと従来の通信方式であるIPv4/PPPoEを提供していますが、今回はクロスパス(DS-Lite)を使います。
なお、GL.iNetトラベルルーターでDS-Lite(クロスパス)を使うための設定については以下の記事を参考にしてみてください。
また、動作確認用の回線(外出先を想定)として別途「NTTドコモhome5G」のホームルーター回線を利用します。
回線環境は何でもよい
我が家の環境は上記の通りですが、この記事の対象者の回線環境は何でも構いません。
従来のIPv4/PPPoEはもちろんのことMAP-eのv6プラス/OCNバーチャルコネクトやDS-LiteのTransix/v6connectなど、さらにはスマホのテザリング回線でも構いません。
また、同様に動作確認用の別回線(tailscaleクライアント)もパソコンとスマホのテザリングでもスマホ単体でもかまいません。
どんな回線環境でもサクッと繋がってしまうのがtailscaleの魅力なので!
事前にtailscaleにアカウント登録しておく
本題となるGL.iNetトラベルルーターの設定を行う前にtailscaleの利用登録およびGL.iNetトラベルルーターへクライアントとして接続するクライアント環境を作っておきましょう。
tailscaleの登録は(もちろん)無料、Googleアカウントなどですぐに利用登録が完了します。
また、外出先想定(VPNクライアント)となるパソコンやスマホへのtailscaleのアプリケーション登録もやっておきましょう。
Tailscaleへの利用登録
まずtailscaleサービスへログインします。
tailscaleは以下のアカウントで利用することができます。
- Googleアカウント
- Microsoftアカウント
- GitHubアカウント
- Appleアカウント
- OIDC(OpenID)アカウント
「Zero Trust」というやつであり、tailscaleでは利用者の個人情報を一切保持しません。
お好きなアカウントでtailscale登録を行い、無事利用者登録が完了したら「tailscale Admin Console」が表示されます。
利用者登録が完了したら「tailscale Admin Console」の「Download tailscale」リンクからtailscaleアプリケーションをダウンロードできます。
VPNクライアントを登録しておこう
tailscaleへの利用者登録が完了したらついでにクライアントアプリケーションをダウンロード・インストールしておきましょう。
これは本記事本題である「自宅ルーター環境の構築」のためではなく、その自宅ルーターへ外出先から接続するクライアント環境の構築作業です。
tailscaleアプリのダウンロード
アカウント登録したら次は登録するデバイス用のアプリをダウンロードしインストールします。
tailscale dwonload | tailscale
以下のデバイスに対応しています。
- macOS
- iOS(iPhone/iPad)
- Windows
- Linux
- Android
スマホアプリ(Android/iOS)はQRコード読み取りでインストールできます。
macOS/Windowsはアプリをダウンロード後にインストールします。
Linuxはさらにディストリビューションごとに細かく分かれており、主要なディストリビューションに加えて「Raspberry Pi」でも使うことができます。
ここではWindows版をダウンロードしインストールします。
tailscaleアプリのインストール
Windowsの場合、ダウンロードしたファイルを実行しインストールします。
インストールが完了するとタスクトレイにtailscaleアプリのアイコンが表示されます。
アイコンを右クリックしてメニューから「Login」をクリックします。
「Login」することで、アプリをインストールしたデバイス(今回はWindows10パソコン)をtailscaleへデバイス登録します。
tailscaleへのデバイス登録
ブラウザが起動しtailscale Admin Consoleへのログイン画面が表示されるので、利用者登録を行ったアカウントでログインします。
私はGoogleアカウントで登録したので「Sign with Google」でログインします。
アプリをインストールデバイス(今回はWindows10パソコン)とログインアカウントの関連付け確認がされるので「Connect」で関連付けを完了します。
関連付けが完了すると自動的に「tailscale Admin Console」が表示されます。
tailscale Admin Console上にデバイスが一台登録されました。
tailscaleは無料プランでも最大100台までのデバイスを利用登録できます。
「これも外出先から自宅へつなぎたいかもしれないけどよくわからないしどうしようかなやめておこうかな・・・」という場合でもとりあえず登録しておくとよいかもしれません。
これで外出先で使う環境(tailscaleクライアント)は出来上がりです。
GL.iNetトラベルルーターをtailscaleへ登録
クライアント(外出先パソコン)の環境はできあがりました。
ではVPNサーバーとなるGL.iNetトラベルルーター「GL-AX1800(Slate AX)」側の設定とtailscaleへのデバイス登録を行っていきます。
GL.iNetトラベルルーターのtailscale登録作業としては大きく「管理パネル(Admin Panel)」での設定作業と、そのtailscale Admin Console(tailscale管理画面)でのデバイス登録に分かれます。
管理パネル(Admin Panel)でtailscale有効化
管理パネル(Admin Panel)「アプリケーション > Tailscale」からtailscaleを有効化します。
以下を設定して「適用する」ボタン押下。
- 「有効にするtailscale」をオン(右へスライド)
- 「リモートアクセスWANを許可する」をオフ(左へスライド)
- 「リモートアクセスLANを許可する」をオン(右へスライド)
以上でGL.iNetトラベルルーター側でのtailscale環境設定は完了です。
tailscaleへデバイス登録
GL.iNetトラベルルーターで環境設定したデバイス(トラベルルーター)をtailscaleへデバイス登録します。
GL.iNetトラベルルーター側での環境設定が完了すると、以下のような画面が表示されます。
この画面で「The Device Bind Link」というリンクが表示されるので、このリンクをクリックします。
上記のようなポップアップ画面に「デバイスとtailscaleの関連付け」を行うためのリンクが表示されます。
これをクリックして「デバイスをtailscale Admin Consoleへ登録」します。
tailscale Admin Consoleでのデバイス登録
GL.iNetトラベルルーターの「管理パネル(Admin Panel)」からブラウザが起動され、tailscaleログイン画面が開いています。
ここからはtailscaleの管理画面である「tailscale Admin Console」を使ってデバイス(GL.iNetトラベルルーター)の登録と設定を行っていきます。
デバイス(GL.iNetトラベルルーター)をtailscaleへ登録
tailscale Admin Consoleへのログイン画面が表示されるので利用者登録の環境でログインします。
ログインが完了するとこの時点でデバイス(GL.iNetトラベルルーター)登録が完了です。
我が家のGL.iNetトラベルルーターのマシン名は初期値では「GL-AXT1800」となっており、このマシン名でtailscaleへ登録されたことが表示されます。
「Connect」ボタンを押下するとtailscale Admin Consoleへ接続され、無事GL.iNetトラベルルーターが登録されました。
登録完了するとtailscale Admin Console画面へ遷移します。
tailscale Admin Consoleの見方
tailscale Admin Consoleでは、先に登録したクライアント環境と合わせて2台のデバイスが登録されているのがわかります。
左端はtailscale上での「登録マシン名」です(変更も可能です)。
中央はtailscaleネットワーク上でのIPアドレスになります。マシン登録を解除(Remove)するまでは同一IPアドレスとなります。
tailscaleのVPNネットワーク内においては、「登録マシン名」または「tailscaleのIPアドレス」での通信が基本となります。
右端は登録マシンの設定変更メニュー「…」です。
ここまでの作業により、上記2台のデバイスはtailscaleによりPeer-to-Peer型のVPNとして相互接続されている状態です。
上記の「マシン名」や「tailscale IPアドレス」を使って自由に通信できる状態になっています。
自宅ネットワークを「Subnet routes」として登録
ここまでの作業で2台のデバイスは相互にVPN接続されている状態になっており、すでにデバイス間通信が可能です。
これに加え、GL.iNetトラベルルーター(マシン名GL-AX1800)を「Subnet routes」として登録していきます。
「Subnet routesを有効化」とは、tailscaleへ自宅ネットワークを丸ごと登録する、というイメージです。
「Subnet routesを有効化」することで自宅ネットワーク(我が家のネットワークは初期値で192.168.8.0/24)がそのまま丸ごとtailscaleのVPN網に組み込まれる、という仕組みです。
つまり、tailscale VPNを使った通信網の中で自宅ネットワークである「192.168.8.0/24」をそのまま使える、という何とも理解しがたい機能です。
「Subnet routes」を有効化するデバイスは自宅ルーターである「GL.iNetトラベルルーター」です。
tailscaleへは「GL-AXT1800」の名前でデバイス登録されています。
この「GL-AXT1800」の右の「…」マークから「Edit route settings…」を選びます。
「Subnet routes」のスイッチをオン(右へスライド)し、「Subnet routes」を有効化します。
以上で「Subnet routesの有効化」は完了です。
自宅ルーター(GL-AXT1800)を「Subnet routes」として登録したことで、もう一台のクライアントは外出先からでも「192.168.8.0/24」のネットワーク端末として自宅ネットワークに接続することができるようになりました。
※もちろんtailscale IPアドレス(100.***.***.***)での接続も可能です。
tailscale VPN環境の疎通確認
tailscaleの環境構築が完了しました。
「デバイスの環境構築(アプリのインストール)」と「tailscaleへの登録(Admin Console)」が完了した、ということです。
現在のtailscale Admin Consoleでは以下のようなVPN環境になっています。
2台のデバイスがtailscale VPNデバイスとして登録されています。
そのうち自宅ルーターである「GL-AXT1800」は「Subnet routes」が有効化されています。
登録マシン名 | 用途 | 回線環境 |
---|---|---|
GL-AXT1800 | 自宅ルーター | 楽天ひかり ※クロスパス接続 |
windows10 | Windows10 PC | NTTドコモ「home5G」回線 ※SPモード回線接続 |
そして、現在は確認のために「自宅ルーター(GL-AXT1800)は楽天ひかり回線(クロスパス)」「外出先パソコン(windows10)はNTTドコモhome5G回線(spモード回線)」という回線環境です。
また、自宅ネットワーク(GL-AXT1800配下)にはtailscaleへは登録していないwindowsパソコンが一台あります。
tailscale IPアドレスで疎通確認
まずはtailscaleの基本である「tailscaleから付与されたIPアドレス」でVPN内の疎通確認をしてみます。
外出先から自宅へtailscale IPで接続
tailscale IPアドレスを使って外出先パソコンから自宅ルーターの管理画面へ接続してみます。
いつも簡単に「管理パネル(Admin Panel)」へ接続することができました。
自宅クライアントから外出先PCへtailscale IPで接続
自宅ネットワークにはGL-AXT1800に接続されたWindows PCが1台あります(IP:192.168.8.216)。
このパソコンはtailscaleへデバイス登録していません。
このパソコンから外出先Windows10へtailscale IPアドレスでPINGを打ってみます。
C:\ping 100.***.***.129
100.***.***.129 に ping を送信しています 32 バイトのデータ:
100.***.***.129 に ping を送信しています 32 バイトのデータ:
100.***.***.129 からの応答: バイト数 = 32 時間 = 45ms TTL=127
100.***.***.129 からの応答: バイト数 = 32 時間 = 36ms TTL=127
100.***.***.129 からの応答: バイト数 = 32 時間 = 36ms TTL=127
100.***.***.129 からの応答: バイト数 = 32 時間 = 36ms TTL=127
100.***.***.129 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間(ミリ秒):
最少 = 36ms、最大 = 45ms、平均 = 38ms
C:\
このように、tailscaleに登録されていない自宅パソコンからもtailscale IPアドレスを使って外出先パソコンへ通信することができます。
自宅のいつものIPアドレスで疎通確認
次に、こちらが本題の「いつものIPアドレスでVPN内の疎通確認」を行ってみます。
「いつものIPアドレス」とは自宅ネットワークである「192.168.8.0/24」のことです。
※tailscaleの「Subnet rutes」により実現している
外出先からいつものIPで自宅ルーターへ接続
外出先パソコンから自宅ルーター(GL-AXT1800)へいつものIPアドレスで接続してみます。
自宅ルーター(GL-AXT1800)のIPアドレスは初期値の「192.168.8.1」です。
このようにtailscaleを使えば外出先からでもいつものIPアドレスで自宅ネットワークへ接続することができます。
外出先からいつものIPで自宅パソコンへ接続
自宅ネットワークにはtailscaleへ登録していないWindowsパソコンがあります(IP:192.168.8.216)。
外出先パソコンから自宅のWindowsパソコン(tailscale未登録)へいつものIPアドレスでpingを打ってみます。
C:\ping 192.168.8.216
192.168.8.216 に ping を送信しています 32 バイトのデータ:
192.168.8.216 に ping を送信しています 32 バイトのデータ:
192.168.8.216 からの応答: バイト数 = 32 時間 = 173ms TTL=127
192.168.8.216 からの応答: バイト数 = 32 時間 = 35ms TTL=127
192.168.8.216 からの応答: バイト数 = 32 時間 = 36ms TTL=127
192.168.8.216 からの応答: バイト数 = 32 時間 = 35ms TTL=127
192.168.8.216 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間(ミリ秒):
最少 = 35ms、最大 = 173ms、平均 = 69ms
C:\
このように、外出先から自宅パソコン(tailscale未登録)へ、いつものIPアドレスで通信することができます。
以上でtailscale VPNの疎通確認とします。
アプリのインストールをしただけ、Subnet routesの有効化をしただけなのにこの高機能です。
しかも注目すべきは長らく悩みの種だった「IPv4 over IPv6(今回はクロスパス)でもつながる」という点です。
「導入が簡単」「高機能」なのがtailscale VPNです。
tailscaleの機能を使いこなす
セキュリティ鍵の有効期間
tailscaleはVPNソリューションなのでその仕組みの中には当然セキュリティ鍵が存在しますが、管理者・利用者をそれを意識する必要がありません。
これがtailscaleの最大のメリットのひとつです。
しかし、VPNセキュリティ鍵の漏洩によるセキュリティ被害を回避するため、tailscaleは初期値で「セキュリティ鍵の有効期限は180日」というルールがあります。
つまり、登録デバイス単位に180日ごとに新しいセキュリティ鍵を有効化する、という管理作業が発生します。
tailscale Admin Consoleのメニュー(Disable/Enable key expiry)からこの「セキュリティ鍵の180日ルール」を無効化/有効化することができます。
tailscaleの名前解決「MagicDNS」
本記事では自宅ネットワークを丸ごとtailscaleへ登録する(Subnet routes)ことにより「いつものIPアドレスで通信」することを目的としています。
しかし、基本はtailscaleから割り当てられたtailscale IPアドレスでの通信になります。
しかし、いちいちtailscale IPアドレスを覚えていられません。
こんな時に便利なのが「MagicDNS」であり、tailscale登録デバイス名による名前解決をしてくれます。
MagicDNSを使えばtailscale VPNネットワーク内において、tailscale登録デバイス名による名前解決が可能となります。
MagicDNSを有効化する
MagicDNSの使い方は簡単で、tailscale Admin Consoleから「MagicDNSを有効化」するだけです。
tailscale Admin Consoleの「DNS」メニューから「enable MagicDNS」をクリックしてMagicDNSを有効化するだけです。
MagicDNSを有効化することでtailscaleネットワーク内をtailscale登録デバイス名で通信することができます。
ドメイン名修飾もできる
tailscaleのDNS機能ではマシン名での通信機能だけでなくドメイン名修飾もできます。
ドメイン名修飾とは「マシン名.ドメイン名」という名前になるということで、「my-machine.my-domain.com」みたいな名前で使えるということです。
通常自分のアカウント内でのtailscale VPNネットワークは同一ドメインとなるためマシン名だけでアクセス可能です。
しかし、tailscaleでは複数のネットワーク(プロジェクト)を結合して大規模VPNネットワークを構築することができます。
この場合には複数ネットワークがインターネットのように相互に接続する形態となるため、ドメイン名修飾することでネットワークを識別します。
tailscaleドメイン名はすでに割り当てられていてDNSメニューで確認できます。
「tail*****.ts.net」というドメイン名が割り当てられており、利用可能です。
「Rename tailnet…」ボタンによりドメイン名を変更することもできます。
外出先から自宅サーバーを電源オン(WOL)
tailscaleを使うことで外出先からいつでも自宅ネットワークへ参加できる環境がサクッと作れます。
いつでも自宅にいるのと同じ環境でネットワークが使えるわけです。
しかし現実には自宅にいない、こんな時に「使いたいサーバーの電源が入ってない!」という場合が困るわけです。
こんな時に役に立つのが「WOL(Wake on LAN)」です。
マジックパケットを使ってコンピューターの電源をオンにする仕組みですね。
WOL(Wake On LAN)モジュールのインストール
GL.iNetトラベルルーターから自宅ネットワーク内のパソコンに対してマジックパケットを投げられる仕組みを作ってみましょう。
GL.iNetトラベルルーターの「管理パネル(Admin Panel)」上では提供されていないサービスですが、「詳細設定」のLuCIを使って直接OpenWrt上にWOLの環境を構築、そして外出先からWOLを使ってみます。
WOLのモジュールは管理パネル(Admin Panel)の「アプリケーション > プラグイン」からインストールすることができます。
画面上部のフィルター欄に「luci-app-wol」と入力してプラグイン一覧を絞り込みます。
一覧画面に「luci-app-wol」が絞り込まれたら右側の「インストール」を押下しプラグインをインストールします。
設定はこれだけです。
WOLを使ってみる
WOLは「詳細設定」であるOpenWrtの管理画面「LuCI」から利用します。
管理パネルメニュー「システム > 詳細設定」から詳細設定画面へのリンクをクリックするとOpenWrt管理画面「LuCI」が別タブで開きます。
詳細設定画面であるLuCIのログイン画面が表示されるので、管理パネル(Admin Panel)と同じパスワードでログインします(ユーザーは”root”)。
LuCIメニュー「サービス > Wake On LAN」を開きます。
Wake On LAN画面が開きます。
Network interface to use | br-lanを選択 |
---|---|
Host to wake up | 一覧から電源オンしたいホストを選択 |
上記を選択したら「Wake up host」ボタンでマジックパケットが投げられます。
なお、Wake On LANによる電源オン機能はデバイス側の設定が正しく設定されている必要があります。
BIOS設定、ネットワークドライバー設定、Windowsの電源管理設定・・・などなど実際に外出先から使う前に自宅環境において十分テストしておく必要があります。
さらにTailscaleで拠点間VPN
本記事ではここまででTailscaleを使っていつでも外出先から自宅ネットワークへ接続できる仕組みを構築してきました。
いわゆる「リモートアクセスVPN」というVPN形態であり、Tailscaleを使えば面倒なネットワーク知識など不要で簡単にリモートアクセスVPN環境が構築できてしまいます。
さらに、Tailscalを使って「拠点間VPN」の環境を構築することができます。
「拠点間VPN」とはたとえば「自宅ネットワークと帰省先(実家)ネットワークを接続する(ひとつのネットワークにする)」という形態です。
拠点間VPN環境を構築すれば「自宅と実家」「自宅と仕事場」など場所を考えずにすべて一つの同じネットワークとして利用することができるようになります。
ここからは、GL.iNetルーターのTailscale機能を使って「拠点間VPN」を構築する手順を説明していきます。
拠点間VPNの本記事での前提環境
拠点ネットワーク | 回線 | ネットワークアドレス | 利用する機器 |
---|---|---|---|
自宅ネットワーク | 楽天ひかり ※DS-Lite回線 |
192.168.8.0/24 | GL-AXT1800(Slate AX) |
実家ネットワーク | 電力系光回線 ※PPPoE回線 |
192.168.10.0/24 | GL-MT3000(Beryl AX) |
自宅ネットワークは本記事でここまで説明してきた環境をそのまま利用します。
ネットワークアドレスについて
自宅と実家(帰省先)を拠点間VPNで接続する場合の注意点として、拠点間(自宅と実家)のネットワークアドレスを別のものに設定しておくというのがあります。
拠点間VPNを構築することで拠点間(自宅と実家)は大きな一つのネットワークとなります。
一つのネットワークなのでIPアドレスが重複しているとIPネットワークが成立しません(通信できない)。
よって、事前環境として拠点間(実家と自宅)のネットワークアドレスは別のものに設定しておきます。
本記事では自宅側ネットワークは「192.168.8.0/24」とし、実家側ネットワークは「192.168.10.0/24」とします。
使用するルーターについて
本記事では拠点間(自宅と実家)の拠点間VPNを構築するルーターとして(当然ですが)GL.iNetのルーターを使用します。
私は自宅側を「GL-AXT1800(Slate AX)」を使用し実家側を「GL-MT300N-v2(Mango)」を使用しましたが、GL.iNetルーターであればどの製品でも同じ手順で拠点間VPNを構築可能です。
拠点間VPNの構築の流れ
本記事ではここまでで、外出先のPCやスマホを自宅ネットワークへTailscaleを使ってリモートアクセスVPNできる環境を構築してきました。
さらにこのリモートアクセスVPNの発展形(応用編?)として、拠点間(自宅と実家のネットワーク)を接続する拠点間VPNは非常に簡単に構築することができます。
Tailscaleを使って拠点間(自宅と実家)を接続する拠点間VPNの構築の流れは以下のようになります。
- STEP1拠点A(自宅)のTailscale環境構築
本記事のここまでの手順にてGL.iNetルーターでリモートアクセスVPN環境を構築します。こちらの環境(拠点A)を拠点間VPNの自宅側ネットワークとします。
- STEP2拠点B(実家)のTailscale環境構築
同様の手順でGL.iNetルーターで実家側(拠点B)のリモートアクセスVPN環境を構築します。こちらの環境(拠点B)を拠点間VPNの実家側ネットワークとします。
※自宅側(拠点A)とは別のネットワークアドレスである点に注意してください。
※自宅側(拠点A)と同様に、Tailscale管理画面での有効化も済ませておきます。
以上、たったこれだけで拠点間(自宅と実家)のネットワークを一つにまとめた拠点間VPNの仕組みが構築完了となります。
つまり、本記事記載の手順でGL.iNetルーター2台を拠点(A/B)それぞれに登録すればよい、ということです。
通常、拠点間VPN環境を構築する場合は拠点間のネットワークアドレスをVPNサーバー(本記事ではTailscaleサーバー)へ静的ルーティングしてあげるようなルーターの設定が必要です。
しかし、本記事ではGL.iNetルーター上でTailscaleを動作させているため、接続されているネットワーク間(自宅と実家)の通信は自動的にTailscaleネットワークでの通信となり、結果としてたったこれだけで拠点間VPN環境となってしまうわけです。
まとめ、もうVPNはtailscaleでいいじゃないか!
以上、話題のVPNソリューション「tailscale」を一通り使ってみました。
あまりにも簡単に、そして自宅ネットワーク丸ごと登録して使える高機能で、一体いままでVPN構築で苦労したのは何だったんだ!と思うすばらしいソリューションです。
とにかく、回線環境がIPv4 over IPv6環境であってもお構いなしにVPN接続できる点が魅力です。
超簡単にPeer-to-PeerのVPNネットワークが組める
tailscale無料プランでは最大100台までのデバイスを登録することができますが、今回はデバイス2台を登録しました。
上記のようにtailscale Admin Consoleに登録されたデバイスはそれぞれがVPNで相互接続(Peer-to-Peer)された状態となり、tailscaleから付与されたIPアドレスを使ってどの登録デバイスとも自由に通信することができます。
また、「MagicDNS」の機能を有効化しておけばtailscaleへの登録マシン名での通信もできます。
超簡単にPeer-to-SiteのVPNネットワークも組める
そして今回は「Subnet routes」を設定・有効化することで、自宅ネットワークを丸ごとtailscaleに登録しました。
この「Subnet routes」機能により、外出先からでもいつもの自宅環境と全く同じIPアドレスで自宅ネットワークに参加することができます(Peer-to-Site)。
「Subnet routes」で自宅ネットワークを丸ごとtailscaleへ登録することで、外出先からtailscaleに登録していない自宅ネットワーク内のデバイスへもアクセスできる、逆に自宅ネットワーク内のデバイスも外出先デバイスへアクセスすることができます。
自宅ルーターを「Subnet routes」として登録しておけば、いつでもどこからでも自宅にいるのと同じ環境でネットワークが利用できます。
これ、すごいですよね。
自宅だけでなく、仕事場とか帰省先(実家)とかのネットワークも全部登録したくなりませんか?
※Googleアカウント複数でtailscale登録すればよいので・・・
拠点間VPN(Site-toSite)も無料プランで使える!
Tailscaleサービスは無料プラン・有料プランを提供していますがたびたびプランが変更されます。
以前は無料プランでは「登録できるサブネットルーターは1アカウントで1つまで」と制限されていましたが、現在は無料プランにおいてその制限は撤廃されています。
つまり、無料プランでもひとつのアカウントに複数のサブネットルーターを登録して利用することができます。
これにより、無料プランでも拠点間(Site-to-Site)VPNが構築・利用できるようになりました!
本記事でもご紹介しているように、GL.iNetルーターのTailscale機能を使った拠点間VPN構築は非常に簡単で、通常のリモートアクセスVPN(Peer-to-Site)の環境を複数(拠点分)登録するだけです。
「自宅と実家(帰省先)」「自宅と仕事場」など、複数のネットワークもGL.iNetのTailscale機能を使えば超簡単に一つのネットワークとして拠点間VPN環境を構築することができます。
とにかく何でもVPNでつながる
数年前までは「IPv4 over IPv6」でVPNを構築するのに悩んだものでした。いや、今でもIPv4 over IPv6環境でのVPN構築はむつかしいです。
tailscaleならそんなの関係ありません、なんならスマホのUSBテザリング/Wi-Fiテザリングでもつながります。
そもそもがスマホ本体もtailscaleでVPNデバイスになりますから。
tailscaleはインターネットにつながりさえすればどんな回線環境でも超簡単にVPN環境を構築することができます。
自宅ルーターのtailscale登録で自宅丸ごとVPN
自宅ネットワークを丸ごとtailscale VPNに接続することで、いつでもどこからでも自宅のネットワークに参加できるのはtailscaleの魅力です。
この環境構築の基本は「自宅ルーターをtailscaleにデバイス登録する」です。
しかし、一般的な家庭用ルーターにはこのようなtailscaleをはじめとした各種アプリケーションを登録することはできません。
これができるのが万能ルーター「OpenWrt」であり、OpenWrtを採用した高性能お手軽ルーター「GL.iNetトラベルルーター」です。
OpenWrtルーターを自作する
GL.iNetトラベルルーターを購入しなくてもOpenWrtルーターは自作することができます。
自作したOpenWrtルーターはもちろんtailscaleを徹底活用することができます。
でもちょっとだけ設定操作はGL.iNetトラベルルーターよりも面倒です。
tailscaleを使い倒せるGL.iNetトラベルルーター
tailscaleはGL.iNetトラベルルーターでは新しく採用された機能であり、各機種ファームウェアバージョン4.2.0からの対応となっています。
本記事記載の手順によってサクッとtailscale環境が構築できるGL.iNetトラベルルーターは以下の機種になります。
※2024年7月時点
ルーターモデル | Tailscaleサポート |
---|---|
GL-MT6000(Flint 2) | 〇 |
GL-X3000(Spitz AX) | 〇 |
GL-MT3000(BerylAX) | 〇 |
GL-AXT1800(Slate AX) | 〇 |
GL-A1300(Slate Plus) | 〇 |
GL-MT2500/GL-MT2500A(Brume 2) | 〇 |
GL-SFT1200(Opal) | × |
GL-S1300(Convexa-S) | × |
GL-MT1300(Beryl) | × |
GL-AX1800(Flint) | 〇 |
GL-AR750S(Slate) | × |
GL-XE300(Puli) | × |
GL-X750(Spitz) | × |
GL-B1300(Convexa-B) | × |
GL-AP1300(Cirrus) | × |
GL-X300B(Collie) | × |
GL-MV1000/GL-MV1000W(Brume) | 〇 |
V4.2から Tailscale 機能が利用可能 | GL.iNet
GL-AXT1800(Slate AX)
本記事で使用した機種「GL-AXT1800(Slate AX)」です。
すでに旧型となりましたが、最新型「GL-MT3000(Beryl AX)」よりもお値段高く、旧機種ですが自分では「GL.iNetトラベルルーターの最高級品」だと思っています。
GL-MT3000(Beryl AX)
GL.iNetトラベルルーターの最新型であり最高性能のモデルが「GL-MT3000(Beryl AX)」です。
有線WANポートが2.5GbE対応となり、またWi-Fi6も前モデル「GL-AXT1800(Slate AX)」の2倍の速さで2401Mbpsです。
無線も優先も2.5GbEですね。
高性能なのに価格はGL-AXT1800(Slate AX)よりも安く販売されているのでお買い得かもしれません。
GL-A1300(Slate Plus)
前2機種よりスペックは結構落ちますがお値段も結構落ちます。
しかし、前2機種と同系列のファームウェアを採用していることから、前2機種と同等機能が搭載されています。
つまり「安くて高機能」ということです。
販売価格が1万円程度だしAmazonでは頻繁に20%~30%引きのキャンペーンを実施しているので、お買い得のGL.iNetトラベルルーターです。
結局どれがいいの?
ハードウェア性能はちょっと低いですがその分価格も安く、その割に上位機種と同じファームウェアによる高機能ということで、コスパで見るならGL-A1300(Slate Plus)をおすすめします。
予算があるなら高性能モデル「GL-AXT1800(Slate AX)」をおすすめ(私が使っているので・・・)。
最新機種「GL-MT3000(Beryl AX)」は高性能すぎてちょっと怖いですね、ルーターやスイッチングハブなどの2.5GbE/10GbEのネットワーク機器でも不具合が多く発生している状況であり、GL-MT3000(Beryl AX)はちょっと頑張りすぎなんじゃないでしょうか?