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
  wg-config   Dump soratun configuration file as WireGuard format

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) を更新して終了します。--dump-configを使用した場合、設定は標準出力に出力されます。--config--dump-configを同時に使用した場合、設定ファイルは作成されません。
  • soratun bootstrap sim: SORACOM Krypton の SIM 認証を使用する方法。ブートストラップが成功すると --config フラグで指定したパスに設定ファイルを作成します。すでにファイルが存在する場合は SORACOM Arc の接続情報 (arcSessionStatus) を更新して終了します。--dump-configを使用した場合、設定は標準出力に出力されます。--config--dump-configを同時に使用した場合、設定ファイルは作成されません。

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 をブートストラップする を参照してください。

  • コマンド固有のフラグ
    • --endpoint: Krypton プロビジョニング API のエンドポイント
    • --dump-config: ブートストラップが成功した際に作成される設定を標準出力に出力します

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: デバイスと通信する際のストップビット
    • --dump-config: ブートストラップが成功した際に作成される設定を標準出力に出力します

--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 ユーザー権限が必要です。

  • コマンド固有のフラグ
    • --read-stdin: 設定情報を設定ファイル(デフォルト: arc.json)ではなく標準入力から読み込みます。
    • --additional-allowed-ips: soratun 作成時に WireGuard の AllowedIPs に追加する CIDR の配列。このネットワーク宛の通信も soratun 経由になります。
    • --mtu: soratun が作成するインターフェースの MTU
    • --persistent-keepalive: SORACOM Arc サーバーとの接続における PersistentKeepalive
ローカルに認証情報を保存することなく SORACOM Arc を利用する

soratun bootstrap cellularコマンド、もしくはsoratun bootstrap SIMコマンドの --dump-config オプションとsoratun upコマンドの--read-stdinを組み合わせることでローカルに認証情報を保存することなく SORACOM Arc を利用することができます。

  • コマンド例
    • ./soratun boostrap sim --dump-config | sudo ./soratun up --read-stdin

--read-stdin オプションと合わせて --additional-allowed-ips--mtu--persistent-keepalive を指定できます。各設定については soratun 設定ファイルリファレンス をご確認ください。

以下は 設定ファイル"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 に失敗した場合はこのディレクトリを確認し、不要な (起動していないインターフェース名の) ソケットファイルを削除してください。

soratun version コマンド

soratun のバージョン情報を表示します。

soratun wg-config コマンド

--config フラグで指定した設定ファイルを WireGuard の設定ファイル形式で標準出力に表示します。