#はじめに
初投稿です。
softetherを使用した拠点間接続をトラベルルータで実現できたらいいなと思い、
何とか動作まで持って行けたので備忘録ですがまとめます。
読みづらかったら、すみません。
#1.環境、使用機器、ネットワーク図
VPN Server側
OS:Windows Server
Softether VPN Serverをインストール、セットアップ済み
VPN Bridge側
GL iNet GL-AR750 (購入の初期状態からいろいろといじっています。後述します)
https://docs.gl-inet.com/jp/3/setup/travel_ac_router/first-time_setup/
amazonで購入当時5200円ぐらいでした。
iPhone(テザリングのため使用)
GL-AR750の設定のため、設定用WindowsPCに
VPN Server管理ツール
Teraterm SSH用
をインストールしています。
#2.GL-AR750のセットアップ
サーバ側はネットで豊富な資料があるので、そちらを参考に・・・
VPN Azure中継サービスを利用します。
GL-AR750のLAN側に有線LANで接続しセットアップしました。
なお、セットアップはweb管理画面やらVPN Bridge管理ツールやらSSHやら行ったり来たりしました。
(スマートなやり方があったら教えて欲しいです・・・)
###事前にfirmwareのダウンロードをしておく
GL-AR750は、OpenvpnやWireGuardなどいろいろとパッケージが入っていて面白そうです。
ただ、NANDの容量が限られており何も考えずSoftetherパッケージをインストールしようとすると
容量不足とのメッセージが出ました。
ひとまず、自己責任で新たにファームウェアを入れて最小パッケージ状態にしてみようと思います。
OpenwrtのGL-AR750(https://openwrt.org/toh/gl.inet/gl-ar750)
上記サイトからファームウェアをダウンロードしておきます
記事作成時点では下記リンクが最新のようです。
http://downloads.openwrt.org/releases/19.07.3/targets/ar71xx/generic/openwrt-19.07.3-ar71xx-generic-gl-ar750-squashfs-sysupgrade.bin
(GL-AR750は以下GLとします)
###GLのweb管理画面にアクセス
GLは工場出荷状態だと192.168.8.1のようです。
ブラウザより当該IPを入力し、管理画面にアクセスします。
パスワードも設定します。
####ファームウェアの変更
※この作業以降、下記のわかりやすい画面が見えなくなります。
公式ファームウェアを入れ直しても、この画面が出なくなりました。。。よく分かりません。
ログイン後、「その他の設定」から「Advance」画面へ
Systemタブ -> Backup/Flash Firmwareを選択する
ページ下のFlash new firmware imageのところで、先ほどダウンロードしたファームウェアを選択する
Keep settingsのチェックを外す(設定は引き継がないほうがよさそうです)
しばらくするとファームウェアウェアのアップデートが終了します。
※アップデート終了後、GLのIPが192.168.1.1に変更になっている(と思う)ので、アクセス時に間違えないようにする
web管理画面にアクセス、パスワードを再設定した後、時刻など設定していきます。
####時刻設定
Systemタブ -> sysytem
LocalTime、Timezoneを設定しておく
####ネットワーク設定
#####テザリング先を登録
Networkタブ -> Wireless
BSSIDは空欄
Replace wireless configuration チェック
テザリング先のiPhoneを登録
advance setting
Contry Code JP
#####IPアドレス設定
br-lan 固定IP設定にする(以後このIPが管理画面のIPとなる)
VPN後にブリッジしたネットワークに所属することを考慮したIPアドレスにしておく
DHCPは不要なので無効にする
※eth1.1にはIPアドレスを設定しない
ここで一旦Web管理画面を抜けます
###SSHにてGLにアクセスする
####softether vpn bridgeをインストールする
コマンドに以下入力
opkg update
opkg install softethervpn5-bridge
インストール後、vpncmdのcheckを実施してみる。すべてPassでインストール成功かと思います。
※以下は不要かも
vi /etc/init.d/softethervpnbridge
START=90 を97に変更
###VPN Bridge管理ツール
設定PCのServer(Bridge)管理ツールからGLのbr-lanに設定したIPアドレスへ接続します。
接続先、ローカルブリッジ先などの設定と
ローカルブリッジ先は「新しいtapデバイスとのブリッジ接続」を選択し、新しいtapデバイス名入力し作成します
tapデバイスを作成する理由はlinux固有の問題を解決するためです。
※参考例としてbr0としています
GLのインターフェースにはtap_br0というインターフェースができていると思います。
web管理画面へ行き、startup -> softethervpnbridge をstopをします。
VPN Bridgeの管理ツールで設定した内容を反映させるためのおまじないです。
※これをやらないとGLを再起動した際にVPN Bridgeの設定が初期化されてしまい、
パッケージインストール直後のような設定になっていました。
startを押して、VPN Bridge管理ツールから再度接続し、
設定が反映(接続先やローカルブリッジがtapされているか)されているか確認します。
###TAPデバイスをブリッジへ追加する
web管理画面に行きます。
Networkタブ -> interfaces
br-lanのEditボタンを押す
Physical Settingsにtap-br0を追加する
###その他 VPNの状態確認
GLの5GのLEDを使用しないため、VPNの状態確認に使用しました。
systemタブ -> LED Configration
WLAN5GのEditを押し、以下のように設定しました。
VPNがリンクすると5G動作確認ランプがチカチカしました。
#3.スループット
スループットに関してです。
iPhone自体の速度について(Speedtestアプリによる測定です)
ダウンロードが28Mbps程度、アップロードが6Mbps程度
Sever側は
ダウンロード500Mbps、アップロード500Mbps程度
GLにてvpncmdからtrafficclientを実行し、Server間とのスループット測定してみました。
Network Traffic Speed Test Tool
Item Name | Normal View|Simplified View
------------------------------------------------------+----------------+---------------
Time Span for Measurement | 00:00:15.012|
Data Correction for Ethernet Frames | Yes|
Communication Data Volume in Download Direction | 9,963,314 Bytes| 9.96 MBytes
Communication Data Volume in Upload Direction | 4,656,458 Bytes| 4.66 MBytes
Total Communication Data Volume |14,619,772 Bytes| 14.62 MBytes
Relay Device Input Output Total Throughput Computation| No|
Average Throughput in Download Direction | 5,309,519 bps| 5.31 Mbps
Average Throughput in Upload Direction | 2,481,459 bps| 2.48 Mbps
Total Average Throughput | 7,790,978 bps| 7.79 Mbps
という結果でした。
###雑記
みんなすごいなぁ、記事なんて書ける気がしないなぁなんて思っていました。
ただ今回GL-AR750とsoftetherを使用したVPNルータの資料があまり探せなったので
構築にチャレンジしつつ、記事もあげてみようと思い立った次第です。