Soracom

Users

ドキュメント
Home ドキュメント Virtual Private Gateway (VPG) オプション機能

アウトバウンドルーティングフィルターを設定する

アウトバウンドルーティングフィルターを設定すると、VPG を利用する IoT SIM が直接アクセスできるサーバーを制限できます。たとえば、VPG を経由する通信をすべて拒否したり、ピアリング先や専用線、仮想専用線での接続先環境へのアクセスをすべて許可したりできます。

制限するには、以下の設定例のように IP アドレスレンジで許可 / 拒否を設定します。

設定例[アクション][IP アドレスレンジ]
すべてのサーバーへの通信を拒否deny0.0.0.0/0
任意の IP アドレス (例: 10.0.0.119/32) への通信を許可allow10.0.0.119/32
任意の IP アドレスレンジ (例: 10.128.0.0/9) への通信を許可allow10.128.0.0/9
アウトバウンドルーティングフィルターで許可 / 拒否できない宛先があります

アウトバウンドルーティングフィルターで deny0.0.0.0/0 を指定して、すべてのサーバーへの通信を拒否しても、SORACOM Beam、SORACOM Funnel、SORACOM Funk を利用して、任意のサーバーにデータを転送できます。また、Harvest Data/Files にもデータやファイルを送信できます。詳しくは、VPG に所属するデバイスの通信先を制限する機能 を参照してください。

操作を始める前に準備が必要です (クリックして確認してください)

(1) VPG を作成する

VPG を作成してください。詳しくは、VPG を作成する を参照してください。

(2) IoT SIM が利用する VPG を切り替える

IoT SIM が、(1) で作成した VPG を利用するように設定し、セッションを再確立してください。詳しくは、IoT SIM が利用する Virtual Private Gateway (VPG) を切り替える を参照してください。

準備完了

ステップ 1: アウトバウンドルーティングフィルターを設定する

ここでは 10.0.0.119 のみへのアクセスを許可するアウトバウンドルーティングフィルターを設定します。

  1. アウトバウンドルーティングフィルターを設定する VPG の VPG 設定画面で、[アクセス制御] をクリックします。

    VPG 設定画面を表示する操作について詳しくは、VPG の設定を変更する を参照してください。

  2. 10.0.0.119 へのアクセスのみを許可するため、全体 (0.0.0.0/0) を拒否 (deny) し、10.0.0.119/32 を許可 (allow) するように入力します。

    • [+ 追加] をクリックすると、入力欄が 1 行追加されます。
    • [-] をクリックすると、入力欄が 1 行削除されます。

    重複する複数のフィルタエントリがある場合

    アウトバウンドルーティングフィルターに登録する 1 つの [アクション][IP アドレスレンジ] のペアを、フィルタエントリと呼びます。ある VPG に、重複する複数のフィルタエントリを登録した場合、最も長いプレフィックスを持つ IP アドレスレンジのフィルタエントリが適用されます。たとえば、0.0.0.0/0 を deny (拒否) するフィルタエントリと 10.0.0.199/32 を allow (許可) するフィルタエントリがある場合、10.0.0.199 への送信パケットは、10.0.0.199/32 のフィルタエントリが適用され通信が許可されます。

  3. [保存][保存] の順にクリックします。

SORACOM API の場合

VirtualPrivateGateway:setRoutingFilter API を使用します。

例 1: 特定のアドレスレンジ (192.0.2.0/26) 宛ての送信パケットをブロックする

$ curl -v -X POST https://api.soracom.io/v1/virtual_private_gateways/{vpg_id}/set_routing_filter \
-H "X-Soracom-API-Key: $X_SORACOM_API_KEY" \
-H "X-Soracom-Token: $X_SORACOM_TOKEN" \
-H "Content-Type: application/json" \
-d '[
  {
    "action": "deny",
    "ipRange": "192.0.2.0/26"
  }
]'

例 2: 特定の IP アドレスレンジ (10.0.0.119/32) 宛ての送信パケットのみを許可する

特定の IP アドレスレンジのみを許可する場合は、広範囲の IP アドレス (最も広い範囲は 0.0.0.0/0) に対して「拒否 (deny)」ルールを設定し、許可する IP アドレスレンジに対して「許可 (allow)」ルールを追加します。

具体的には、10.0.0.119/32 へのアクセスのみを許可するために、全体 (0.0.0.0/0) を拒否し、10.0.0.119/32 を許可するように設定します。

$ curl -v -X POST https://api.soracom.io/v1/virtual_private_gateways/{vpg_id}/set_routing_filter \
-H "X-Soracom-API-Key: $X_SORACOM_API_KEY" \
-H "X-Soracom-Token: $X_SORACOM_TOKEN" \
-H "Content-Type: application/json" \
-d '[
  {
    "action": "deny",
    "ipRange": "0.0.0.0/0"
  },
  {
    "action": "allow",
    "ipRange": "10.0.0.119/32"
  }
]'
重複する複数のフィルタエントリがある場合

アウトバウンドルーティングフィルターに登録する 1 つの "action" と "ipRange" のペアを、フィルタエントリと呼びます。ある VPG に、重複する複数のフィルタエントリを登録した場合、最も長いプレフィックスを持つ IP アドレスレンジのフィルタエントリが適用されます。たとえば、0.0.0.0/0 を deny (拒否) するフィルタエントリと 10.0.0.199/32 を allow (許可) するフィルタエントリがある場合、10.0.0.199 への送信パケットは、10.0.0.199/32 のフィルタエントリが適用され通信が許可されます。

ステップ 2: 拒否アドレスにアクセスできないことを確認する

VPG を適用した IoT SIM から「10.0.0.119」にアクセスできること、これ以外にアクセスできないことを確認してください。

10.0.0.119 が Web サーバーであれば以下のように確認できます。

$ curl http://10.0.0.119/
 <html lang="en">
 ......

また、ping が可能であれば、ping 10.0.0.119 で確認することもできます。