SORACOM Users

Documents

SORACOM DoorへのAzureからの接続

SORACOM Door (以下、Door) を利用すると、SORACOM とサイト間 VPN 接続を行うことができます。

ここでは、SORACOM Door を利用して、Microsoft Azure (以下 Azure) から VPN 接続する方法を紹介します。

Azure 上に、VPN 接続用の仮想サーバを起動する

Azure ポータルより、ルーターとして動作する Linux 仮想サーバ(ルーターサーバ)を起動します。

この資料では、ルーター用の仮想マシンのイメージとして、Ubuntu Server 16.04 LTS を使用しています。また Azure 上の仮想ネットワークなどの値は以下のものを例として使用しますが、実際に構築する際にはご自身の環境に置き換えてください。

項目
Azure 仮想ネットワーク アドレスレンジ 例) 10.3.0.0/16
ルーターサブネット 例) 10.3.0.0/24
ルーターサーバ ローカルIPアドレス 例) 10.3.0.4
ルーターサーバ パブリックIPアドレス 例) 40.115.186.34

Azure ポータルより、仮想サーバを起動します。

Linux 起動後、SSH での接続が可能かどうかを確認しておきます。

Virtual Private Gateway (VPG) の作成

VPG を作成するから VPG Type-F を作成し、作成した VPG の ID を控えます。

SORACOM Door の利用を申請する

Azure ポータルから、仮想サーバに割り振られたパブリック IP アドレスを確認します。

次に、SORACOM Door の利用を申請します。こちらのページから申請してください。

申請時に以下の項目の入力がありますので、下記内容を記載します。

項目
ご利用になる VPG の ID 上記手順で作成した VPG の ID
ご利用予定の VPN ゲートウェイ機器のベンダ名および型番 Microsoft Azure (Ubuntu Server 16.04 LTS)
ご利用になる VPN ゲートウェイ機器に設定するグローバルIPアドレス(静的) 上記手順で確認したパブリックIPアドレス
動的経路制御を利用する場合、AS 番号を入力してください 64512 (64512 から 65534 までの範囲内の任意の値)
動的経路制御を利用する場合、ルーティング対象とするIPアドレスレンジ Azure 仮想ネットワーク ネットワークレンジ(この例では10.3.0.0/16)

SORACOM 側で設定が完了すると、IPSec Tunnnel #1 および #2 について、以下の内容が送られてきます。

これらの情報を使用して、ルーターサーバの各種設定を行います。

Azure 上の Linux から Door へ接続する

ネットワークセキュリティグループの設定

ルーターサーバーのネットワークセキュリティグループ設定に、以下の項目を追加します。

必要なソフトウェアのインストール

Azure 上 のルーターサーバにログインし、必要なソフトをインストールします。

sudo su
apt-get install racoon quagga ipsec-tools
(すべてデフォルト設定を使用)

IPフィルター、フォワーディング設定

ルーターとして動作させるため、カーネルパラメータを変更します。 /etc/sysctl.conf を編集します。

cd /etc
vi sysctl.conf

設定ファイルに、以下の修正を行います。

net.ipv4.conf.default.rp_filter=0 (コメントアウトをはずす)
net.ipv4.conf.all.rp_filter=0  (コメントアウトをはずす)
net.ipv4.conf.eth0.rp_filter=0 (新規追加)
net.ipv4.conf.lo.rp_filter=0   (新規追加)
net.ipv4.conf.eth0.disable_policy=1 (新規追加)

net.ipv4.ip_forward=1 (値を0から1に変更)

設定を反映します。

sysctl -p sysctl.conf

IPSec/BGP設定準備

ipsectools, racoon, quagga の設定ファイルを作成するため、はじめに以下のテーブルに従って各種情報を整理します。

変数名 項目例 内容
<LOCAL PUBLIC IP> 40.115.186.34 ルーターサーバのパブリック IP アドレス
<LOCAL PRIVATE IP> 10.3.0.4 ルーターサーバのローカル IP アドレス
<CONN A PUBLIC IP> 52.68.161.59 IPSec Tunnel #1 のパブリック IP アドレス
<CONN A LOCAL LINK> 169.254.24.250/30 IPSec Tunnel #1 のルーターサーバ側(Customer Gateway)のトンネルインターフェースのインサイド IP アドレス
<CONN A REMOTE LINK> 169.254.24.249/30 IPSec Tunnel #1 のVPG側(Virtual Private Gateway)のトンネルインターフェースのインサイド IP アドレス
<CONN A REMOTE LINK WO 30> 169.254.24.249 上記の /30 を抜いたもの
<CONN A PSK> XkqigeaoRuOglouOWmok IPSec Tunnel #1 の Pre-Shared Key
<CONN B PUBLIC IP> 52.196.231.47 IPSec Tunnel #2 のパブリック IP アドレス
<CONN B LOCAL LINK> 169.254.24.22/30 IPSec Tunnel #2 のルーターサーバ側(Customer Gateway)のトンネルインターフェースのインサイド IP アドレス
<CONN B REMOTE LINK> 169.254.24.21/30 IPSec Tunnel #2 の VPG 側(Virtual Private Gateway)のトンネルインターフェースのインサイド IP アドレス
<CONN B REMOTE LINK WO 30> 169.254.24.21 上記の /30 を抜いたもの
<CONN B PSK> Euo3vqxH6zM0gaORmoqpP IPSec Tunnel #2 の Pre-Shared Key
<LOCAL SUBNET> 10.3.0.0/16 Azure 仮想ネットワーク アドレスレンジ
<REMOTE SUBNET> 100.65.6.0/24 VPG 側ネットワーク アドレスレンジ
<LOCAL ASN> 64512 ルーターサーバ側 BGP ASN
<REMOTE ASN> 10124 VPG側 BGP ASN

次に、上記変数を下記3つのテンプレートの値を置換します。

上記ファイルをそれぞれダウンロードし、上記変数でテンプレート内の値を置換します。

IPSec/BGP 設定

ipsec-tools 設定

/etc/ipsec-tools.conf を開き、「ipsectools 設定」から作成した値を、ファイルの末尾に追記して保存します。

racoon 設定

/etc/racoon/racoon.conf を開き、「racoon 設定」から作成した値を、ファイルの末尾に追記して保存します。

次に /etc/racoon/psk.txt を開き、「racoon PSK 設定」から作成した値を、ファイルの末尾に追記して保存します。

quagga設定

/etc/quagga/daemons を開き、zebra と bgpd を yes に変更します。

zebra=yes
bgpd=yes

/etc/quagga/bgpd.conf を新規作成し、「quagga BGP 設定」で作成した値をコピーして保存します。

/etc/quagga/zebra.conf を新規作成し、下記ファイルの内容をコピーして保存します。

interface追加

以下コマンドで、インターフェースを追加します。

ip a a 169.254.24.250/30 dev eth0    (169.254.24.250/30は<CONN A LOCAL LINK> )
ip a a 169.254.24.22/30 dev eth0    (169.254.24.22/30は<CONN B LOCAL LINK> )

また起動時にこの設定が反省されるよう、/etc/network/interfaces.d/50-cloud-init.cfg の iface eth0 の行の下に、以下の値を追加します。

  (TAB)post-up ip a a 169.254.24.250/30 dev eth0   (169.254.24.250/30は<CONN A LOCAL LINK> )
  (TAB)post-up ip a a 169.254.24.22/30 dev eth0  (169.254.24.22/30は<CONN B LOCAL LINK> )

※(TAB) はタブキー

サービスの起動

上記の設定を完了後、サービスをリスタートします。

service setkey restart
service racoon restart
service quagga restart

接続確認のため、IPSec Tunnel #1 および #2 の VPG 側トンネルインターフェースのインサイド IP アドレスへ ping が通るか確認します。

PING 169.254.25.149 (169.254.25.149) 56(84) bytes of data.
 64 bytes from 169.254.25.149: icmp_seq=1 ttl=64 time=2.40 ms
 64 bytes from 169.254.25.149: icmp_seq=2 ttl=64 time=2.28 ms

他サブネットへの接続設定

デバイスから、ルーターサーバ以外のサブネット(例えば Web サーバのサブネット)へアクセスする場合は、ルートテーブルの設定が必要になります。この資料では、ルーターサーバと別に、Web サーバ群の入った Web サブネットがあり、デバイスからアクセスすることを想定します。

デバイスから Web サーバへアクセスする場合、デバイスの通信は一旦 VPG で NAT されるため、ソース IP アドレスは VPG 側ネットワークのアドレスレンジ内 (上記例では 100.65.6.0/24 )の IP アドレスとなります。 このため、このレンジへの通信をルーターサーバにルーティングするよう、Web サブネットのルートテーブルに設定します。

はじめに、ルーターサーバのIP転送設定を有効にします。Azure ポータルから、ルーターサーバに付けられているネットワーク・インターフェースを選択し、[設定] > [IP アドレス]とクリックします。

IP アドレスの設定画面で、「IP 転送の設定」を「有効」にします。また「割り当て」についても「静的」を選択します。この設定で、デバイスからの通信を他のサーバに転送できるようになります。

次に、Web サブネットにルーティングの設定をします。VPG 側ネットワークアドレスレンジへ向けた通信をルーターサーバに向けるため、ルートテーブルを作成し、Web サーバのサブネットに対して適用します。作成手順は以下となります。

上記設定の反映後、デバイスから Web サーバのプライベート IP アドレスへのアクセスが可能になります。なお、Web サーバが 80 番ポートなどを利用する場合は、Web サーバのセキュリティグループも適切に設定してください。

Door の利用を終了する

Door を用いた VPN 接続が不要になった SIM は、VPG の利用を無効にします。手順はこちらをご覧ください。また、Door の利用を終了する場合は、VPG を削除します。手順はこちらをご覧ください。

Door の料金体系

Door の利用料金は、セットアップ料金、基本料金で構成されます。詳しくは 課金体系のページFAQ をご覧ください。

注意
  • セットアップ料金は VPG を作成するタイミングに課金されます。
  • VPG 基本料金は起動時間に応じて課金されます。VPG 起動後は課金を一時的に停止することはできません。課金を止めたい場合には、VPG 自体と、VPN を削除してください。
  • Getting Started

    SORACOM Air for セルラー

    SORACOM Air for LoRaWAN

    SORACOM Air for Sigfox

    SORACOM Beam

    SORACOM Canal/Direct/Door

    SORACOM Endorse

    SORACOM Funnel

    SORACOM Funk

    SORACOM Gate

    SORACOM Harvest

    SORACOM Inventory

    SORACOM Junction

    SORACOM Krypton

    SORACOM Lagoon

    SORACOM Mosaic

    SORACOM Napter

    SORACOM Orbit

    SORACOM Peek

    SORACOM LTE-M Button

    GPS マルチユニット SORACOM Edition

    IoT 体験キット

    Device

    サービス機能詳細

    Developer Tools

    Design Patterns

    pagetop