2023-10-03

GL.iNet MT2500A に DS-lite ルーターとしての設定をしたお話し

 

 

上位にインターネットできるルーターが必要です

 

 🌎 >> 上位ルーター (192.168.xxx.0/24) >> MT2500 (192.168.8.0/24) >> Mac (DHCP 割り当て)

 

 

 

 

最初に、ブラウザで 192.168.8.1 と入力して管理画面を開きます。

 

 

 

  

 管理画面での設定 



1.言語選択:【日本語】
 

2.パスワード設定:パスワードを入力します


3.ファームウェア 4.4.5 をダウンロードしておきます
  これをアップグレードします

 

  【システム】→【アップグレード】で「ローカルアップグレード」タブにします

 

  「ファイルを選択するか、こちらにドラッグしてください」にダウンロード
  しておいたファイルをドラッグし、アップグレードします


4.タイムゾーン:【Asia/tokyo】にします


5.ネットワーク:
 

 ① IPv6:Passthrough
 

 ② マルチWAN:❂をクリックして【トラックプロトコル:IPv6】
 

 ③ MACアドレス:IPv6 のアドレス付与方式が EUI64 なのでモードを
  【クローン】にします
 

 ④ ネットワークアクセラレーション:オフ

   デフォルトはオンですが、一部機能とバッティングしますからオフにします


6.アプリケーション:tailscale 有効化と、【LAN のリモートアクセスを
  許可する:オン】
 

 ・Tailscale Admin Console をクリックして登録・ログイン認証を受けます
 

7.アプリケーション → プラグイン
  ・ds-lite をインストール
  ・luci-i18n-base-ja(Luci 日本語化)をインストール






  LuCi での設定 


管理画面の【システム】→【詳細設定】とし、192.168.8.1/cgi-bin/luci をクリックして LuCi のログイン画面に移ります。
 

 

ID は root、パスワードは管理画面で最初に入力したものと同じです。

 

 

1.【ネットワーク】→【インタフェース】
 

下図では【EN_XPASS】がありますが、この段階ではまだ【EN_XPASS】インタフェースは存在していませんので、あとで作ります。






 ①【LAN】インタフェースの【編集】をクリック

 ②【DHCPサーバー】→【IPv6設定】:

  下記の設定をします(すべてリレーモード)→【保存】







 ③【WAN6】インタフェースの【編集】をクリック

 ④【DHCPサーバー】→【IPv6設定】:

  下記の設定をする(すべてリレーモード)
  【Designated master と Learn routes:ともにチェック】→【保存】





 ⑤【en_xpass】のインタフェースを新規に作成

  【名前(任意):en_xpass】とプロトコル【Dual-Stack Lite (RFC6333)】
  を選択して【インタフェースを作成】をクリック






 

 作成すると、下の画面になるので、 AFTRアドレスとして en_xpass
 のアドレス【dgw.xpass.jp】を入力します



 




 

 ⑥ 上の画面の【ファイアウォール設定】をクリックしてゾーンを下のように
   選んで【保存】をクリック





 

 


2.ネットワークインタフェースに戻ります

  右下の【保存&適用】をクリックして反映させます

 

3.【システム】→【再起動】で再起動します

 

  この段階で DS-lite 接続できるはずです。

  4項、5項の前に6項の接続確認ができます。

 

4.【ネットワーク】→【ファイアウォール】の設定が下記設定か確認します

 ① MT2500A の場合は、”Software flow offloading” と
   “Hardware flow offloading” をチェックします

   (下図の上の赤枠部分:AXT1800 にはありません)


   カーネルのルーティング負荷が減る効果があるらしい

 ② Input/Output/Forward/Masqueradeing の各設定
   Input は reject でも drop でもよいが下記の違いがあり、drop
   の方がよいでしょう

  (下図の下の赤枠部分)

   drop :パケットは破棄し、送信元にエラーを返さない
   Reject:送信元に “icmp Unreachable" や “tcp rst" を
       を破棄する
       送信元にはこのサイトの実在がわかってしまう






5.そのほかの見直し点

 ① 【ネットワーク】→【インタフェース】→【EN_XPASS】→【詳細設定】→【トンネルインタフェースでMTUを使用】欄が
   1280 になっているのを 1460 を設定します

 ② 接続が安定しない場合
   サイトによって読み込みが不安定な場合、mss が原因の場合があります
   ファイヤーウォール設定の「wan ⇒ REJECT」(Masqueradingにチェックがある)の編集を開き、
   「MSS clamping」をチェックします

 ③ Traffic Rules
   DNS / DHCPv6 / ICMPv6 を追加します

  ・DNS: DNSを正しく動作させるためのルールです

   IPv6 の DNSだけ生かしているので、IPv6だけ通過させています


  ・DHCPv6: IPv6通信をするために必須です


  ・ICMPv6: IPv6では経路情報等をICMPパケットで交換するため、IPv6通信
   に必須です
   

   ※ OpenWrtの標準ルールでは、ICMPのパケットタイプを限定して設定
      されている









6.DS-lite 接続を確認します


  3項の再起動で DS-lite 接続できる状態になっています。

  上位ルーターを外して DS-lite 接続を確認します。

 

 🌎 >> MT2500 (192.168.8.0/24) >> Mac (DHCP 割り当て)

 

  ブラウザで下記サイトをアクセスして確認します。

  ・Xpass 接続:check.xpass.jp

  ・IPv6 接続 :test-ipv6.com  or ipv6-test.com  

  ・IPv4 接続 :www.yahho.co.jp

         (yahoo.co.jp は現時点で IPv6 に未対応)


 

 

7.LAN アドレスの変更

 

  MT2500 のデフォルトが 192.168.8.0/24 ですが、ローカルネットワーク
  は 192.168.xxx.0/24 ですから変更します。


  ※ 192.168.8.0/24 のままでもよければこの操作は不要です


 

  管理パネルから 192.168.8.0/24 → 192.168.xxx.0/24 に変更します。



  変更によって DS-lite 接続が外れるかも知れません。

 

  LuCi の【ネットワーク】→【インタフェース】で各インタフェースが
  「エラー:ネットワークデバイスが存在しません」というエラーです。

 

  この場合、WAN / WAN6 の eth0 が外れていることがあるので、再設定し
  【保存&適用】します。

 

 【再起動】して DS-lite の稼働を 6項のように確認します。






 tailscale の最新化 


tailscale を使わなければ本項はパスしても構いません。

 

 

プレインストールされている tailscale はバージョンが古すぎて Subnets 機能の一部が不足しており、IPv6 と Exit Node や、Funnel に未対応です。


 

ターミナルから ssh root@192.168.xxx.1 で MT2500 に入って、下記コマンドで最新版・1.50.0 をインストールします。

 

 ※ AXT1800 ではストレージ容量不足でインストール不可です



root@GL-MT2500:~# opkg flag hold tailscale tailscaled
root@GL-MT2500:~# wget https://pkgs.tailscale.com/stable/tailscale_1.50.0_arm64.tgz
root@GL-MT2500:~# tar zxf tailscale_1.50.0_arm64.tgz                  
root@GL-MT2500:~# mv tailscale_1.50.0_arm64/tailscale* /usr/sbin           
root@GL-MT2500:~# service tailscale restart                     



Subnets & Exit Node の有効化をします。

root@GL-MT2500:~# tailscale up --advertise-routes=192.168.11.0/24 --accept-routes --advertise-exit-node


tailscale コンソールで確認します。






 CPU 温度表示 

 

LuCi はデフォルトでは温度表示しません。

 

GitHub のサイトに温度表示用パッケージインストール方法の記載があります。

 https://github.com/gSpotx2f/luci-app-temp-status

 

LuCi のバージョン(21.02)に合わせた手順通りにインストールします。

 

LuCi にログインしてステータス画面で温度表示を確認します。

 

 

MT2500 の場合は 50℃ 以下です。

 

AXT1800 は 65℃ にもなり、内蔵ファンでは意味がなく、外付けファンが必要です。



 

 


 番 外 

 

MT2500(AXT1800 も)のファームウェア 4.4.5 release1 ではシステムログで延々と30秒おきに cron err ログを吐くバグがあります。

 

下記のようなログです。



 ︙
Mon Oct  2 14:47:00 2023 cron.err crond[3675]: USER root pid 11587 cmd . /lib/functions/modem.sh;check_ip
Mon Oct  2 14:47:00 2023 cron.err crond[3675]: USER root pid 11588 cmd sleep 30;. /lib/functions/modem.sh;check_ip
Mon Oct  2 14:48:00 2023 cron.err crond[3675]: USER root pid 13550 cmd . /lib/functions/modem.sh;check_ip
Mon Oct  2 14:48:00 2023 cron.err crond[3675]: USER root pid 13551 cmd sleep 30;. /lib/functions/modem.sh;check_ip
Mon Oct  2 14:49:00 2023 cron.err crond[3675]: USER root pid 15500 cmd . /lib/functions/modem.sh;check_ip
Mon Oct  2 14:49:00 2023 cron.err crond[3675]: USER root pid 15501 cmd sleep 30;. /lib/functions/modem.sh;check_ip
Mon Oct  2 14:50:00 2023 cron.err crond[3675]: USER root pid 17529 cmd . /lib/functions/modem.sh;check_ip
Mon Oct  2 14:50:00 2023 cron.err crond[3675]: USER root pid 17530 cmd sleep 30;. /lib/functions/modem.sh;check_ip
Mon Oct  2 14:51:00 2023 cron.err crond[3675]: USER root pid 19565 cmd . /lib/functions/modem.sh;check_ip
Mon Oct  2 14:51:00 2023 cron.err crond[3675]: USER root pid 19566 cmd sleep 30;. /lib/functions/modem.sh;check_ip
 ︙


 

無視しても構わないのですが、この不要ログは次のコマンド実行で吐かなくなります。



root@GL-MT2500:~#
root@GL-MT2500:~# uci set system.@system[0].cronloglevel="10"
root@GL-MT2500:~# uci commit system
root@GL-MT2500:~# uci show system
system.@system[0]=system
system.@system[0].log_size='64'
system.@system[0].urandom_seed='0'
system.@system[0].hostname='GL-MT2500'
system.@system[0].compat_version='1.0'
system.@system[0].ttylogin='1'
system.@system[0].timezone='JST-9'
system.@system[0].zonename='Asia/Tokyo'
system.@system[0].log_proto='udp'
system.@system[0].conloglevel='8'
system.@system[0].cronloglevel='10'
system.ntp=timeserver
system.ntp.server='ntp.nict.jp' '0.openwrt.pool.ntp.org' 'pool.ntp.org'
root@GL-MT2500:~# /etc/init.d/gl_timer restart
root@GL-MT2500:~#


  
uci show system は実行しなくてもよいが、uci commit system は必須

 

 

 

 

 

 

 

0 件のコメント: