方法:モバイル通信経由でHeliumをマイニングする方法
HNT Wallet:
13bLi78qskZov4AbvWCWFwGX6odmxLbxbvN5z2FjsreGS4zLEJb
ETH Wallet:
0x67a10EDdD58c9B5E22c689c83a5F0b8B4d6DF273
📜 少しだけ背景を説明します
数か月前、私はTeltonika Rut240セルラールーターを使って、モバイル通信経由でHeliumをマイニングする方法について記事を書きました。なぜモバイル通信経由でHeliumをマイニングしたいのでしょうか。また、なぜそのためにガイド全体が必要なのでしょうか。そうした疑問が浮かんだ方は、その記事に戻ってください。そこでは、なぜこれを行うのか、そしてモバイルネットワーク経由のHeliumマイニングが難しい一方で、やりがいもある理由をすべて説明しています。楽しい図解もたくさんあります。
ただし、すでにそのガイドを最後まで読んでも行き詰まっている場合は、続きを読んでください。
🕳 行き詰まりから抜け出す
前回の記事を書いてから、多くの方からDiscordで、Rut240をWireGuardに接続できないという相談を受けました。あまりにも多かったため、私は自分の環境(Rut240とLinodeのVPS設定)をいったん消去し、以前マイナーをリレー状態から外せた接続を再現してみることにしました。
ところが、これを行った後、残念ながらRut240を再びWireGuardに接続できませんでした。私はネットワークエンジニアではありませんが、接続を動作させるために3~4日ほど、朝から晩まで試行錯誤しました。問題の切り分けについてTeltonikaのサポートにも何度か問い合わせましたが、しばらく返答がありませんでした。
彼らを責めるつもりはありませんが、最終的には返事をもらえました。ただ、その連絡が来たとき(この記事を書いている日から数日前)には、すでに2台のRut240を返品し、DiscordのMo#3110が成功したと話していた別のルーター、GL.iNet GL-x750v2に乗り換えていました。
私の経験では、Rut240のWireGuard VPN対応は後付けのように感じられました。手動でインストールする必要があり(Rut240のファームウェアを更新した後でなければなりません)、UIもかなり扱いにくいものでした。Rut240でOpenVPNを設定した方がうまくいったという人もいます。TeltonikaはルーターにOpenVPNのサポートをより適切に組み込んでいるようです。私はOpenVPNの経験があまりないため、Mo#3110の助言に従い、WireGuardのサポートがより充実したルーターに交換することにしました。
👨⚖️ では、結論は?
新しいGL.iNet GL-x750を開封してから1時間ほどで、モバイル通信経由でマイナーをリレー状態から外すことができました。
大まかに言えば、GL.iNetデバイスの管理画面ははるかに使いやすく、操作もしやすいと感じました。サポートチームの対応も素早く、Telegramで質問に答えてくれました。
つまり、Rut240を動作させられたなら幸運です。そうでなければ、GL.iNet GL-x750v2への乗り換えを強くおすすめします。
✨ (更新版)ガイド ✨
🖥 パート1:VPS / WireGuardサーバーの設定
幸い、GL.iNet-GLx750が接続するWireGuardサーバーの設定手順は同じです。このガイドを簡潔にまとめるため、ここではその部分を省略します。すでにWireGuard VPNを実行していない場合、または最初からもう一度やり直したい場合は、前回の記事の「🖥 ガイド:モバイルホットスポット用VPSのデプロイ」というセクションを参照してください。
🛑 続行する前の前提条件…
前回の記事のVPS設定手順を終えると、次のものがそろっているはずです。
-
LinodeサーバーのIPv4アドレス(
xxx.xxx.xxx.xxxのような形式) - そのLinodeサーバーでWireGuardが正常に動作していること
-
VPS上で動作するWireGuardインターフェース用の秘密鍵/公開鍵のペア(
privatekey/publickey) -
使用するルーター用の秘密鍵/公開鍵のペア(
hotspot-privatekey/hotspot-publickey) - GL.iNetルーターデバイス。このガイドではGL.iNet GL-x750v2を使用しますが、Mangoなど、ほかのGL.iNetデバイスでも手順は同じです。
これらのいずれかが足りない場合は、前回の記事に戻り、WireGuardを使ったLinodeサーバーを新たに構築することを強くおすすめします。大げさに聞こえるかもしれませんが、これは細かな正確さが求められる作業なので、ほこりのたまった環境よりも、まっさらな状態から始める方が確実です。
📟 パート2:GL.iNet GL-x750v2ルーターの設定
それでは、始めましょう。
まず、通信事業者から受け取ったSIMカードをGL.iNetルーターの背面に挿入します。電源を入れる前に、付属の必要なアンテナをすべて取り付けてください。
ルーターを電源に接続します。1分ほどすると、パソコンのWi-Fi一覧に表示されるはずです。GL.iNet GL-x750の場合は、GL-X750-...-5Gと表示されます。
接続してください。
ブラウザーで192.168.8.1にアクセスし、ルーターの管理画面にログインします。
言語選択ページが表示されます。言語を選択すると、パスワード設定ページに進みます(管理者パスワードの変更を求められる前に、ルーターの箱の背面に記載された初期認証情報の入力が必要になる場合があります)。
ログインすると、見た目も使いやすそうな管理画面が表示されます。
📡 VPN接続の設定
このルーターをWireGuardサーバーに接続しましょう。
サイドパネルで「VPN」 > 「WireGuard Client」をクリックします。
「Management」タブに移動し、「Add New Profiles」をクリックします。
WireGuardインターフェースとピアの入力フォームが表示されます。次のスクリーンショットに示されている情報を入力してください。
< >で囲まれた内容は入力する項目です。秘密鍵/公開鍵については、前の手順で生成した同名ファイルの内容をコピーして、これらのフィールドに貼り付けてください。
「Apply」をクリックします。
ルーターとLinodeのWireGuardサーバーとのハンドシェイクが成功すると、サイドバーの「WireGuard Client」の横に小さな緑色の点が表示されます。成功しなかった場合は、次のように黄色の点が表示されます。
黄色の点が表示された場合は、前回のガイドを参照してください。そこでは接続をデバッグする手順を説明しています(検索するキーワード:tcpdumpはWireGuard接続上のネットワークトラフィックを確認するために使います。また、systemctl status wg-quick@wg0はWireGuardインスタンスが実行中かどうかを確認するために使います)。
緑色の点が表示されていれば、ポートフォワーディングに進む準備は完了です。
🎈Helium用ルーターの設定
いよいよマイナーを接続します。電源に接続し、マイナーとルーターのLANポートをEthernetケーブルで接続するか、マイナーがモバイルルーターのWi-Fiに接続するよう設定してください。ここまで進めてきた方なら、その方法はご存じでしょう。
では、ルーターの管理画面に戻ります。
サイドバーで「Clients」に移動します。
接続済みデバイスの一覧に、マイナーのMACアドレスが表示されているはずです。
マイナーがWi-Fi経由で接続されているかEthernet経由で接続されているかによって、Wi-Fi MACアドレスまたはEthernet MACアドレスを探す必要があります。これはマイナーの箱の背面、またはマイナー本体に記載されています。
この表でマイナーを見つけたら、内部IPアドレス(マイナーの内部IP)を控え、同じ行に表示されているMACアドレスをコピーします。
𝌚 固定DHCPリースの作成
情報を確認できたら、マイナー用の固定内部IPアドレスを設定します。
背景:多くのルーターは、デバイスがネットワークから切断・再接続したときにIPアドレスを再割り当てし、時々更新します。これはルーターにとっていくつかの理由で便利ですが、ここでは詳しく説明しません。知っておくべきことは、デバイスにポートフォワーディングルールを設定した後、このIP再割り当ての動作が不都合になるという点です。再割り当てによってポートフォワーディングルールが機能しなくならないよう、ルーターがマイナーに別の内部IPを再割り当てするのを防ぎます。
そのため、サイドバーで「More settings」 > 「LAN IP」をクリックします。
次のようなページが表示されます。
ページの「Static IP Address Binding」セクションに表があります。MACというラベルの付いた表の最初の列に、マイナーのMACアドレスを選択できるドロップダウンがあります。前の手順で控えたMACアドレスを選択します。
右側のIPフィールドに、同じく前の手順で控えたIPアドレスを入力します(両方とも控えましたよね)。
🧱 ファイアウォールの設定
IPの再割り当てを防止できたので、いよいよポートフォワーディングルールを設定します。
サイドバーで「Firewall」をクリックします。
次のような表のあるページが表示されます。
入力フィールドが空白の行に、スクリーンショットとまったく同じ内容を入力します。ただし、IPだけは例外です(スクリーンショットのIPは私の環境固有のものです)。先ほど控えた、ルーターがHeliumマイナーに割り当てたIPアドレスを入力し、右端の列にある「Add」をクリックします。
🔴をつなぐ
では、実際に動作するか確認しましょう。
まず、ルーターに接続していることを確認します。次にこのポート確認ツールにアクセスし、ポート番号欄に44158を入力します。「Check」をクリックしてください。
正常に動作していれば、次のメッセージが表示されます。
それでもポートが閉じている場合は、前の手順で入力したすべての値をもう一度確認してください。それでも閉じたままなら、前回の記事を確認してください。そこでは、tcpdumpを使ってWireGuard接続をデバッグする方法をもう少し詳しく説明しています。
重要:マイナーをルーターに接続して電源を入れる前に、ポート確認テストを実行することはできません。誰かに言われれば当然のことですが、私も最初に設定したとき、この点を見落としました。
これで完了です。
…ほぼ完了です。
👨💻 マイナーへのリモート接続
技術的には、ここまでで完了です。1日ほど待ってブロックチェーンが新しい設定を認識すれば、マイナーは正式にリレー状態から外れるはずです。
ただし、次の最後の手順もぜひ実行してください。
今回のようにWireGuardのようなVPNを使うメリットの1つは、ホットスポットやモバイルルーター自体を簡単にリモート監視できることです。しかも、完全に安全で、マイナーをパブリックインターネットに公開する必要がありません。
静的パブリックIPを手に入れた人たちに自慢できるかもしれません😉(もちろん、静的パブリックIPを使っている場合でもリモート接続を安全にする方法はありますが、少し複雑です)。
マイナーにローカルネットワークから直接接続できる場合、この手順でマイナーにリモートアクセスできます。その機能を持つマイナーでない場合は、このセクションを飛ばし、「📶 GL.iNet GL-x750ルーターへのリモート接続」という次のセクションに進んでください。
要点は、次のポートフォワーディングルールを追加し、安全なWireGuardトンネル経由でマイナーのIPアドレスにリモートアクセスできるようにすることです。
192.168.8.110は、私のルーターがマイナーに割り当てた内部IPです。スクリーンショットのIPではなく、44158のポートフォワーディングルールで使用したものと同じIPを使ってください。
LinodeのWireGuardサーバーにSSH接続していたパソコンから、次を実行します。
$ ssh -L8080:10.0.1.2:8080 root@ ‹ip of linode
server›
これでHeliumマイナーへの直接かつ安全なトンネルが開きました。ブラウザーでlocalhost:8080にアクセスし、数秒待つと、Heliumマイナーの「ホームページ」が表示されます(ここに表示される内容は、使用しているマイナーのブランドと、そのIPアドレスでWebサイトをホストしているかどうかによって異なります)。
📶 GL.iNet GL-x750ルーターへのリモート接続
GL.iNet GL-x750ルーター自体へのトンネルも作成できます。データ使用量の監視や、WireGuard VPN接続の確認にとても便利です。
ただし、ルーター自体の管理画面にトンネル接続する方法を説明する前に、Helium Discordのrbrtio#1507から受けた注意をお伝えします。これは火遊びのようなものです。
モバイルルーターの設定をリモート接続経由で誤って変更し、現在使用しているVPNトンネルから切断されてしまうことは簡単に起こります。その結果、変更を元に戻すために現地へ行くまで、マイナーにリモート接続できなくなる可能性があります。
ここでは、不要な2時間の移動を避けてもらいたいだけです🤷♂️
この注意点を理解したうえで、必要なのは次の追加ポート設定だけです。
ルールを追加したら、次を実行します。
$ ssh -L9090:10.0.1.2:9090 root@ ‹ip of linode
server›
少し待つ必要があります(モバイル接続経由ではページの読み込みに時間がかかります)が、ブラウザーでlocalhost:9090にアクセスすれば、GL.iNet GL-x750ルーターにログインできるはずです。
🎊🎉🎈完了です 🎊🎉🎈やりましたね。
このガイドを無事に終えたなら、モバイル通信経由でマイナーをリレー状態から外せたことに加え、マイナーとルーターにリモート接続して環境を監視する方法も手に入れたことになります。
📜 著者からのメッセージ:
いつでもDiscordのハンドルネームswitz#1985でメンションしてください。私は余暇にこれらのガイドを書き、Discordで質問に答えています。このガイドがHNTの獲得に役立ったなら、コーヒーを一杯…またはPopeyesのチキンサンドイッチ…あるいはアンテナを買っていただけるとうれしいです。
HNT Wallet:
13bLi78qskZov4AbvWCWFwGX6odmxLbxbvN5z2FjsreGS4zLEJb
ETH Wallet:
0x67a10EDdD58c9B5E22c689c83a5F0b8B4d6DF273
著者について
Oliver Switzerは、物理学を専攻した経歴を持ち、現在はシニアソフトウェアエンジニアとして働いています。さまざまなサーバーサイドおよびクライアントサイド言語のほか、XPやアジャイル開発のベストプラクティスに7年間携わってきました。テクノロジーを活用して、スタートアップや大企業が社会的、創造的、環境的なインパクトを生み出せるよう支援することに情熱を注いでいます。
About GL.iNet
Founded in 2010, GL.iNet is a leading provider of OpenWrt-based routers and innovative remote networking solutions. From compact travel routers to cutting-edge remote KVMs, GL.iNet delivers award-winning networking technology designed for performance and security.
GL.iNet gives people and organizations the power to connect with confidence. By putting control in the hands of users, GL.iNet supports the productivity and collaboration that shape a Good Life.