ページ

2023-10-28

GL-MT2500A に WiFi ドングルを挿してアクセスポイント化する


 

【2023-11-01 訂正・opkg list 更新失敗の件】

 

原因は tailscale DNS (100.100.100.100) で Public DNS が上書きされていたからでした。

 

GL-MT2500A の  /etc/resolv.conf が下記のようになっていました。

 

root@GL-MT2500:~# cat /etc/resolv.conf
# resolv.conf(5) file generated by tailscale
# For more info, see https://tailscale.com/s/resolvconf-overwrite
# DO NOT EDIT THIS FILE BY HAND -- CHANGES WILL BE OVERWRITTEN

nameserver 100.100.100.100
root@GL-MT2500:~# ping google.com
ping: bad address 'google.com' → DNS が引けなくてエラーになっている
root@GL-MT2500:~# 

 

--accept-dns=false を実行し、google.com に ping してみます。


root@GL-MT2500:~# tailscale set --accept-dns=false
root@GL-MT2500:~# ping google.com → DNS が引けて下記のように応答あり
PING google.com (2404:6800:4004:823::200e): 56 data bytes
64 bytes from 2404:6800:4004:823::200e: seq=0 ttl=56 time=6.882 ms
64 bytes from 2404:6800:4004:823::200e: seq=1 ttl=56 time=4.781 ms
64 bytes from 2404:6800:4004:823::200e: seq=2 ttl=56 time=5.034 ms

^C
--- google.com ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 4.759/5.565/6.882 ms

root@GL-MT2500:~#
 

 

ping が正常処理されているので Public DNS を引けています。

 

 

tailscale によれば「MagicDNS が tailscale を実行しているマシン上で有効であり、システム上で DNS マネージャーが実行されていないように見える場合、/etc/resolv.conf は tailscale が上書きします。」とありますが、そもそも MagicDNS は disable です。

 

 

なのでなぜ tailscale DNS で上書きされたのかがわかりません。

 

いずれにせよ対応方法はわかりました。

 

 

 

 

 

 

今回は 803 円で入手した Buffalo WI-U2-300D というドングルを用いました。

 

 

実は手持ちに TP-Link AC1300 Archer T3U があるのですが、OpenWrt のパッケージにこの機種用のドライバー rtl8812bu がありません。

 

 

GitHub にソースはありますが、OpenWrt にはこれを make するパッケージ類もなく、お手上げ状態です。



なので、WI-U2-300D よりも高性能ですがあきらめて、WI-U2-300D の方を使います。

 


 

 

LuCi の Software からドライバー "kmod-rt2800-usb" と、アクセスポイント化のためのパッケージ "hostapd" をインストールしたあと反映のために再起動します。

 

 

 

ーーーーー ここからの件は冒頭に訂正のとおり解消 ーーーーー

 

その後、なぜか、LuCi のパッケージ更新がパーミッションエラーとなり、パッケージリストは更新前のものが表示されたままです。

 


 

ただ、ほかのパッケージのインストールはできます。

 

 

管理画面の【アプリケーション】→【プラグイン】からの、更新ボタンクリックでは一見、正常処理されたように見えます。

 

 

こちらもほかのパッケージをインストールはできます。

 

 

 

GL.iNet のバグ報告と対応方法によれば、

 

1.  Change the language of Admin Panel to “简体中文”, then try again.
2.  Or ssh to router, edit /etc/opkg/distfeeds.conf, change fw.gl-inet.com to fw.gl-inet.cn
 

とあり、1項も2項も試しましたが解消しません。

 

ーーーーー ここまで ーーーーー

 

 

 

 

いずれにせよ、ドライバーと AP化パッケージをインストールします。 


 

管理画面から「アプリケーション」→「プラグイン」と進み、ドライバー kmod-rt2800-usb パッケージをインストールします。

 

次にアクセスポイント化のパッケージ hostapd をインストールします。

 


 

再起動して、ドングルを認識させます。

 

 

管理画面には【無線】メニューがでてきません。

 

なので無線設定は LuCi 画面で行います。

 

 

無線内蔵の AXT1800 には【無線】メニューがあります。

 

どうやら無線内蔵型化どうかでメニューに出るようです。




MT2500A の LuCi の画面には【無線】インタフェースがちゃんとでてきます。

 

 




 

 

LuCi で設定をしていきます。

 

【ネットワーク】→【無線】と進みます。

 

 

下図は設定済みのあと、スマホ 2台を接続した状態の画面です。



 

 


設定は、赤く囲んだ箇所の【編集】をクリックします。

 

【デバイス設定】の【一般設定画面】になります。

 

 

 

【無線ネットワークは有効】欄が【無効】となっていれば、【有効】な状態です(ヤヤコシいのですが・・・)

 


 

【動作周波数】は 5GHz または 2.4GHz 帯の形式やバンドなどを設定します。

 

【最大送信出力】は 10dBm を設定します。

 

 

 

【インタフェース設定】は次の設定をします。

 

 【モード】:「アクセスポイント(無線親機の設定)」

 【ESSID】:任意名

 

 

 

 

次に【デバイス設定】→【詳細設定】に移ります。

 

 

ここでは【国コード】を【JP - Japan】にします。

 

 

さらに【インターフェース設定】→【無線セキュリティ】と進みます。

 

 

 

【暗号化】欄は【WPA2-PSK (セキュリティ:強)】を選び、【キー】は自分環境に合ったキーを設定します。

 

 

 

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

 

 

以上で終わりです。

 

 

スマホ等から ESSID に接続にいくと接続されます。

 


 このときは3台ほど接続されています。

 

 

 

WI-U2-300D はすでに製造中止になっているデバイスなので速度は下記の通りで遅くはありませんが、爆速でもありません。

 

 

 


 

 

以上で、無線デバイスを持たない MT2500A の無線アクセスポイント化が完了です。

 

 

ほかのドングルでもできるものとできないものがあると思いますが、いろいろ試すほど持ち合わせがありません。

 

 

要は、ドライバーがインストールできてデバイスを認識できるかどうかに依存します。

 

 

ホントは 866 Mbps 以上で 802.11ax に対応したドングルを使いたいのですが。

 

 

 

 

 

 

 

 

 

2023-10-21

OpenWrt は tailscale の Exit Node で IPv6 が使えないようです

 

 

GL.iNet AXT1800 に入れた tailscale は現時点の最新版 1.50.1 です。 



AXT1800 は OpenWrt 21.02-SNAPSHOT r16399+159-c67509efd7 / LuCI openwrt-22.03 branch git-21.284.67084-e4d24f0 です。


 

Exit Node で IPv6 パケットがルーティングされない、というのは、いろいろググってみましたが、tailscale の問題というよりも、 OpenWrt の問題のようです。

 

GitHub#6677 に OpenWrt の Exit Node で IPv6 パケットがルーティングできない、とバグレポートされていますが、

 

GitHub#6252 で、

 

OpenWRT: IPv6 exit node cannot route exit packets due to OpenWRT policy rules #6677 

 

に、OpenWrt のポリシールールにより IPv6 Exit Node パケットをルーティングできない、とあります。

 

 

IPv4 ではルーティングできますので、Exit Node で IPv6 がルーティングされなくても実質的影響は殆どありません。

 

 

というのも現時点では IPv6 オンリーのサイトはほとんどなく、IPv6 でアクセスできるサイトでも IPv4 でのアクセスも可能だからです。

 

逆に yahoo みたいに IPv4 オンリーのサイトもあります。

 

 

 

例えば test-ipv6.com を Exit Node 経由(VPN 表示されている)でアクセスすると、下図のように IPv6 は NG とでます。

 




 

 

 

 

www.iijmio.jp のように IPv4 / IPv6 の両方に対応し、どちらでアクセスしてきたかがわかるサイトがあります。

 

 

 

Exit Node 経由(VPN 表示されている)では IPv6 がルーティングされないので、次のように IPv4 でのアクセスであるという表示がされます。





 

Exit Node を使わない(VPN 表示されていない)で iijmio にアクセスすると、IPv6 でのアクセスです、という表示になります。

 



 

 

IPv6 でのマスカレード設定をすればできるかも、という情報もあるのですが、具体的な方法の記載がなく、真偽は不明です。

 

 

いろいろ試してみましたが、どういう方法をとれば IPv6 がルーティングされるかがわかりません。

 

 

どなたか情報をお持ちでしょうか。

 

できない、となると何とかしてみたいというヤッカイな性分なので。。。

 

 

 

まぁ Exit Node 経由でのアクセスは、フリー WiFi でのセキュリティ対策以外にはワタシにとり、利用価値はありません。

 

 

 

そもそも楽天モバイルはデータ量無制限なので、フリー WiFi 自体を使うことはほとんどありません。

 

 

 

 

 

 

 

 

2023-10-12

AXT1800 の tailscale を最新版にする --- 2023-10-12 時点の最新バージョン 1.50.1

 

 

これまで AXT1800 は tailscale を最新版にできない、としていましたが、ワタシの勘違いだったことがわかりました。

 

 

勘違いで GL.iNet 社にはあらぬ疑いをかけてしまい、お詫びします(🙇‍♂)。

 

 

 

実は AXT1800 は arm32 アーキテクチャだったのですが、MT2500 と同じ arm64 と、勘違いしていました。

 

 

そのために tailsacale_1.50.1_arm64.tgz をインストールし、これを起動しようとして失敗していました。

 

 

ところがこれはワタシが間違っていたために失敗したのでした。

 

 

正しくは tailsacale_1.50.1_arm.tgz の方をインストールしなければいけなかったのです。

 

 

 

ただ、AXT1800 はストレージ容量が 128MB しかなく、MT2500 の 8GB に比して大変少なくて、空きが 42MB です。

 

一方、1.50.1 の tailscale, tailscaled は 43MB で少し空きが足りません。



そのため、ストレージがデフォルトの容量のままでは素直にはインストールできません。 

 

 


① sdカードか USB メモリを増設し、これを /overlay にする 

 

か、

 

② 実行ファイルを upx 圧縮する

 

かしない限りインストールできません。

 

 

どちらの方法でもインストールできれば正常に起動できます。

 

 

 

 

ここでは ② の方法での事例を記載します。

 

 

手順は次のとおりです。

 

1.Mac でパッケージを解凍し、tailscale, teilscaled を upx 圧縮する

 

  upx 圧縮されたモジュールはそのままで実行可能です

 

2.圧縮済みの tailscale, teilscaled を scp コマンドで AXT1800 に転送する

 

  Mac から AXT1800 に転送するために scp (sftp cp) を使います

 

3.tailscale を起動・正常稼働を確認する

 

  AXT1800 の管理画面から tailscale をオンにし、tailscale アカウント
  にバインドします




 

 

それでは 1 〜 3項を実際にやっていきます。

 

 

まず、LuCi →【システム】→【Software】に入り openssh-sftp-server をインストールしておきます。 


これは scp で転送したときに受け取る AXT1800 側に sftp サーバーが必要だからです。

 

 

upx は Mac に brew でインストールしておきます。

 

Mac-mini ~ % brew install upx 

 

 

次に https://pkgs.tailscale.com/stable/ から arm: tailscale_1.50.1_arm.tgz を Mac にダウンロード、解凍します。

 

解凍したフォルダに移り、tailscale, tailscaled を upx 圧縮します。

 

Mac-mini ~ % cd Downloads/tailscale_1.50.1_arm
Mac-mini tailscale_1.50.1_arm %
ls -l
total 84720
drwxr-xr-x@   4 <user>  staff              128 10  3 03:24 systemd
-rwxr-xr-x@    1 <user>  staff    15714171 10  3 03:24 tailscale
-rwxr-xr-x@    1 <user>  staff    27659889 10  3 03:24 tailscaled
Mac-mini tailscale_1.50.1_arm % upx --best tailscale*
                       Ultimate Packer for eXecutables
                          Copyright (C) 1996 - 2023
UPX 4.1.0       Markus Oberhumer, Laszlo Molnar & John Reiser    Aug 8th 2023

        File size         Ratio      Format      Name
   --------------------   ------   -----------   -----------
  15714171 ->   8724512   55.52%    linux/arm    tailscale                     
  27659889 ->  14803688   53.52%    linux/arm    tailscaled                    
   --------------------   ------   -----------   -----------
  43374060 ->  23528200   54.24%                 [ 2 files ]

Packed 2 files.
Mac-mini tailscale_1.50.1_arm % 



upx の --best は圧縮度合いをお任せする、というパラメータです。


43MB が 23MB までに圧縮されました。


 

 

次に圧縮した tailscale, tailscaled を、scp で転送して AXT1800 の /usr/sbin にあるオリジナルのものと置き換えます。



Mac-mini tailscale_1.50.1_arm % scp tailscale* root@192.168.8.1:/usr/sbin
root@192.168.8.1's password: <パスワード入力>
tailscale                                                   100% 8724KB   1.7MB/s   00:05    
tailscaled                                                  100%   14MB   1.6MB/s   00:08
Mac-mini tailscale_1.50.1_arm %



 

 

AXT1800 管理画面の アプリケーションで tailscale をオンにして起動します。

 

 

tailscale アカウントにバインドします。

 

 

tailscale の管理画面で確認すると AXT1800 は 1.50.1 になっているはずです。

 

 


 

上図にように AXT1800 が最新版 1.50.1 になっています。

 

 

 

 

これにより、自宅ネットワークは RTX830 をルーターとし、AXT1800 を tailscale & WiFi-AP とする構成か、

 

 

 

AXT1800 をルーター兼 tailscale & WiFi-AP とする構成のどちらでもいけます。

 


 

 

 

 


 

 

 


2023-10-10

ルーターは RTX830 に戻し、AXT1800 は WiFi-AP としました

 

 

2日前に GL.iNet AXT1800 をルーター専用機とし、MT2500 を tailscale 専用機に使い分ける としたばかりで「ほぼ最終形」としましたが、ルーターを RTX830 に戻しました。



舌の根も乾かぬうちに、となりましたが。。。

 

ど〜もスミマセン。





 

 

 

 

 

 

 

 

 

 

 

 

 

AXT1800 は RTX830 のそばに置いて WiFi-AP にしました。


AXT1800 をルーターにした場合、IPv6 のネットスピードは RTX830 並みでしたが、IPv4 は約 40% ダウンしていました。


 

RTX830 では IPv4 は IPv6 よりも若干遅くなりますが、約 10% ダウン程度です。




ATX1800 にとってカプセル化とアンカプセルは処理が重いのかも知れません。



それでも IPv4 で 500 Mbps 前後でますので、悪くはないのですが、高級機である RTX830 を遊ばせるのはもったいない気がしたのです。

 



以前は RTX830 + WG1200HS4 で 居間1と和室1をカバーしていました。



今回は RTX830 + AXT1800 で同エリアをカバーです。




AXT1800 を WiFi-AP で使うのは少しもったいない気もしないではないのですが、遊ばせるよりはよいかな、と。



AXT1800 は電波の飛びがよく、書斎や居間2まで届きますが、少し不安定です。


なので WiFi-AP の配置場所は従来と同じで、書斎や居間2、和室2にも WiFi-AP を置いています。




AXT1800 と交代した WG1200HS4 は居間2に移設です。


 

これまで居間2には WRC-1167GEBK を WiFi-AP として設置していましたが、WG1200HS4 に交代です。


 

 

 

MT2500 の tailscale 専用機としての位置付けは変更ありません。

 



 
 

 

 

 

2023-10-07

GL.iNet AXT1800 をルーター専用機とし、MT2500 を tailscale 専用機に使い分ける【2023−10−12 訂正あり】

 

 

【2023−10−12 訂正あり】

AXT1800 は tailscale 最新版が使えないとしていましたが、勘違いで、できることがわかりました。

 

MT2500 同様 arm64 アーキテクチャーと勘違いしていて、arm64 対応の tailscale パッケージを使おうとしたのが誤りでした。

 

AXT1800 は arm32 なので、arm 版 tailscale パッケージを使わなくてはいけなかったのです。

 

ともあれ、AXT1800 にも tailscale 最新版 1.50.1(2023-10-12 現在)をインストールして、正常起動を確認できています。

 

 

 

MT2,500 購入からセットアップ、その後 AXT1800 を購入しセットアップしました。

 

またこれらの組み合わせもあれこれやってみました。

 

 

使い方で二転三転、迷走しましたが、以下の形が最終形になると思います。

 

 

 

 

AXT1800 をルーター専用機 とし、MT2500 を tailscale 専用機 に使い分ける構成です。

 

 

 

 

なぜルーター専用機と tailscale 専用機に使い分けるかというと、以下の理由からです。

 

 ① AXT1800:tailscale を最新版にできない

        WiFi 付きで性能が MT2500 を少し上回る

 

 ② MT2500  :tailscale を最新版にできる

        WiFi なしなのでルーターにするなら LAN ポートは2つ欲しい

 

 

AXT1800 配下のローカルドメインで、MT2500 の WAN につなぎ、MT2500 の LAN ポートには何もつながない構成です。

 

 

ローカルドメインは 192.168.xxx.0/24 です。

 

AXT1800 ルーターは 192.168.xxx.1 で、MT2500 の WAN には 192.168.xxx.2 を割り当てました。

 

MT2500 の LAN 側のアドレスはデフォルトの 192.168.8.0/24 のままですが、何も接続しないので関与しません。 



この構成で MT2500 に入れるよう、http(80)と、ssh(445)をポート開放しています。

 

 

家庭内なのでポート開放してもセキュリティ上の問題は生じません。


 



 

MT2500 を tailscale 専用機で使用すると CPU 温度は概ね 40℃ 以下です。


 

AXT1800 の tailscale は停止です。

 

こちらは温度管理設定し、50 〜 55℃ です。




 

 

 

 AXT1800 は tailscale 最新版が使えない 

 AXT1800 は tailscale 最新版が使えます 

 

AXT1800 の場合、最新版をそのままではインストールできません。

 

 

理由は搭載ストレージ容量が 128MB で空きが 42.49 MB しかなく、1.50.1 の tailscale/tailscaled の 43.37 MB を置くには足りないからです。

 

 

置くためには、次の二通りのやり方があります。

 

 ① microSD を挿し /overlay にしてストレージを増やす

 ② Mac で解凍し upx 圧縮、これを scp 転送で AXT1800
   の /usr/sbin のものと置き換える

   upx 圧縮は、圧縮されたまま実行可能で、24 MB くらい
   に圧縮される

   

①、② のどちらも試して /usr/sbin に置けるようにはなりました。

 

 

また、正常に起動できることも確認済みです。

 

しかし AXT1800 上での 1.50.1 は、起動時に下記のエラーになるという致命的な問題があり、アップグレードが無意味になります。



root@GL-AXT1800:~# service tailscale restart
/usr/sbin/tailscaled: line 1: syntax error: unexpected "("
/usr/sbin/tailscaled: line 1: syntax error: unexpected "("
root@GL-AXT1800:~#




一つ前のバージョン 1.50.0 と、もう一つ前の 1.48.2 も試しましたが同じく起動時にエラーになります。




つまり AXT1800 は内蔵パッケージの 1.32.2-dev-t 以外は使えない、ということです。

 

 

ファームウェアが更新されて、そのファームウェアに含まれる tailscale のバージョンに制限される、ということになります。



次のファームウェア更新がいつかはわかりませんし、その時点で tailscale 最新版になるとは思えません。




自分で最新版にしようとするとまたエラーになる可能性が大きいでしょう。

 

 

 

 

 

 

 MT2500 は tailscale 最新版が使える 

 

MT2500 は次のコマンドで tailscale の最新版にアップグレードできます。

 

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

 

 

2023-10-06 現在、最新版 1.50.1 にアップグレードしています。

 

 ※ 実際には最新版の再インストールで、それまでのものと置き換えです

 

 

これにより、Funnel などの機能を使え、最新機能を使う上での制約がなくなります。

 

 

Exit Node は、フリー WiFi でセキュアにインターネットアクセスできるメリットがありますが、楽天モバイルのデータ通信無制限なので、使うことはまずないでしょう。



Subnets を 192.168.xxx.0/24 にしておくことで Mac のファイル共有や画面共有が、ウチでも外でもできるようになります。

 

 

NAS は必要ありません。

 

ディスク容量が欲しければ Mac にディスク増設すればいいからです。

 

 

共有を終了すれば Mac は 3分以内に自動スリープする設定です。

 

 

 

ほかに tailscale 関連でやってみたいことがあり、それらが問題なければこの構成が最終形になるでしょう。

 


 

 

 

 

 

2023-10-04

GL.iNet ルーターは結局2重ルーターで使います → 【2023-10-06 訂正・2重ルーターやめます・勘違いがありました】

 

 

 

【2023-10-06 訂正・2重ルーターやめます・勘違いがありました】


AXT1800 の tailscale のバージョン 1.32.2-dev-t では、Exit Node が使えないと勘違いしていました。

 

 

また Subnets についてもローカルドメインをアクセスできない、と勘違いしていましたが、ローカルドメインはアクセスできることが確認できました。

 

 

なので、2重ルーター構成を解消し、AXT1800 ルーターのみで構成することにしました。



AMT1800 には WiFi6 があり少し性能がよい点と、MT2500 の tailscale 最新版が動作する、イイトコどりで使うことにしました。

 

 

 

 ちょっと前までの「これまで」

 


 

 ちょっと前までの「これから」

 


 

GL MT2500 は Xpass ルーター設定のままです。

 

AXT1800 も Xpass ルーター設定です。




つまり Xpass ルーターの二重構成ということになります。

 

MT2500 配下の機器からのパケットは、IPv6 カプセルで en ひかりの Xpass ノードまで届き、そこで解凍されて IPv4 または IPv6 でインターネットアクセス、ということになります。



このときカプセル化された IPv6 パケットなのでそのまま AXT1800 を通過します。

 



AXT1800 配下のスマホ等は AXT1800 でカプセル化されて Xapss ノードまで届き、解凍されてインターネットアクセス、ということになります。



Mac があるドメインから上位のドメインの機器類はそのまま扱えます。

 

 

 

 

 

 本日これから 

 

 

 

ATX1800 のデフォルトの 192.168.8.0/24 を、元々の家庭内のドメインアドレス・192.168.xxx.0/24 にしました。

 

 


 

 

tailscale では Subnets 機能により、192.168.xxx.0/24 にある Mac のファイル共有が可能です。

 

 

 

どちらにも luci-app-temp-status というパッケージを入れてあり、LuCi のステータスページで cpu 温度を見れます。

 

 


 

内側の 枠内のコピーマークをタッチして、これを LuCi にログインしたターミナルへペーストし、実行します。

 

root@GL-AXT1800:~# wget --no-check-certificate -O /tmp/luci-app-temp-status_0.3-5_all.ipk http
s://github.com/gSpotx2f/packages-openwrt/raw/master/current/luci-app-temp-status_0.3-5_all.ipk

--2023-10-04 09:19:27--  https://github.com/gSpotx2f/packages-openwrt/raw/master/current/luci-app-temp-status_0.3-5_all.ipk
Resolving github.com... 20.27.177.113
Connecting to github.com|20.27.177.113|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://raw.githubusercontent.com/gSpotx2f/packages-openwrt/master/current/luci-app-temp-status_0.3-5_all.ipk [following]
--2023-10-04 09:19:27--  https://raw.githubusercontent.com/gSpotx2f/packages-openwrt/master/current/luci-app-temp-status_0.3-5_all.ipk
Resolving raw.githubusercontent.com... 2606:50c0:8000::154, 2606:50c0:8002::154, 2606:50c0:8003::154, ...
Connecting to raw.githubusercontent.com|2606:50c0:8000::154|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2883 (2.8K) [application/octet-stream]
Saving to: '/tmp/luci-app-temp-status_0.3-5_all.ipk'

/tmp/luci-app-temp-stat 100%[=============================>]   2.82K  --.-KB/s    in 0s      

2023-10-04 09:19:27 (17.4 MB/s) - '/tmp/luci-app-temp-status_0.3-5_all.ipk' saved [2883/2883]

root@GL-AXT1800:~# opkg install /tmp/luci-app-temp-status_0.3-5_all.ipk
Installing luci-app-temp-status (0.3-5) to root...
Configuring luci-app-temp-status.
Updating database.
Database update completed.
root@GL-AXT1800:~# rm /tmp/luci-app-temp-status_0.3-5_all.ipk
root@GL-AXT1800:~# /etc/init.d/rpcd reload

 

 

実行すれば、LuCi のステータス画面で見ることができます。

 

 

 

 

 

AXT1800 の温度ですが、50℃ 前後になるようにファン制御コマンドで設定しています。

 

 



GL.iNet のサポートフォーラムに掲載されていた uci コマンドで制御する方法です。

 

この中の nopro404 という方が指示された、下記コマンド群です。

 

root@GL-AXT1800:~# /etc/init.d/gl_fan stop
root@GL-AXT1800:~# uci set glfan.@globals[0].temperature='60'
root@GL-AXT1800:~# uci set glfan.@globals[0].integration='4'
root@GL-AXT1800:~# uci set glfan.@globals[0].differential='20'
root@GL-AXT1800:~# uci commit glfan
root@GL-AXT1800:~# /etc/init.d/gl_fan restart
Command failed: Not found → エラーになっているが構わずもう一度実行すれば OK
root@GL-AXT1800:~# /etc/init.d/gl_fan restart

 

60℃ を目標温度とし、ファン回転数を PID 制御するときのパラメータの積分値(integration)が '4' で、微分値(differential)が '20' だそうです。

 

目標温度を下げすぎると基盤寿命よりも先にファンの寿命になってしまうので、バランスが必要なのでしょう。

 

 

デフォルトではそれぞれ 75℃、'2'、'10' です。

 

 

GL.iNet はいまも試行錯誤状態にあるみたいで、次のファームウェア更新ではおそらくデフォルト値が変わるでしょう。 

 

 

ワタシは目標温度を 60℃ ではなく 50℃ 設定にしました。

 

概ね 50℃ 近辺におさまるように、ファンが自動的に回転数を PID 制御して回ったり止まったりしているようです。

 

 

 

 

 

次は参考までに MT2500 の場合の温度ですが、この機種はファンが付いていません。

 

 


 

 

こちらはファンなしですが 45〜50℃ 程度になっており、50℃ を越えることはありません(真夏の酷暑のときはわかりません)。

 

 

 

 

 

ネットスピードは、ookla-speedtest で次のような数値です。

 



 

AXT1800 だけのときに比して 4〜5% 低下していますが、まったく問題ないスピードで、MT2500 だけのときよりも数値はよいのです。

 

 

ちょっと不思議です。

 

 

 

 

 

2重ルーターをやめて測定しましたら、次のような結果になりました。

 


 

ほぼ、RTX830 並みの性能値です。

 

 

 

なにやってたんだろ?  お騒がせしました🙇‍♂

 

 

 

 

でもお陰で(?)MT2500 がお役御免です、こちらはどうしましょうか。 



 

RTX830 のときに、WiFi−AP として使っていた Aterm WG1200HS4 もお役御免です。


AXT1800 の、より高性能な WiFi が使えるようになりましたので。




 

 

 

 

GL.iNet AXT1800 の tailscale 最新化(ver. 1.50.1) ができません【2023-10-12 間違っていました、最新化できます】

 

 

【2023-10-12 間違っていました、最新化できます】

 

以下、消し線部分は間違った箇所、青字部分が追加変更箇所です。

 

最新化できなかったのは tailscale のパッケージの選択を誤っていたためでした。

 

AXT1800 は arm32 だったのですが、早とちりして arm64 と、勘違いしていました。

 

パッケージの最新も tailscale_1.50.1_arm64.tgz ではなく tailscale_1.50.1_arm.tgz の方でした。



MT2500 が arm64 なので、てっきり AXT1800 もそうだと早とちりしてしまいました。

 

 

いまは 1.50.1 バージョンにアップグレードできて、正常に起動できています。

 

 

ストレージ容量に余裕がありませんから、これを sdカードまたは USB メモリで拡張してインストールするか、upx 圧縮して scp で /usr/sbin に転送するかですが、どちらの場合でも問題はありません。

 

 

 

 

 

現時点の tailscale 最新版は 1.50.1 です。

 

MT2500 は再インストールでき最新版になっています。

 

 

AXT1800 はストレージ容量が 128MB しかなくほとんど空きがありません。

 

出典:GL.iNet ホームページ画像を抜粋

 

 

 

手持ちの microSD/2GB ですがパッケージを追加インストールするには十分なので、これを挿して overlay にしました。

 

空きが一挙に 1.8GB 増えて MT2500 以上に増えました。

 

そこで tailscale_1.50.1_arm64.tgz をダウンロードしてインストールまではできました。



しかし、これを起動しようとすると下記のエラーでできません。 



root@GL-AXT1800:~# service tailscale restart
/usr/sbin/tailscaled: line 1: syntax error: unexpected "("
/usr/sbin/tailscaled: line 1: syntax error: unexpected "("
root@GL-AXT1800:~# 





amd64 版ではどうかな、ということで tailscale_1.50.1_amd64.tgz をインストールできるのですが、同じエラーになります。

 

 

CPU は MT2500 が MediaTech MT79818 で、AXT1800 が IPQ6000 と違いがあり、この違いのせいでしょうか。

 

微妙に命令セットが異なるのかも知れません。 



たしかに 64bits と 32bits の違いがありました 。

 

ソースを持ってきて修正し、自分で make してインストールするしかないのでしょうか。





そこまでやる?



面倒ですねぇ(😢)

 

 

AXT1800 に入っているアップグレードバージョンは 1.32.2-dev-t です。

 

 

Subnets と Exit Node は一応使えます。

 

 

 

Funnel が使えるかどうかは未検証です。

 

 

 

無線LAN もあり、LAN ポートx2ありますし、MT2500 よりは少し性能がよいので温度管理さえできればアツアツ問題もクリアですが。。。

 

 

 

 




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 は必須