MENU

Soracom

Users

soratun コマンドリファレンス

soratun が提供するコマンドのリファレンスです。すべてのサブコマンドで --help フラグで同様の情報を参照できます。

soratun -- SORACOM Arc Client

Usage:
  soratun [command]

Available Commands:
  bootstrap   Create virtual SIM and configure soratun
  config      Create initial soratun configuration file without bootstrapping
  help        Help about any command
  status      Display SORACOM Arc interface status
  up          Setup SORACOM Arc interface
  version     Show version

Flags:
      --config string   Specify path to SORACOM Arc client configuration file (default "arc.json")
  -h, --help            help for soratun
  • コマンド
    • bootstrap: バーチャル SIM/Subscriber と設定ファイルを作成します。
    • config: 設定ファイルのテンプレートを標準出力に表示します。
    • help: ヘルプを表示します。
    • status: soratun が作成した仮想ネットワークインターフェースの状態を表示します。
    • up: 設定ファイルに基づいて仮想ネットワークインターフェースを作成します。
    • version: バージョン情報を表示します。
  • 各コマンド共通のフラグ
    • --config: 設定ファイルのパスを指定します。デフォルトはカレントディレクトリの arc.json です。

soratun bootstrap コマンド

バーチャル SIM/Subscriber と設定ファイルを作成するための 3 つのサブコマンドを提供します。

  • soratun bootstrap authkey: SORACOM API 認証キーを使用する方法。ブートストラップが成功すると --config フラグで指定したパスに設定ファイルを作成します。すでにファイルが存在する場合は SORACOM Arc の接続情報(arcSessionStatus) を更新して終了します。
  • soratun bootstrap cellular: SORACOM Krypton のセルラー回線認証を使用する方法。ブートストラップが成功すると --config フラグで指定したパスに設定ファイルを作成します。すでにファイルが存在する場合は SORACOM Arc の接続情報(arcSessionStatus) を更新して終了します。
  • soratun bootstrap sim: SORACOM Krypton の SIM 認証を使用する方法。ブートストラップが成功すると --config フラグで指定したパスに設定ファイルを作成します。すでにファイルが存在する場合は SORACOM Arc の接続情報(arcSessionStatus) を更新して終了します。
bootstrap コマンドでバーチャル SIM/Subscriber を作成すると課金が発生します。 SORACOM Arc のご利用料金 をご確認ください。

soratun bootstrap authkey コマンド

SORACOM API 認証キーを使用してブートストラップを実行します。使用の流れは SORACOM API の認証キーを使用してバーチャル SIM/Subscriber をブートストラップする を参照してください。

  • コマンド固有のフラグ
    • --auth-key-id: SORACOM API 認証キー ID
    • --auth-key: SORACOM API 認証キーシークレット
    • --coverage-type: バーチャル SIM/Subscriber を作成するカバレッジ (g または jp)

soratun bootstrap cellular コマンド

SORACOM Krypton のセルラー回線認証を使用してブートストラップを実行します。使用の流れは セルラー回線認証を使用してバーチャル SIM/Subscriber をブートストラップする を参照してください。

soratun bootstrap sim コマンド

SORACOM Krypton の SIM 認証を使用してブートストラップを実行します。使用の流れは SIM 認証を使用してバーチャル SIM/Subscriber をブートストラップする を参照してください。

  • コマンド固有のフラグ
    • --krypton-cli-path: krypton-cli コマンドのパス (デフォルト: /usr/local/bin/krypton-cli)
    • --clear-key-cache: 鍵のキャッシュからすべてのアイテムを削除する
    • --disable-key-cache: 認証結果を鍵のキャッシュに保管しない
    • --keys-api-endpoint-url: Keys API のエンドポイント URL
    • --provisioning-api-endpoint-url: Krypton プロビジョニング API のエンドポイント
    • --params: プロビジョニング要求の際に追加で渡す JSON パラメーター
    • --signature-algorithm: 署名の生成アルゴリズム
    • --interface: 使用する UICC インターフェース。iso7816 / comm / mmcli または autoDetect (自動認識)
    • --baud-rate: デバイスと通信する際のボーレート
    • --data-bits: デバイスと通信する際のデータビット
    • --parity-mode: デバイスと通信する際のパリティモード 0: None (default) / 1: Odd / 2: Even
    • --port-name: デバイスと通信する際のポート名 (COM1/dev/tty1 など)
    • --stop-bits: デバイスと通信する際のストップビット

--krypton-cli-path フラグ以外は krypton-cli コマンドの同名の引数として実行されます。

soratun config コマンド

設定ファイルのテンプレートを標準出力に表示します。soratun でブートストラップせずに、ユーザーコンソールで作成したバーチャル SIM/Subscriber を使用したい場合のテンプレートを出力できます。使用の流れは バーチャル SIM/Subscriber で接続する を参照してください。以下のように任意のファイルへリダイレクトして使用してください。

$ soratun config > /path/to/arc.json

実行後、 リファレンス: soratun 設定ファイル を参考にユーザーコンソールで表示される値をベースに設定ファイルを更新してください。

soratun status コマンド

soratun が作成した仮想ネットワークインターフェースの状態を表示します。root ユーザー権限が必要です。

$ sudo soratun status
Password:
interface: utun7 (userspace)
  public key: PXlKD3r5vuPZk4kNatfL6ZPceCjfntWWIqjU9UksoHg=
  private key: (hidden)
  listening port: 63066

peer: cx/QH4up20+tgvjr5Ht9kFZUA5BVY1N2m7hY6vP7vVA=
  endpoint: x.x.x.x:11010
  allowed ips: 100.127.0.0/16
  latest handshake: 2021-06-17 13:30:20.186527 +0900 JST
  transfer: 92 B received, 180 B sent

soratun が起動していない場合は以下のように表示されます。

$ sudo soratun status
no SORACOM Arc device found

soratun up コマンド

soratun を起動し仮想ネットワークインターフェースを作成し、ルーティングテーブルを設定します。root ユーザー権限が必要です。以下は 設定ファイル"logLevel": 2 とした場合の出力例です。

$ sudo soratun up --config /path/to/arc.json
DEBUG: (soratun0) 2021/06/17 14:37:03 device started
DEBUG: (soratun0) 2021/06/17 14:37:03 UAPI listener started
DEBUG: (soratun0) 2021/06/17 14:37:03 Routine: encryption worker 1 - started
DEBUG: (soratun0) 2021/06/17 14:37:03 Routine: decryption worker 1 - started
DEBUG: (soratun0) 2021/06/17 14:37:03 Routine: handshake worker 1 - started
DEBUG: (soratun0) 2021/06/17 14:37:03 Routine: encryption worker 2 - started
DEBUG: (soratun0) 2021/06/17 14:37:03 Routine: decryption worker 2 - started
DEBUG: (soratun0) 2021/06/17 14:37:03 Routine: handshake worker 2 - started
DEBUG: (soratun0) 2021/06/17 14:37:03 Routine: encryption worker 3 - started
DEBUG: (soratun0) 2021/06/17 14:37:03 Routine: handshake worker 4 - started
DEBUG: (soratun0) 2021/06/17 14:37:03 Routine: decryption worker 3 - started
DEBUG: (soratun0) 2021/06/17 14:37:03 Routine: handshake worker 3 - started
DEBUG: (soratun0) 2021/06/17 14:37:03 Routine: encryption worker 4 - started
DEBUG: (soratun0) 2021/06/17 14:37:03 Routine: decryption worker 4 - started
DEBUG: (soratun0) 2021/06/17 14:37:03 Routine: event worker - started
DEBUG: (soratun0) 2021/06/17 14:37:03 Interface up requested
DEBUG: (soratun0) 2021/06/17 14:37:03 UDP bind has been updated
DEBUG: (soratun0) 2021/06/17 14:37:03 Interface state was Down, requested Up, now Up
DEBUG: (soratun0) 2021/06/17 14:37:03 Routine: receive incoming v6 - started
DEBUG: (soratun0) 2021/06/17 14:37:03 UAPI: Updating private key
DEBUG: (soratun0) 2021/06/17 14:37:03 Routine: receive incoming v4 - started
DEBUG: (soratun0) 2021/06/17 14:37:03 Routine: TUN reader - started
DEBUG: (soratun0) 2021/06/17 14:37:03 UAPI: Removing all peers
DEBUG: (soratun0) 2021/06/17 14:37:03 peer(cx/Q…7vVA) - Starting
DEBUG: (soratun0) 2021/06/17 14:37:03 peer(cx/Q…7vVA) - UAPI: Created
DEBUG: (soratun0) 2021/06/17 14:37:03 peer(cx/Q…7vVA) - UAPI: Updating endpoint
DEBUG: (soratun0) 2021/06/17 14:37:03 peer(cx/Q…7vVA) - UAPI: Updating persistent keepalive interval
DEBUG: (soratun0) 2021/06/17 14:37:03 peer(cx/Q…7vVA) - Sending keepalive packet
DEBUG: (soratun0) 2021/06/17 14:37:03 peer(cx/Q…7vVA) - Sending handshake initiation
DEBUG: (soratun0) 2021/06/17 14:37:03 peer(cx/Q…7vVA) - Routine: sequential sender - started
DEBUG: (soratun0) 2021/06/17 14:37:03 peer(cx/Q…7vVA) - Routine: sequential receiver - started
DEBUG: (soratun0) 2021/06/17 14:37:03 peer(cx/Q…7vVA) - UAPI: Removing all allowedips
DEBUG: (soratun0) 2021/06/17 14:37:03 peer(cx/Q…7vVA) - UAPI: Adding allowedip
DEBUG: (soratun0) 2021/06/17 14:37:03 peer(cx/Q…7vVA) - UAPI: Adding allowedip
DEBUG: (soratun0) 2021/06/17 14:37:03 assign IP address: x.x.x.x
DEBUG: (soratun0) 2021/06/17 14:37:03 set link up: soratun0
DEBUG: (soratun0) 2021/06/17 14:37:03 add route: 100.127.0.0/16
DEBUG: (soratun0) 2021/06/17 14:37:03 Interface up requested
DEBUG: (soratun0) 2021/06/17 14:37:03 peer(cx/Q…7vVA) - Received handshake response
soratun を停止する方法
  • ターミナルのフォアグラウンドプロセスとして起動している場合は Ctrl-C を入力してください。
  • バックグラウンドプロセスとして起動した場合は soratun のプロセスへ kill コマンドで SIGTERM を送信してください。
  • systemd のデーモンとして動作させている場合は sudo systemctl stop soratun コマンドを実行してください。
soratun の実行に必要なソケットファイルを /var/run/wireguard/<インターフェース名>.sock に作成します。何らかの原因で soratun 終了時にこのファイルが削除されない場合、次回正常に起動しないことがあります。soratu up に失敗した場合はこのディレクトリを確認し、不要な(起動していないインターフェース名の)ソケットファイルを削除してください。