Xiaomiの激安Wi-FiルーターRedmi AC2100の通信

Redmi Router AC2100

この「がとらぼ」で1年半ほど前に紹介 (前編/後編)したXiaomiの激安Wi-FiルーターのRedmi AC2100。使わなくなってすっかり忘れかけていたが、Xiaomiの製品についての最新情報を追いかけているニュースサイトXiaomiuiに何故か昨日(2022年4月10日)になって製品レビュー記事が掲載されてたのを見て久しぶりに押入れから引っ張り出してみた。

Redmi Router AC2100 電波停止設定
「がとらぼ」の中の人が購入したRedmi Router AC2100の技適の特例申請は廃止済みで再申請を行っていないのでWi-Fi電波を出しては使用できないが前回技適の特例申請で「廃止」を届け出る前にRedmi AC2100の設定でWi-Fiの電波を停止しておいたので有線LANで接続するだけなら問題ない。

このRedmi Router AC2100は中国のみの販売でUIが中国語だけ。英語モードすら無い。
そして、5GHz帯は5.2 GHzと5.8GHzに対応しているが日本では5.8GHzは利用できないので5.2GHzだけが利用可能。2.4GHz帯は日本と同じ。そして、技適が無いので日本国内でWi-Fiの電波を出すなら実験として特例申請が必要。

Wi-Fiアクセスポイント(ブリッジモード)としての動作は極めて良好で通信が詰まるようなこともなく高速で複数端末を接続しても安定していた。2020年夏の購入時の価格3,688円(送料172円込み)は鬼コスパといえる。

なんで使わなくなったんだっけ?

Redmi Router AC2100 通信内容確認
このRedmi Router AC2100は中華のサーバとの通信頻度が高すぎるんだった。

  • 183.84.5.229 Beijing HuaxiaYakue Network Technology Co., Ltd.
  • 161.117.95.80 api.miwifi.com ALICLOUD-SG
  • 47.89.66.200 broker.miwifi.com? Alibaba.com LLC 47.88.0.0/14
  • 47.89.66.201
  • 47.89.66.202
  • 47.89.66.203
  • 47.89.66.204
  • 47.89.66.205

上の8個(特に上の2つ)のIPアドレスとの通信頻度はかなり高い。ファームウエアの更新確認程度なら1日に1回程度で十分だと思うがのべつ幕無しで通信しまくる。通信量は少ないがウザい。
ちょうど1年前に通信を調べたときは「AC2100から7秒毎にapi.miwifi.comのAレコードとAAAAレコードを引いてたのが気になった」ということだったが、今回ダンプ内容を見ると名前解決してる記録が無いんだけど何故だろう。Wiresharkの表示の問題?Wi-Fiの電波を停止中はモードが変わって通信が大人しくなるとかあるのかしら?
上の47.89.66.20xの6個は固定ではなさそうで他にも多数(47.88.0.0/14以外も)あるようだがルーターは一定期間/再起動毎に「纏まったIPアドレス5,6個」と通信するみたい。

api.miwifi.comの名前解決をブロックするとXiaomiのウェブ http://www1.miwifi.com/miwifi_download.htmlでWi-Fiルーターのモデル別ファームウエアで直近の更新日やバージョン名、更新内容などが表示できなくなるので、このapi.miwifi.comは少なくともファームウエアのバージョン確認やファームウエアの提供などに関わっていると思われる。他にも何かに使われているかもしれないがそれは判らない。

  • 23.106.249.200 NTP ntp.sin1.sg.leaseweb.net
  • 80.241.0.72 NTP ntp.nic.kz
  • 119.28.183.184 NTP ホスト名が引けない TencentCloud
  • 18.180.64.47 NTP ap-northeast-1.clearnet.pw
  • 1.33.199.226 NTP ntp1.oag.co.jp Osaka Safety Glass, Corporation
  • 202.181.103.212 NTP sv1.localdomain1.com SRS SAKURA Internet Inc.
  • 133.243.238.243 NTP ntp-a2.nict.go.jp

時刻合わせのNTPは、ルーター起動後すぐに纏めて7個との通信を始めるが、その後の通信頻度はかなり低い。NTPサーバとの通信なのでそれで正しい動作だと思う。通信頻度が高すぎて福岡大の公開NTPサーバに迷惑をかけたTP-Linkの製品等が異常。

このRedmi Router AC2100をWi-Fiアクセスポイントとしてだけ利用する場合、つまりブリッジモードで使う場合はそのLANからインターネットに接続するのは別のルーターの筈。その別のルーターでRedmi Router AC2100のIPアドレスをブロックするとRedmi Router AC2100がインターネットとは通信できなくなる。AC2100に接続しているWi-Fiデバイスには影響しない(筈)。

/etc/nftables.conf (の一部)
1
2
3
4
5
6
7
table inet filter {
  chain forward {
    type filter hook forward priority 0; policy accept;
    ip saddr 192.168.0.250 drop
    ip daddr 192.168.0.250 drop
  }
}

インターネットに接続するルーターでnftablesが動いている想定。192.168.0.250がRedmi Router AC2100のIPアドレスとする。
このフィルタ設定例は乱暴なのでRedmi AC2100のIPアドレスの通信(中継)を全て遮断する。Redmi Router AC2100はLAN内のNTPサーバを探そうともしないので時刻合わせもできないかも。名前解決は不明。LANのDHCPサーバがそのルーターで動いているならRedmi AC2100がDHCPクライアントだとAC2100が次回再起動後にネットワークに接続できなくなるかもしれないのでIP固定の設定が必要。DHCPサーバが別のIPアドレスで動いているならAC2100がDHCPでネットワーク設定する状態で問題ない。

または

/etc/nftables.conf (の一部)
1
2
3
4
5
6
7
table inet filter {
  chain forward {
    type filter hook forward priority 0; policy accept;
    ip saddr 192.168.0.250 tcp dport { 1-65535 } drop
    ip daddr 192.168.0.250 tcp dport { 1-65535 } drop
  }
}

nftablesを理解していないのでTCPの通信だけをブロックする方法がよくわからなかった。今回はTCPの宛先ポートを1-65535で指定して無理やりブロックした。標準のチェーンでTCPだけを制御するのがあるならその方が良いかも。
forwardのチェーンなので中継するパケットの送信元アドレス(saddr)または宛先アドレス(daddr)がRedmi AC2100のIPアドレス(192.168.0.250)でTCPの宛先ポートが1-65535の範囲ならブロックする。Redmi AC2100がインターネット(の中華サーバ)と通信する全て(殆ど?)はTCPなのでその望まない通信はこれでブロックできる。NTPは通る筈。

このRedmi Router AC2100にOpenWRTの英語ファームウエアを焼けばUIが中国語でなくなるだけでなく中華サーバとの謎通信も無くなると思うけど、改造ファームウエアは技適の特例申請がアウトになると思うので「がとらぼ」で書けなくなる。だから諦める。中国語UIはブラウザの翻訳機能でなんとかなるし、謎通信対策は上のRedmi AC2100のパケットブロックで十分かも。