光猫のスーパーパスワードを取得してIPv6をブリッジ接続する

はじめに
ずいぶん前にIPv4アドレスの枯渇問題を耳にして以来、私もIPv6のみのサイトをいくつか運営していることもあり、自宅のネットワークにIPv6を導入したいと思っていました。しかし、なかなか調べる時間が取れず、先日やっと時間ができたので調べてみました。
IPv6ブリッジ接続の過程で、最も重要なポイントとなるのが光猫のスーパーパスワードの取得です。いろいろと調べて試した結果、我が家の光猫はスーパーパスワードの取得が最も難しい部類であることが判明しました。しかし、友人からのアドバイスもあり、なんとか突破することができました。
面倒だと感じるなら、ワンクリックで解決してくれるサービスを淘宝(タオバオ)で購入するのがおすすめです。ただ、少々値段が張ります(高かったからこそ自分で突破しようと思い、あわや購入するところでした)。
準備
注意:この方法は理論上、中国移動(チャイナモバイル)のHGシリーズ光猫に適用可能です。
- 光猫の背面の写真(以下の情報が含まれています)
- MACアドレス
- 一般ユーザーのユーザー名とパスワード
- Windowsを搭載したパソコン(理論上はMacOSでも可能)
- Telnetサービス
スーパーパスワードの取得
ローカルTelnet
Windowsのコントロールパネルで、Telnetサービスを有効にします。

コンソール用パスワード
光猫の背面に記載されているMACアドレスをメモし、ハイフンを削除します。

例えば、MACアドレスが 54-E0-05-2A-4F-20 の場合、すべてのハイフンを削除して 54E0052A4F20 にします。
MACアドレスが見つからない場合は、この手順を読んでください。上記の手順でMACアドレスを正常に見つけられた場合は、この部分をスキップしてください。
パソコンのコンソール(Windowsの場合はCMD)を開き、以下を実行します。
arp -a
すると、ダイアログに大量の情報が表示されますが、192.168.1.1 に対応する文字列だけを見つければOKです。例えば、

この中で、最初の行の 192.168.1.1 に注目し、54:e0:5:2a:4f:20 をメモします。この時点では、コロンを削除しないでください!
理論上、各コロンの間には2文字ずつあるはずですが、このMACアドレス文字列では、コロンの間に文字が1つだけ(5)の箇所が2つあることに気づくでしょう。この場合、その 5 の前に静かに 0 を補い、54:e0:05:2a:4f:20 にします。そして、すべてのアルファベットを大文字に変換し、コロンを削除すると、54E0052A4F20 になります。
光猫のTelnet
ブラウザのアドレスバーに http:/192.168.1.1/cgi-bin/telnetenable.cgi?telnetenable=1&key= と入力します。
その末尾に、先ほど編集したMACアドレスを追加すると、以下のようになります。
http:/192.168.1.1/cgi-bin/telnetenable.cgi?telnetenable=1&key=54E0052A4F20
ブラウザに「telnet开启」と表示されれば、光猫のTelnetの有効化に成功です。
ブラウザに「操作错误」と表示された場合は、MACアドレスが正しく取得できていません。
スーパーパスワードの取得
コンソールを開き、以下を実行します。
telnet 192.168.1.1
すると、ユーザー名とパスワードの入力を求められます。
ユーザー名の候補は多く、root や admin などがあります。順番に試してみてください。私の環境では admin でした。
Linuxに詳しい方ならご存知の通り、ここでのパスワード入力はデフォルトで非表示です。正しいパスワードをそのまま入力してEnterキーを押せばOKです。

ここでのパスワードは Fh@ + 先ほど取得したMACアドレスの末尾6桁です。例えば、私のパスワードは Fh@2A4F20 です。
そして、ここからがパスワード取得の最も重要な部分です。光猫の機種によって、使用するコマンドが異なります。
ここでは、私が使用したコマンドを紹介します。
cfg_cmd get InternetGatewayDevice.DeviceInfo.X_CMCC_TeleComAccount.Username
cfg_cmd get InternetGatewayDevice.DeviceInfo.X_CMCC_TeleComAccount.Password
この2つのコマンドをそれぞれ実行すると、スーパー管理者のユーザー名とパスワードが表示されます。

これで、アカウントとパスワードの取得に成功しました。
興味がない場合は、次の小さなセクションはスキップしても構いません。
他の光猫で使用される可能性のあるコマンドは以下の通りです。
load_cli factory
show admin_name
show admin_pwd
1行目のコマンドは工場モードに入るためのもので、その後の show コマンドは工場モードのコマンドを使用してユーザー名とパスワードを表示します。
Q: 工場モードのコマンドはシンプルで分かりやすいのに、なぜそれを使わないのですか?
A: HG6042シリーズの光猫では、このコマンドを使用すると Unknown command と表示されます。この問題は、通信事業者がコマンドをブロックしているためと言われていますが、工場モード自体の権限も失われている可能性があります。2023年製の移動版の烽火網絡(ファーウェイ)の光猫では、suパスワードが変更され、一連の問題が発生しました。今年5月時点では、まだHG6042シリーズの光猫だけがパスワードを取得できませんでしたが、現在は解決済みです。解決時期はおおよそ今年の7月中旬で、この記事はまだ非常に新しい記事です。
Q: HG6042シリーズの光猫のパスワードは、何に基づいて取得されたのですか?
A: cfg_cmd get コマンドを使用し、Telnet後のLinuxスーパーユーザー権限を利用して、アカウントとパスワードを取得しました。
IPv6の有効化
ここでは詳しい説明は省略します。IPv6の有効化に関するチュートリアルは、こちらを参照してください:個人ブロードバンドでIPv6ネットワークアクセスを有効にする方法 | IP查询(ipw.cn)