2023-09-26

GL.iNet MT2500A (Brume 2) を Tailscale の Subnets Router & Exit Node にする【実践編】【追記あり】

 

 

【追記: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℃まではいってなさそうなのでまぁまぁでしょうか。

 

 








0 件のコメント: