【tailscale】OpenWrtルーターで超簡単拠点間(Site-to-Site)VPN構築

スポンサーリンク
OpenWRTルーター 14 tailscale VPN
本記事はPRによる消費税込みの価格表示です
本記事はOpenWrt(21.02.3/23.05.0)で検証しています。

VPNによるネットワーク接続の形態として一般的には2つの接続形態があります。

ひとつは「リモートVPN」と呼ばれる接続形態であり、クライアントとなるPC(やスマホなど)を自宅や会社のネットワークにつなげる形態であり、テレワークなどはこの接続形態になります。

もうひとつは「拠点間VPN」と呼ばれる接続形態であり、ネットワークとネットワークを丸ごと繋げてひとつのネットワークにしてしまおうという接続形態です。

さて、この「拠点間VPN」ですが従来はそれ専用の高価な(法人向け)ルーターが必要であったり高度なネットワーク技術が必要だったり、と主に企業が本社・支社間を接続するなどで利用されていました。

しかし、現在はVPNも超簡単に構築できるソリューションが登場し、「個人が自宅と実家を拠点間接続」「個人事業主が自宅と仕事場を拠点間接続」などで利用されています。

本記事ではOpenWrtルーターと超簡単VPNの「Tailscale」を使って、拠点間VPNを構築していきます。

リモートVPNと拠点間VPN

VPN(Virtual Private Network)という機能を使えばどこからでも自宅や会社のネットワークへ接続することができます。

名前の通り「Virtual(仮想)」ながらも「Private Network(専用回線)」なのでインターネット上の通信でも暗号化された通信で安全にデバイスをネットワークへ接続することができます。

VPNにはおおきく「リモートVPN」と「拠点間VPN」という2つの接続形態があります。

どこからでもつなげられるリモートVPN

リモートVPNはデバイス(パソコンやスマホ)を自宅や会社のネットワークへ接続する接続形態です。

デバイス側(パソコンやスマホ)にはVPNクライアントアプリが必要であり、自宅・会社側にはVPNサーバーが必要です。

テレワークなどはこの「リモートVPN」での接続形態になります。

ネットワーク同士がつながる拠点間VPN

リモートVPNがデバイス(パソコンやスマホなど)をネットワーク(自宅・会社など)へ接続する接続形態であるのに対し、「拠点間VPN」はネットワークとネットワークを丸ごとつなげてしまおうという接続形態です。

拠点Aと拠点BにVPNサーバーを設置し、そのVPNサーバー同士がインターネット上でVPN通信を行うことで遠隔にあるネットワークとネットワークをひとつのネットワークとして利用することができるようになります。

※もちろん「拠点C」などを追加して3か所以上の相互接続も可能

この場合は拠点Aと拠点Bに設置されたVPNサーバー同士がVPN通信を行うので、それぞれのネットワーク内にあるデバイスはVPNクライアントアプリなど不要で他方のネットワークを利用可能となります。

拠点間VPN接続はどんなときに使われる?

ちょっと大きめの企業などで本社・支社が存在する場合、多くの場合で拠点間VPNによるネットワーク接続が行われています。

本社にドキュメント管理用のファイルサーバーを設置するだけで、視点からもそのサーバーを利用できるようになります。

本社ネットワークも支店ネットワークも仮想的に一つのネットワークになるので、利用者は本社・支社を意識せずにITインフラを利用できるようになるわけです。

個人での拠点間VPN利用

個人でも拠点間VPNの利用が多くなってきています。

最近は「パーソナルクラウド」などと銘打ってNAS(Network Attached Storage)製品が人気で、スマホのデータをすべて自宅のNASへアップロードして使う、などの使い方が流行っています。

拠点間VPNにより自宅と実家を接続すれば、実家にあるNASのデータ(写真や動画など)を実家のおじいちゃん・おばあちゃんも見ることができます。

また、大切な自宅のNASのバックアップを遠隔地の実家のNASへバックアップする、といったような遠隔地バックアップの仕組みも作れてしまいます。

OpenWrtルーターで超簡単拠点間(Site-to-Site)VPN

企業で拠点間VPNを構築する場合にはそれ専用に設計・製造された高額な法人向けVPNルーターを使用します。ヤマハルーターなんかですね。

最近は個人でも安価なルーターで拠点間VPNを構築できるようになりました。

なんでもつながるtailscale

VPNは暗号化された通信を行うためのソフトウェアであり、「L2TP/IPSec」「OpenVPN」「WireGuard」など多くのプロトコルを利用することができます。

そして、これらの中でもっとも最新・安全・高速と言われる「WireGuard」プロトコルを使ったVPNソリューションとして「tailscale(テイルスケイル)」が人気です。

tailscaleはクラウドサービスですが、tailscaleを使うことで超簡単にVPN(リモートVPN/拠点間VPN)が構築できてしまいます。

tailscaleならどんな回線でもつながる

VPNは通信の仕組み上「クライアントがサーバーへ接続しに行く」ことで通信が開始されます。

この「接続しに行く」ためにはインターネット上で識別可能な住所、すなわちグローバルIPアドレスが必要です。

しかし現在のフレッツ光回線などは「IPv4 over IPv6(v6プラスやクロスパスなど)」へ移行しており、これらの回線では接続に必要なグローバルアドレスが利用できません。

しかし、tailscaleを使えばグローバルIPアドレスのない回線環境でもVPNが構築できてしまいます。

フレッツ光回線のIPv4 over IPv6だけでなく、ホームルーター(WiMAX/home5Gなど)やスマホのテザリングによる回線などでもtailscaleならVPNが構築できてしまいます。

導入が超簡単

tailscaleはクラウドサービスとして提供されているVPNの仕組みです。

そのため、拠点Aと拠点Bのルーターにtailscaleアプリをインストールし、tailscaleクラウドサービスの管理画面に拠点A/拠点Bルーターを登録するだけで拠点間VPNが構築できてしまいます。

接続のために必要なグローバルアドレスやポート番号、暗号化通信のために必要な暗号化鍵など、従来のVPNでは割と面倒だった処理も一切不要、すべてtailscaleのクラウドサービスが自動化してくれます。

安い中古ルーターで高機能なOpenWrtルーター

企業向けの高機能なルーターと同じように拠点間(Site-to-Site)VPNが使えるルーターとして、本記事ではOpenWrtルーターを使っていきます。

OpenWrtはフリー(無料/自己責任)で提供されているルーター向けOSであり、ちょっと古い中古ルーターにインストールすることで高機能なOpenWrtルーターとして利用できるようになります。

ちょっと古い市販の中古ルーターをOpenWrtルーター化すると、高額な法人向けルーター並みに拠点間VPNが構築できるようになります。

本記事の前提

ここまで書いたように、本記事では拠点A(自宅を想定)と拠点B(実家を想定)の2つのネットワークを拠点間VPNで接続する仕組みを構築します。

拠点A/拠点Bともに使用するルーターはOpenWrt化した「バッファローWZR-HP-AG300H」および「エレコム WRC-1167GST2」を使用します。

OpenWrtルーターの構築手順

本記事ではOpenWrtルーターを利用してtailscaleサーバーを構築していきますが、OpenWrtルーターの構築手順は本記事の範囲外です。

OpenWrtルーターをお持ちでない方、これからOpenWrtルーターを構築しようとしている方は、以下の記事を参考にしてまずはOpenWrtルーターを構築してください。

OpenWrtでできることは?対応ルーターからインストールまでを徹底解説
光回線やモバイル回線などの通信サービスが多様化しています。光回線ではフレッツ光を中心として新しい高速通信「IPv4 over IPv6」技術が一般化し「v6プラス」や「Transix」などのサービスが普及してきています。また、モバイル通信で...

OpenWrtをWZR-HP-AG300Hへインストールする、復元もやってみる
自宅の光回線を「楽天ひかり」に乗り換えました。今までは地元電力系の光回線を引き込んでいたのですが、楽天モバイルとのセットキャンペーンで「1年無料」「工事費無料」につられて初フレッツ光回線というわけです。手持ちのルーターは楽天ひかりの高速通信...

OpenWrtをWXR-2533DHPへインストールする、復元もやってみる
OpenWrtルーターは拡張モジュールをインストールすることでさまざまな機能を実現できる仕組みです。業務用ルーターなどでしか提供されていない機能もOpenWrtルーターを使えばほぼ同様の機能が利用可能、それが一般家庭用の格安ルーターで実現で...

WXR-6000AX12へOpenWrt(WXR-5950AX12版)をインストールしてみたお話し
OpenWrtが正式対応しているルーターで10GbE対応のものはバッファローのWXR-5950AXだけだと思います。メルカリなどのフリマアプリでもWXR-5950AX12は結構活発に取引されており、みなさんOpenWrt化が目的なのかな?と...

拠点のサブネットは異なること

tailscaleによる拠点間VPN構築時の注意点として「拠点Aと拠点Bのサブネットは異なること」という点があります。

たとえば「拠点Aのネットワークは192.168.1.0/24」「拠点Bのネットワークは192.168.2.0/24」というようにネットワークアドレスが異なっていなければなりません。

これはtailscaleが通信の仕組み上「L3(Layer3) VPN」であるからです。

よって、本記事では拠点A(自宅側)および拠点B(実家側)のネットワークアドレスを以下のように想定します。

拠点 ルーター OpenWrtルーターLAN側IPアドレス
自宅 BUFFALO WZR-HP-AG300H 192.168.1.1
実家 ELECOM WRC-1167GST2 192.168.2.1

前提とするインターネット回線環境

本記事での動作確認に使った回線は以下の通りです。

拠点 ルーター インターネット回線環境
自宅 BUFFALO WZR-HP-AG300H 電力系光回線(10GbE)/PPPoE接続
実家 ELECOM WRC-1167GST2 楽天ひかり(DS-Lite/クロスパス接続)

本記事での回線環境は上記の通りですが、tailscaleではどんな回線環境でもつながるので回線環境を気にする必要はありません。

光回線のv6プラスやOCNバーチャルコネクト、ホームルーター(WiMAXやhome5Gなど)はたまた楽天モバイルの固定回線利用など、どんな回線環境でインターネットにつながっていればtailscaleによる拠点間VPNを構築することができます。

OpenWrtルーターでのtailscaleサーバー構築

ではさっそくtailscaleとOpenWrtルーターによる「拠点間(SIte-to-Site)VPN」環境を構築してみましょう。

なお、本記事ではすでにOpenWrtルーターは構築しており、インターネット接続が完了しているものとします。

STEP⓪ OpenWrtルーターの準備(IPアドレス)

本記事では拠点として「拠点A(自宅)」および「拠点B(実家)」を想定し拠点間VPN環境を構築していきます。

そして、自宅・実家それぞれ(つまり2台)のOpenWrtルーターが必要です。

ここで、自宅ネットワークと実家ネットワークのサブネットは異なる必要があります(tailscaleはL3なので)。

本記事では自宅ネットワークのサブネットを「192.168.1.0/24(OpenWrtルーター初期値)」とし、実家ネットワークのサブネットを「192.168.2.0/24」としました。

拠点 ルーター OpenWrtルーターLAN側IPアドレス
自宅 BUFFALO WZR-HP-AG300H 192.168.1.1
実家 ELECOM WRC-1167GST2 192.168.2.1

OpenWrtルーターはインストール直後にはLAN側IPアドレス初期値「192.168.1.0/24」となっています。

必要であれば、このLAN側IPアドレスの変更を行います。

OpenWrtルーターでのネットワークアドレスの変更は以下のようになります。

メニュー「ネットワーク > インターフェース」からインターフェース一覧画面を開き、「lan」インターフェースの「編集」ボタンを押下します。

OpenWrtルーターで簡単VPN

LANインターフェース設定画面の「一般設定」タブ画面より、IPv4アドレスを変更します。

OpenWrtルーターで簡単VPN

IPアドレスの変更を行ったら「保存」ボタン押下で画面を閉じます。

OpenWrtルーターで簡単VPN

IPアドレスの変更はまだ保留状態となっており、「インターフェースに1個の保留中の変更があります」と表示されています。

ここで「保存&適用」ボタン右の「▼」ボタンを押下し「チェックなしの適用」を押下し、ルーターを再起動します。

これでIPアドレスの変更はシステム反映され、ルーターのIPアドレスおよびLAN側ネットワークが変更されます。

STEP① tailscaleの利用者登録

それではtailscaleを使っての拠点間VPNの構築に入ります。

tailscaleはクラウドサービスなのでまずはサービスの利用者登録を行う必要があります。

tailscaleでは有料/無料の各種プランが提供されていますが、本記事で構築する拠点間VPNの機能範囲であれば無料プラン「Personalプラン」で十分です。

tailscaleログイン | tailscale

tailscaleではゼロトラスト認証を採用しており、つまり独自のアカウントを作るのではなくGoogleアカウントやMicrosoftアカウントなどを使って利用者登録する、という仕組みです。

上記のような利用者登録画面が表示されるので、お持ちのアカウントを使ってtailscale利用者登録を行ってください。

STEP② tailscaleモジュールのインストール

では、自宅ルーター(BUFFALO WZR-HP-AG300H)をtailscale VPNサーバーとして構築します。

※OpenWrtルーターならどの機種でも同じ手順です。

本記事では自宅ルーターのIPアドレスは「192.168.1.0/24」としています。

やることは簡単で「ルーターでtailscaleを有効化 ⇒ ルーターをtailscale(クラウドサービス)へ登録」という内容です。

tailscaleモジュールのインストール

まず最初にtailscaleに必要なモジュールをインストールします。

必要な(インストールする)モジュール

  • tailscale
  • iptables-nft

メニュー「システム > ソフトウェア」画面を開きます。

OpenWrtルーターで簡単VPN

この画面より以下の手順でモジュールをインストールします。

  • ①「リストを更新」ボタン押下してモジュールリストを更新する
  • ②「フィルター」欄に「tailscale」と入力し、モジュールリストを絞り込む
  • ③「インストール」ボタンよりモジュールをインストール
  • ②と③の繰り返しで「iptables-nft」をインストール

モジュールのインストールが完了したらルーターを再起動しておきます。

便利ツール「ttyd」インストール

tailscaleモジュールのインストールと同時に、便利ツール「luci-i18n-ttyd-ja」もインストールしておくとよいです。

tailscaleの動作環境を設定するときにターミナル画面からコマンドを発行します。

teratermなどのSSHクライアントソフトを使ってもよいですが、「luci-i18n-ttyd-ja」をインストールしておくとLuCI上で(ブラウザ上で)ターミナル画面を利用できるようになります。

STEP③ tailscaleインターフェースの作成

モジュールがインストールされたら次はtailscale用のインターフェースを新規作成します。

メニュー「ネットワーク > インターフェース」画面から「インターフェースを新規作成」ボタンを押下します。

OpenWrtルーターで簡単VPN

インターフェース作成画面が開きます。

OpenWrtルーターで簡単VPN

以下の入力・選択を行います。

名前 ご自由に
※本記事では”tscale”
プロトコル “アンマネージド”を選択
デバイス “tailscale0″を選択

上記を入力・選択したら「インターフェースを作成」ボタンを押下します。

インターフェス詳細設定画面が表示されるので「ファイアウォール設定」タブ画面を開きます。

OpenWrtルーターで簡単VPN

ファイアウォールゾーンに”lan”ゾーンを設定します。

ファイアウォールゾーン “lan”を選択

上記の設定を行ったら「保存」ボタンで画面を閉じます。

インターフェース一覧画面に戻りますが、作成したインターフェース(本記事では”tscale”)が保留状態となっています。

OpenWrtルーターで簡単VPN

画面下の「保存&適用」ボタンを押下してこの保留状態をシステム反映させます。

インターフェース一覧画面上に新規作成したインターフェースが表示されればOKです。

OpenWrtルーターで簡単VPN

以上でtailscale用のインターフェース作成は完了です。

STEP④ OpenWrtルーターの登録(tailscaleサービス登録)

ここまでの手順でtailscaleモジュールのインストールおよびtailscaleインターフェースの作成が完了しました。

OpenWrtルーター側でのtailscaleに関する設定はこれで終わりです。

あとは、OpenWrtルーターにインストールしたtailscaleモジュールをtailscaleのクラウドサービスへ登録するだけです。

まず、teratermなどのSSHクライアントなどでOpenWrtルーターへ接続し、以下のコマンド(tailscale up コマンド)を発行します。

tailscale up --advertise-routes=192.168.1.0/24 --accept-routes

ここで「–advertise-routes=192.168.1.0/24」のパラメーターは拠点ルーターのサブネットを指定します。

本記事では自宅サブネットは「192.168.1.0/24」であり、実家サブネットは「192.168.2.0/24」としています。

なので、自宅ルーターでの「tailscale up」コマンドでは「192.168.1.0/24」を指定します。

実家ルーターでは「192.168.2.0/24」を指定します。

このサブネットアドレスはご自身のネットワーク環境に合わせて指定してください。

「tailscale up」コマンドを発行すると、以下のようにtailscaleサービスへのログインURLが表示されます。

OpenWrtルーターで簡単VPN

このログインURLをブラウザのアドレスとして入力し、tailscaleクラウドサービスへログインします。

tailscaleへのルーター登録

リンクをクリックするとブラウザでtailscaleのログイン画面が表示されます。

GL.iNetルーターで簡単VPN

利用者登録しているアカウントでログインしてください。

OpenWrtルーターで簡単VPN

tailscale Admin Console(管理画面)に自宅ルーター(GL-AXT1800)が登録されています。

ここで、「Share…」から「Edit route settings…」選択クリックします。

OpenWrtルーターで簡単VPN

サブネットルートの登録画面が表示されるので、自宅ルーターのIPアドレス(本記事では192.168.1.0)を確認およびチェックし、「Save」ボタンで画面を閉じます。

また、tailscaleの認証キー有効期限を無効にしておきましょう。

通常、tailsacaleをAdmin Consoleへ登録した場合、登録した時点からデフォルトで180日が有効期限となり期限内に再認証が必要です。

クライアント機器の場合はその運用で良いと思われますが拠点間(Site-to-Site)VPNルーターの場合にはこの有効期限を無効(永続)にしておくほうが良いでしょう。

これも「Share…」から「Disable key expiry」を選択します。

OpenWrtルーターで簡単VPN

これにより「Key Expiry(キーの有効期限」が無効となります(永続化)。

以上、Admin Consoleで「サブネット登録と認証」「認証キーの有効期限を無効」にするとAdmin Consoleは以下のようになります。

OpenWrtルーターで簡単VPN

以上で自宅ルーターでのtailscale有効化、および自宅ルーターのtailscale登録が完了しました。

この時点で自宅ルーターはtailscaleによるVPNサーバーとして機能しています。

STEP⑤ もう一台(実家ルーター)の構築

以上「STEP②~④」で実家側のOpenWrtルーターへtailscale環境設定が完了しました。

この時点で実家側のOpenWrtルーターはtailscaleによるVPNサーバーとして機能するようになっています。

続いて、同じ手順(STEP②~④)にてもう一台の「実家側ルーター」を構築します。

手順は全く同じ、ただしルーターのIPアドレスが自宅ルーターと異なっている点に注意してください。

実家ルーターを自宅ルーターと同じtailscale Admin Consoleへ登録完了したら、自宅・実家のルーター構築は官僚です。

STEP⑥ tailscale Admin Console(管理画面)の確認

STEP②およびSTEP③に従って2台のルーター(自宅側・実家側)の設定が登録完了するとtailscale Admin Console(管理画面)は以下のようになっています。

OpenWrtルーターで簡単VPN

tailscaleの同じ利用者アカウントに自宅ルーターと実家ルーターが2台登録されている状態です。

これで自宅ルーターと実家ルーターはtailscaleにより相互にVPN通信が可能(拠点間VPN)となっている状態です。

管理人
管理人
以上でtailscaleを使った拠点間VPN構築は完了です。

まとめ、OpenWrtルーターで超簡単拠点間(Site-to-Site)VPN

本記事ではtailscale & OpenWrtルーターを使って超簡単に拠点間VPN環境を構築してみました。

回線環境を気にしなくてもよい

tailscaleを使えば回線環境を気にする必要がありません。

通常、VPNサーバーをはじめとした各種サーバーを自宅に設置する場合には自宅回線にはインターネットで識別できるグローバルIPアドレスが必要です。

しかし、IPv4アドレスの枯渇が問題となっている現在は多くの回線サービスにおいてこのグローバルIPアドレスが付与されません。

tailscaleを使えば回線にグローバルIPアドレスが付与されていなくてもVPNサーバーが構築できてしまいます。

フレッツ光のMAP-e(v6プラスなど)やDS-Lite(クロスパスなど)をはじめ、ホームルーター(WiMAXやhome5Gなど)さらには楽天モバイルの固定回線利用など、グローバルIPアドレスが付与されないどんな回線環境でもVPNが構築できます。

管理人
管理人
tailscaleならどんな回線環境でもつながります!

  • IPv4 over IPv6でもつながる!
  • ホームルーターでもつながる!
  • 楽天モバイル固定回線利用でもつながる!

安価で高機能な手作りOpenWrtルーター

tailscaleはWindows/Mac/LinuxなどさまざまなOS向けにアプリが提供されています。

つまりこれら対応OSが動く環境があればtailscaleによるVPNサーバーを構築可能です。

もちろん、OpenWrtルーター向けのtailscaleモジュールがインストール可能であり、簡単にVPNサーバーが構築できる仕組みになっています。

さらに、OpenWrtルーター機能とtailscale機能が一体化できることで、ポート転送などルーター設定が不要です。

「簡単にtailscaleでVPNサーバーを構築する」という場合、OpenWrtルーターを使うのが一番簡単だと言えます。

タイトルとURLをコピーしました