はじめに
AWSと拠点を結ぶためにはVPNかDirect Connectによる接続が必要となります。しかし、少数の拠点ではDirect Connecはコスパが悪いです。また、個人でVPN用にルータを購入するとYAMAHA RTX1210の現行機種だと10万を超えたりと高価です。家などのブランチ拠点からAWSへ、とりあえず安く接続したいんだけどという人は多いと思います。
そこで、Amazonで購入できるものでVPNルーターでIPSecで接続できる最も安いルータで接続する方法を紹介します。。記事を書いているときの8800円で購入しましたが、最安値は8140円でした。
TP-Link Omada ギガビット マルチWAN VPNルーター ER605
本記事はAzure用の記事をAWS用に変更したものです。
-
8800円の格安VPNルータで家とAzure間をサイト対サイトVPN(IPSec)で接続する - 技術的な何か。
はじめに Azureと拠点を結ぶためにはVPNかExpress Routeによる接続が必要となります。しかし、少数の拠点ではExpress Routeはコスパが悪いです。また、個人でVPN用にルータを
level69.net
構成
我が家の構成です。
よくみかける家庭での構成です。特殊な機器などは利用していません。
auひかりのホームゲートウェイの後ろにVPNルータ ER605を追加で導入するだけです。
注意:NTTの回線では試していないため接続できるかはわかりません。v6プラスを利用している場合は接続できないらしいが・・・
大きく3つの作業があります。家環境の設定、AWS環境の構築、VPNの設定です。
順を追って解説してきます。
家環境の設定
家環境構でER605を利用してVPN環境構築するにあたり、IP設定、DHCPサーバーの設定を変える必要があります。
セグメントはWAN側とLAN側で分かれます。各機器はIP固定に設定します。また、クライアントへIP配布するDHCPサーバーはER605に任せます。これは無線APに任せても問題ありません。
下記の構成では無線APを含んでいますが、IPの固定方法、接続方法は機種によって異なるため個別にご確認してください。
WANポートにはauひかりのLANポートと接続します。LANポートには無線APやPCを接続します。
auひかり ホームゲートウェイの設定
ホームゲートウェイは規定の設定で192.168.0.1が割り当たっているため、あえて設定する必要はなくデフォルトのままで問題ありません。
好みでDHCPサーバーの機能をOFFにしてください。
ただし、設定する場合はクライアントに固定IP(192.168.0.0/24)でホームゲートウェイに接続する必要があります。
DHCPサーバー設定を開きます。
DHCPサーバ機能をOFFにします(私はONのままです)
ER605の設定
基本的な初期設定(パスワード設定など)は終了しているものとします。
AWSに接続する場合にはER605は最新のファームウェアである必要があります。必須ではありませんが、IKEv2に対応させるためです。たぶんAmazonで販売されているものはファームウェアが古いです。また、ハードウェアバージョンはv1だと思います。
ファームウェアをアップデートするにもER605のIPをWAN側を192.168.0.2/24、LAN側を192.168.1.253/24で固定します。またWAN側のIPアドレスも設定します。IPアドレスは環境に合わせて読み替えてください。
ER605のデフォルトのIPアドレスは192.168.0.1です。そのため最初の設定はauひかりホームゲートウェイに接続せずに設定します。LANポートにクライアント、無線APを接続してブラウザから192.168.0.1を開きます。接続できない場合は、クライアントに固定IPを設定します。
最初にLNAを開き設定を変更します。
- IP Address : 192.168.1.253
- Subnet Mask : 255.255.255.0
- DHCP Server : Enable
- Startting IP Address : 192.168.1.100
- Ending IP Address : 192.168.1.199
これでOKを押して設定を反映します。設定変更後に192.168.1.253をブラウザで開き設定できることを確認します。クライアントのIPを固定している場合はDHCPに変更する必要があります。
次にWAN側のIPアドレスを設定します。
[Network]→[WAN]を開き[WAN]のタブを開きます。以下のように設定します。
- Connection Type:Static IP
- IP Address:192.168.0.2
- Subnet Mask:255.255.255.0
- Default Gateway:192.168.0.1
- Primary DNS:192.168.0.1
System Statusで問題なくLink Upしていることを確認します。
次にファームウェアのアップデートを行います。ファームがER605(UN)_V1_1.2.0 Build 20220114以上でない場合にはIKEv2での接続が行えません。
ER605(UN)_V1_1.1.1_20210723 → ER605(UN)_V1_1.2.0 Build 20220114 にアップデートします。すでに最新の場合はこの作業は必要ありません。
下記よりファームウェア(ER605(UN)_V1_1.2.0 Build 20220114)をダウンロードし解凍します。
-
ER605 のコンテンツ | TP-Link 日本
TP Link - Download Center Detail
www.tp-link.com
[System Tools] → [Management] → [Firmware Upgrade]を開き解凍したbinファイルを指定し、Upgradeを押します。
アップデート後のファームウェアのバージョンは同じ画面で確認できます。
以上で家環境の準備は整いました。
次にAWS環境を構築していきます。
AWS環境の構築
事前にVPCは構築されていることが前提です。
VPCの作成は基本的な作業として割愛します。
AWS環境で必要なものは以下になります。最短ルートで設定を行うため、各サービスを個別に作成していません。仮想ネットワークゲートウェイを作成すると自動で作成されるものあります。
- VPC
- カスタマーゲートウェイ
- 仮想プライベートゲートウェイ
- サイト間のVPN接続
- ルートテーブルの設定
また、接続確認を行うためEC2を立ち上げます。
作業はVPCの仮想プライベートネットワーク (VPN)のメニューにあります。
カスタマーゲートウェイの作成
カスタマーゲートウェイを作成します。
- IPアドレス:家環境のIPアドレスです。IPアドレスを確認できるサイトで調べます (https://www.cman.jp/network/support/go_access.cgi)、auひかりの場合には固定IPでないことも注意が必要です。
カスタマーゲートウェイの作成は完了です。
次に仮想プライベートゲートウェイの作成を行います。
仮想プライベートゲートウェイの作成
仮想プライベートゲートウェイを作成します。
設定する項目はありません。
作成後にVPCをアタッチします。
アタッチするVPC(EC2を配置する場所)を指定します。
以上で仮想プライベートゲートウェイの作成は完了です。
次にサイト間のVPN接続を作成します。
サイト間のVPN接続を作成
- ターゲットゲートウェイのタイプ:仮想プライベートゲートウェイ
- 仮想プライベートゲートウェイ:上記で作成したもの
- カスタマーゲートウェイ:上記で作成したもの
- ルーティングオプション:静的
- 静的IPプレフィックス:192.168.1.0/24(家環境のIPアドレス)
トンネル1オプションを開き、事前共有キーを設定します。
以上でVPN接続の設定は完了です。
作成後に接続先のグローバルIPアドレスを確認します。
次にルートテーブルの設定を行います。
ルートテーブルの設定
VPCのルートテーブルには家環境は自動的に反映されません。手動で追加します。
- 送信先:192.168.1.0/24
- ターゲット:仮想プライベートゲートウェイを指定する
ルートテーブルの設定は完了です。
次にER605のVPNの設定です。
VPNの設定
ER605の管理画面から[VPN]→[IPSec]を開きます。
[Add]で追加します。
- Policy Name:任意
- Mode:LAN-to-LAN
- Remote Gateway:サイト間のVPN接続のパブリックIPアドレス(上記で確認したもの)
- WAN:WAN
- Local Subnet:192.168.1.0/24(LAN側のIPアドレス範囲)
- Remote Subnet:172.16.0.0/16(VPCに作成したIPアドレス範囲)
- Pre-shared Key:上記で設定した共通キー
- Status:Enable(設定時に有効化)
- Phase-1 Settings
- IKE Protocol Version:IKEv2(ファームウェアが古いと表示されません)
他は設定変更ありません。
保存するとVPN接続が行われるので[IPSec SA]のタブからセッションを確認します。
AWSからも確認できます。
以上で家環境からAWSにVPNで接続することが出来ます。
EC2への接続確認とスループット
EC2への接続確認を行い、VPN経由で接続できることを確認します。
UbuntuのEC2は事前に立ち上げておきます。例ではプライベートIPアドレス:172.16.0.72が振られています。
また、セキュリティグループで192.168.1.0/24を許可する必要があります。
下記は、WSLからSSHで接続しています。問題なく接続できることが分かります。
次にスループットを確認したいと思います。下記の公式ホームページではIPSec VPNのスループットは41.5Mbpsを記載されています。
-
TL-R605 | SafeStream ギガビット マルチWAN VPNルーター | TP-Link 日本
TL-R605は、WAN/LANポートの両方でギガビットイーサネット接続に対応しており、複数のVPNプロトコル・高セキュリティ・高性能のVPN機能を備えているため、従業員のリモート接続も、まるでメイン ...
www.tp-link.com
スループットを図るためにiperfを利用します。簡単にスループットを測定で来るので便利です。
EC2側、クライアント側(WSL)にインストールします。
$ sudo apt update $ sudo apt install iperf3
測定していきます。
EC2側でiperfを待ち受けます。
$ iperf3 -s ----------------------------------------------------------- Server listening on 5201 -----------------------------------------------------------
クライアント側に測定します。
# iperf3 -c 172.16.0.72 Connecting to host 172.16.0.72, port 5201 [ 4] local 172.19.175.86 port 45014 connected to 172.16.0.72 port 5201 [ ID] Interval Transfer Bandwidth Retr Cwnd [ 4] 0.00-1.00 sec 4.69 MBytes 39.3 Mbits/sec 0 373 KBytes [ 4] 1.00-2.00 sec 4.33 MBytes 36.3 Mbits/sec 0 564 KBytes [ 4] 2.00-3.00 sec 3.92 MBytes 32.9 Mbits/sec 1 592 KBytes [ 4] 3.00-4.00 sec 3.80 MBytes 31.9 Mbits/sec 0 596 KBytes [ 4] 4.00-5.00 sec 3.86 MBytes 32.4 Mbits/sec 0 602 KBytes [ 4] 5.00-6.00 sec 3.80 MBytes 31.9 Mbits/sec 0 616 KBytes [ 4] 6.00-7.00 sec 2.81 MBytes 23.5 Mbits/sec 0 643 KBytes [ 4] 7.00-8.00 sec 2.34 MBytes 19.6 Mbits/sec 0 682 KBytes [ 4] 8.00-9.00 sec 2.52 MBytes 21.1 Mbits/sec 0 743 KBytes [ 4] 9.00-10.00 sec 2.63 MBytes 22.1 Mbits/sec 0 821 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth Retr [ 4] 0.00-10.00 sec 34.7 MBytes 29.1 Mbits/sec 1 sender [ 4] 0.00-10.00 sec 33.2 MBytes 27.8 Mbits/sec receiver iperf Done.
環境に左右されると思いますが、公表値にくらべ極端に悪い数値ではないと思います。十分実用に耐えられる速度だと思います。
まとめ
AWSと家の環境を、格安なルータで1万円でかからずにVPNで接続する方法を紹介しました。安定性、スループットをあまり求めない拠点をIPSecで接続したい場合に利用できると考えています。設定も、簡単で特にハマることもなく設定が行えます。AWSの検証をちょっと行いたい人にも好いと思います。ただし、回線によっては接続できないなど限定的な利用になると思います。しかし非常も財布に優しいので試してみてはいかがでしょうか。