【追記:2023-09-27】二重ルーター解消方法
【追記:2023-09-28】再起動後の Exit Node 無効問題の解消
いずれも本文中に追記しています
あれこれ問題が発生して疲れました。
いまは解消しています。
さて、開封です。
真ん中のビニールに包まれたのが本体です。上にあるのは電源関連と LAN ケーブルです。
左の "REGISTER" と書かれた紙はユーザー登録でサポートが受けられる、というもの。
その下は初期セットアップと
サポートに関する注意書きと保証書です。
マニュアルはホームページにあり、英文です。
初期セットアップ
次の接続をします。
RTX830 ルーター >> SW-Hub >> WANポート:GL.iNet MT2500A:LAN ポート >> Macbook Air mid 2012
通電すると約 90秒ほどで本体が起動完了しますので、ブラウザから 192.168.8.1 と入力して管理画面を表示します。
GL-iNet の著作権表示で「画面転用不可」とありますので、以下はセットアップの説明になります。
1.言語選択画面
箱から出して給電すると言語選択画面になっており、すでに「日本語」になって
いますので【次へ】をクリックすると2項のパスワード設定画面になります。
2.パスワード設定画面
「新しいパスワード」欄と「パスワードの再入力」欄にパスワードを入力します。
10文字以上の 大文字、小文字、数字、記号のうち、少なくとも2種類が必要
ですが「脆弱なパスワードを使用しない」をオフにすればこの限りではありません。
【適用する】ボタンをクリックします。
3.ファームウェアアップデート
ファームウェアアップデートがある場合通知がきていますので【アップグレード】
をクリックしますと、アップグレードが始まります。
4.タイムゾーンを【Asia/Tokyo】に設定
「システム」→「タイムゾーン」と進み設定します。
5.IPv6 を有効化
「ネットワーク」→「IPv6」と進み、モードは【NAT6】にします。
【適用する】ボタンをクリックします。
6.Tailscale を有効化
「アプリケーション」→「Tailscale」と進み、「有効にする Tailscale」スイッチ
をオンにし【適用する】をクリックします。
WAN 側を Subnets にするか、 LAN 側を Subnets にするかですが、
前者を Subnets にしますので、【リモートアクセスWANを許可する】の
スイッチをオンにし【適用する】をクリックします。
7.マルチWANの設定
「ネットワーク」→「マルチWAN」と進みます。
GL.iNet MT2500A はマルチ WAN 対応なので、インタフェースステータス
の追跡を【IPv6】メインにするため【有線】欄の右の ❂ マークをクリックします。
【IPv6】をクリックして【適用する】をクリックします。
モードは【フェイルオーバー】のままで結構です。
8.MAC アドレスの設定
IPv6 アドレス付与は EUI64 方式なので、MAC アドレスを【クローン】設定
しておいた方がよいでしょう。
「ネットワーク」→「MACアドレス」で「クローン」を選択し【適用する】を
クリックします。
管理画面からの設定は以上で終わりです。
今回はインターネットアクセスルーターとしては使わず、Tailscale の Subnets & Exit Node 利用なので、V6 プラスや DS lite、PPPoE などの設定は行いません。家庭内ルーターとして RTX830 の後段に置きます。
なので、LuCi の設定は IPv4 の DNS 設定だけです。
これは後で記載する、Tailscale の最新版の wget でのダウンロードの際に DNS が引けず Permission エラーになるのを防ぐためです。
まず、【システム】→【詳細設定】に移り「アドレス/cgi-bin/luci」の部分をクリックし OpenWrt LuCi 画面に移動します。
LuCi のログイン画面になります。
ID = root と パスワードを入力してログインするとステータス画面になります。
次に【Network】→【Interfaces】と移り、▢ の箇所をクリックします。
【Edit】→【Advanced Settings】と移ります。
上の方の ▢ の箇所に WAN 側のデフォルトG/W アドレスと 8.8.8.8 を追加します。
下の方の ▢ の箇所の【Delegate IPv6Prefixes】にチェックを入れ【IPv6 assignment length】に "64" を入れ【Save】します。
これは Exit Node の IPv6 を有効にするためです。
Exit Node での IPv6 は、現在の OpenWrt ではサポートされていないようです。
IPv6 のみのサイトにはアクセスできませんが、ほとんどが IPv4 も OK なので、実質的には問題はありません。
また、Exit Node はフリー WiFi 時のセキュリティ対策のためなので、使うことはまずないでしょう。
戻った画面で【Save & Apply】をクリックして反映させます。
家庭内ルーターなので、以上で設定は終わりです。
Tailscale の最新化
初期セットアップを終えた当初は、IPv6 化がどうしてもできず、あれこれいじりますが一向に解消しません。
丸一日奮闘するも虚しく、解消しません。
ひょっとして Tailscale のバージョンが古すぎる(1.32.2-1)のではないか、と思い立ち、最新化を行うことに・・・
結果的にはビンゴ!!
1.ターミナルから、ssh で入ります
Mac ~ % ssh root@192.168.8.1
2.バイナリファイルをパッケージとすげ替えします
整合性を確保のための呪文です。
root@GL-MT2500:~# opkg flag hold tailscale tailscaled
バイナリファイルをダウンロードします。
root@GL-MT2500:~# wget https://pkgs.tailscale.com/stable/tailscale_1.48.2_arm64.tgz
解凍し、/usr/sbin に移します。
root@GL-MT2500:~# tar zxf tailscale_1.48.2_arm64.tgz
root@GL-MT2500:~# mv tailscale_1.48.2_arm64/tailscale* /usr/sbin
Tailscale サービスをリスタートさせます。
root@GL-MT2500:~# service tailscale restart
3.Subnets & Exit Node を有効化
Subnets 有効化です。
root@GL-MT2500:~# tailscale up --advertise-routes=<WAN側アドレス> --accept-routes --advertise-exit-node
Subnets は Tailscale Console 画面から有効化できますので、上記コマンド
は不要かもしれません。
Exit Node 有効化です。
root@GL-MT2500:~# tailscale up --advertise-exit-node --accept-routes --advertise-routes=<WAN側アドレス>
※ <WAN側アドレス> は "192.168.xxx.0/24"
この最新化の直後にバージョン 1.50.0 がデリバリされ、再度最新化を行うことになりました。
2項のコマンド中の "1.48.2" を "1.50.0" で置き換えて再度やり直しです(トホホ・・・)。
以上で Tailscale の Subnets & Exit node 化と最新化ができました。
【番外編】
再起動のたびに GL.iNet MT2500A の Exit Node が無効になってしまい、そのたびにコマンドラインから有効化することに。。。
永続化できないかと探っていますがまだ見つけきれていません(😢)。
【追記:2023-09-28】次のようにして解消しました
/usr/bin/gl_tailscale の中の 173行に、
/usr/sbin/tailscale up --reset --accept-routes $param --timeout 3s > /dev/null
という行があり、この中の朱字部分を削除します。
削除後:/usr/sbin/tailscale up $param --timeout 3s > /dev/null
以上で、MT2500A 再起動後も Exit Node が無効にならなくなりました。
また、二重ルーター構成になっているのももどかしい。
これもなんとかしなくては。。。
いまは便宜上 Mac mini M1 の LAN ポートと GL.iNet MT2500A の LAN ポートを接続し、こちらのアドレスを 192.168.8.0/24 ドメインのアドレスにしています。
WiFi を 192.168.xxx.0/24 という、RTX830 の LAN 側のドメインアドレスにしています。
これにより、どちらのドメインも Mac mini M1 からアクセスできますが、ちょっと邪道です(美しくない)。
GL.iNet MT2500A を越えるルーティング設定すればいいのですが、面倒なので、とりあえず美しくないやり方でしのいでいます。
【追記:2023-09-27】次のようにして解消しました
LAN の接続形態とドメインは次です
RTX830 >> GL.iNet MT2500A >> Mac mini M1
<192.168.xxx.0/24> <192.168.8.0/24> <192.168.8.yyy>
① Mac の WiFi 接続はしない(オフ)
② Mac の LAN 接続は有効(オン)
アドレスは 192.168.8.yyy に設定(GL.iNet MT2500 配下)
③ Mac を tailscale のクライアントにします
Subnets と Exit Node 設定せず、None にする
こうすることで 192.168.8.0/24 ドメインだけでなく 192.168.xxx.0/24
ドメインもアクセスできる
さらに tailscale アドレス(100.zzz.vvv.www)でもアクセスできる
インターネットアクセスは Exit Node 経由時は、RTX830 配下時に比べて
かなり速度低下しますが、それでも DL=120Mbps 前後、UP=240Mbps
前後は出ます
Exit Node 経由しないで RTX830 ドメインのときは DL=900Mbps
前後、UP=800Mbps前後です
なので、Mac の tailscale は "None" に設定します
つまり tailscale のクライアントとしてログインしているので、tailscale VPN
メンバーだが、Exit Node は使わない、ということです
メンバーなので、外から Mac のファイル共有は可能です
また RTX830 接続時に比し、ネット速度低下は殆どない、 ということです
Tailscale 仮想 VPN の Exit Node 経由でのネット速度は、Raspberry Pi3 B のときに比べて3倍くらい改善されました。
また、
RTX830 >> Mac mini M1
接続時と、
RTX830 >> DL.iNet MT2500A >> Mac mini M1
(Exit Node ではない接続時)
接続時の ookla speedtest 結果は、下記のようになっています。
|
RTX830 >> Mac mini M1
|
|
RTX830 >> DL.iNet MT2500A >> Mac mini M1
|
DL.iNet MT2500A での速度低下はわずか 4% 以下にとどまっており、大変高性能であることがわかります。
前述したように Exit Node 経由だともっと低下しますが、100Mbps 以上は出ます。
Raspberry Pi3 B をExit Node にしたときは 3〜40Mbps 程度でした。
当初目的の一つである、スピード改善はできました。
もう一つの目的である発熱ですが、かなり暖かくなり、40℃ を越えているのではないでしょうか。
50℃まではいってなさそうなのでまぁまぁでしょうか。