Soracom

Users

ドキュメント

セルラー回線認証を使用してバーチャル SIM/Subscriber をブートストラップする

soratun のサポートする 3 種類のブートストラップ方法 の 1 つである SORACOM Krypton のセルラー回線認証を使用する方法 のガイドです。セルラー接続そのものを認証の手段としますので、デバイス側に認証情報を保存しておく必要がありません。SORACOM Air for セルラーによる通信がセットアップ済みであれば比較的容易にバーチャル SIM/Subscriber の作成と接続ができます。SIM 認証と異なり plan01s や plan01s - Low Data Volume 以外のサブスクリプションでも利用できます。

前提条件 

  • soratunインストール されていること
  • Raspberry Pi が SORACOM Air for セルラーに接続されていること

ステップ 1: SIM グループを作成し SORACOM Krypton を有効にする 

  1. ユーザーコンソールの操作: SIM グループを設定する を参考に SIM グループを作成してください。
  2. 作成した SIM グループの [SORACOM Krypton 設定] セクションでスイッチを [ON] に変更、[保存] ボタンをクリックしてください。
SORACOM Arc に加え SORACOM Krypton の料金が発生します。SORACOM Krypton のご利用料金 をご確認ください。

ステップ 2: SORACOM Air for セルラーで接続する 

任意の接続方法で SORACOM Air for セルラーでインターネットに接続してください。

ステップ 3: ブートストラップする 

soratun bootstrap cellular コマンドでブートストラップします。以下の例では設定ファイルを /path/to/arc.json に保存します。ご利用の環境にあわせて任意のパスを指定してください。

$ soratun --config /path/to/arc.json bootstrap cellular
--config フラグで指定した設定ファイルがすでに存在する場合は秘密鍵 (PrivateKey)、公開鍵 (PublicKey)、および接続情報 (arcSessionStatus) を更新して終了します。

成功すると以下のように構成ファイルのパスが表示されます。

Created/updated configuration file: /path/to/arc.json

以上でブートストラップは完了です。ブートストラップ後は SORACOM Air for セルラーの接続は不要です。生成された設定ファイルの詳細は soratun 設定ファイルリファレンス を参照してください。

ステップ 4: soratun を実行しバーチャル SIM/Subscriber で接続する 

生成された設定ファイルを指定して soratun を実行し仮想インターフェースを作成、SORACOM プラットフォームへ接続します。

$ sudo soratun --config /path/to/arc.json up

ソラコムにアクセスできることを確認してください。

$ ping pong.soracom.io

soratun up コマンドで仮想インターフェースを作成したタイミングで以下のネットワーク宛の通信を soratun のネットワークインターフェース経由に設定します。すでに同じルートが定義されている場合は上書きします。

  • SORACOM Arc セッション作成時にサーバーから返却された arcAllowedIPs (通常は 100.127.0.0/16)
  • soratun の設定ファイルにお客様で定義する additionalAllowedIPs (デフォルトは設定無し)

soratun はデフォルトゲートウェイを変更しません。そのため、起動後もデフォルトゲートウェイがセルラー回線 (ppp0) になっている場合は、何らかの原因でセルラー通信がオフラインになった際に SORACOM Arc サーバーとの疎通が中断し soratun 経由の通信も不通となります (数十秒後に自動的に実施される WireGuard ハンドシェイクが成功すれば回復します)。この状況を避けるためには soratun 起動前に以下のようなルーティングテーブルの変更を検討してください。

  • デフォルトゲートウェイを Wi-Fi や Ethernet に変更する。
  • 以下のホストおよびネットワーク宛の通信を ppp0 経由にする。

ユーザーコンソールからセッションを切断した場合は再度ブートストラップを実施してください。--config フラグで指定した設定ファイル内の秘密鍵 (PrivateKey)、公開鍵 (PublicKey)、および接続情報 (arcSessionStatus) を更新します。