まず支店側そのもの、4GルーターのWANステータス画面から始める。見えているアドレスが公開範囲ではなく事業者のプライベート範囲にあるなら、その機器でポート転送を設定してもハブから内向きに接続することは決してできず、トンネルは支店から外向きに構築しなければならない。この一度の確認が設計を決める。残りの作業は、数時間ごとに変わるアドレスより良い何かでハブが支店を認識できるようにすることだ。

トンネルをどこから始めるか

アドレスを、事業者が自社NAT用に使う共有アドレス空間100.64.0.0/10と、通常のプライベート範囲に対して確認する。モバイル回線でそのいずれかが見えたら、通常は事業者グレードのNATが支店とインターネットの間にあり、支店が払えるどんな価格でも内向きの接続は得られないということだ。WANアドレスが公開だが変わる場合は、別のもっと簡単な問題になる。

動的DNSが役立つのは二番目の場合だけだ。変わる公開アドレスに接続先として安定した名前を与えるが、事業者が与えていないマッピングを作ることはできない。それでも公開の場合には、再採番のときに手作業の手順が一つ減るので設定する価値がある。なってはならないのは、事業者が最初から到達可能にしなかった支店に対する答えだ。

接続先のアドレスと照合する識別情報を分ける

ハブには、見つけられる安定したもの、承認済みの固定アドレスか維持管理されたホスト名が要る。支店には認識される安定した方法が必要で、IKEv2ではそれが認証時に提示する識別情報ペイロードであり、パケットがたまたま持つ送信元アドレスとは無関係だ。@branch-a.vpn.exampleのような文字列は、モバイルアドレスが一時間ごとに変わってもその識別情報として機能する。

その文字列はポリシーと照合されるのであってDNSで解決されるのではないため、トンネル設定時に名前解決が起きると期待してはいけない。ハブの設定は期待する識別情報を明示的に指定する必要があり、証明書認証では識別情報が証明書の実際の主張とも一致しなければならない。

送信元アドレスがもっともらしいからといって任意の識別情報を受け入れるのは、避けるべき失敗の形だ。応答側では、識別情報のワイルドカードと共有秘密で任意のピアを受け入れることになり、これはデバイスではなく文字列を認証している。

ハブ側を名前付きピアとして書く

strongSwanの用語では、応答側はright=%anyを持つ接続で任意の送信元アドレスからのピアを受け入れ、さらに[email protected]でそのピアが何者と名乗るべきかを固定する。支店のLAN用にrightsubnet=10.20.0.0/16、接続を呼び出さずに読み込むためにauto=add、生存確認のためにdpd_delay=30s、アドレス変更を新しいピアとして扱わず吸収するためにmobike=yesを加える。

他のベンダーは同じ対象を、通常は識別情報フィールドと保護サブネットフィールドを持つ動的ピアまたは支店オフィスのピア種別という別の名前で表現する。両方を埋めること(汎用の動的チェックボックスは互換性の計画ではない)。

支店を開始側に保つ

支店側は鏡像で、ローカルのモバイルアドレスを今のまま使うためにleft=%defaultroute、識別情報を提示するために[email protected]、安定したハブ名のためにright=hub.example.com、人手なしでトンネルを上げるためにauto=startを設定する。モバイル回線が再接続すると支店が再び開始し、ハブは同じ識別情報を同じポリシーオブジェクトに照合する。

両側で、UDP 500のIKE、UDP 4500のNATトラバーサル、それに続くカプセル化されたESPを許可し、許可したままにする。勤務時間だけ開くルールは、断続的に切れるトンネルのように見えるだろう。

最初のハンドシェイクだけでなく、アドレス変更を試験する

トンネルを上げて確認し、その後一分間モバイルデータや機内モードを切り替えて支店を新しいアドレスに追い込む。ハブのセキュリティアソシエーション一覧を見て、ピアのアドレスが変わり識別情報が変わっていないことを確認する。事業者の最初の再割り当てまでしか動かないトンネルは、まったく試験されていない。

次に、保護サブネットを別に確認する。確立したSAはピアが認証されたことを示すだけで、ハブに支店LANへの経路があることや、支店がハブ側からの通信を受け入れることは示さない。ルーティングテーブルとファイアウォールポリシーを別々に読み、pingはゲートウェイではなくホストから送る(ゲートウェイはどのネットワークでも最も代表的な機器ではないからだ)。

安定した識別情報は、支店をハブが名前で指定できるポリシーオブジェクトに変える。事業者NATのアドレスを到達可能にするものではなく、それだけで組織の他の部分に支店へのアクセスを与えるものでもない。

関連記事