拠点間 VPN
ほかの拠点のルーターとトンネルでつなぎ、拠点どうしのネットワークを行き来できるようにします。方式は IPsec(IKEv2・IKEv1)と WireGuard です。
トンネルは 1 本ずつゾーンに入ります。どこへ通すかは、ファイアウォールの「ゾーン間の転送」で決めます。
IPsec の拠点を追加する
- 「SITE-TO-SITE VPN › 拠点間 VPN」画面で、拠点名(英小文字で始まる 11 文字まで)を入れ、種類に「IPsec」を選んで「拠点を追加」を押します。
- 一覧に追加された拠点を押し、詳細を開きます。
- 「相手側のネットワーク」に、相手の拠点の LAN を入れます。例:192.168.20.0/24
- 「相手のアドレス」に、相手のルーターの IP アドレスかホスト名を入れます。例:vpn.example.com
- 「事前共有鍵」で「自動生成」を押すか、8 文字以上の鍵を入れて「保存」します。表示された鍵を、相手のルーターにも設定します。
- 必要なら ID や暗号の組み合わせを相手に合わせ、「保存」を押します。
- 「SECURITY › ファイアウォール」画面の「ゾーン間の転送」で、site → lan と lan → site を「許可」にします。
- 画面上部の「変更を確認」から適用し、5 分以内に「確定」します(設定の適用と確定)。
- 一覧の「状態」が「接続中」になれば完了です。
追加した直後の設定は、IKEv2・常時接続・事前共有鍵・暗号の組み合わせ「推奨」です。「ローカル側のネットワーク」には LAN のネットワークが入ります。
相手のルーターでは、こちらと逆の値を設定します(相手の「相手側のネットワーク」=こちらの「ローカル側のネットワーク」、ID も逆)。
WireGuard の拠点を追加する
- 拠点名を入れ、種類に「WireGuard」を選んで「拠点を追加」を押します。
- 拠点を押して詳細を開きます。「こちらの公開鍵」が表示されるので、相手のルーターに設定します。秘密鍵はルーターが持ち、外には出しません。
- 「相手の公開鍵」に、相手のルーターの公開鍵(Base64)を入れます。
- こちらからつなぐ場合は「相手のエンドポイント」に
ホスト:ポートを入れます。例:vpn.example.com:51820 - 相手からつながれる場合は「リッスンポート」を入れます。
- 「相手側のネットワーク」を入れて「保存」します。
- IPsec と同じく、ゾーン間の転送を許可して適用・確定します。
ゾーンと転送
- 拠点を追加したときに site ゾーンが無ければ、自動で作ります。site ゾーンは、ルーター宛ては ping だけを受け、ほかは破棄します。
- 拠点のトンネルは wan ゾーンには入れられません。
- 相手の拠点と LAN の間で通信するには、「ゾーン間の転送」で site → lan(相手から LAN へ)と lan → site(LAN から相手へ)を許可します。片方だけ許可することもできます。
- 相手側のネットワーク宛ての経路は、自動でトンネルに向きます。静的ルートは要りません。
WAN が MAP-E・DS-Lite の場合
- IPsec は NAT 越え(UDP 4500 に包む)を常に使います。
- IPv4 では、相手からの IPsec の接続を受けられません(UDP 500・4500 を受けられないため)。こちらから接続する(「常時接続」)か、IPv6 で接続してください。
- WireGuard の「リッスンポート」は、MAP-E で割り当てられたポートの範囲内にします。こちらからだけつなぐ場合は空欄で構いません。
状態とつなぎ直し
一覧の「状態」は次のどれかです。
| 状態 | 意味 |
|---|---|
| 接続中 | 通信できます。かっこ内は接続してからの時間(IPsec) |
| 接続処理中 | 接続を試みています |
| 未接続 | つながっていません |
| 未適用 | まだ適用していません |
| 無効 | 拠点の「有効にする」が外れています |
- 「つなぎ直す」で、その拠点のトンネルを張り直します。
- 「常時接続」の IPsec の拠点は、切れていると 1 分ごとに自動でつなぎ直します。
- 拠点の設定を変えて適用すると、変えた拠点だけがつなぎ直します。ほかの拠点は切れません。
- 接続中は詳細の下に、相手の ID・使っている暗号・NAT 越えの有無・次の鍵の更新までの時間が出ます。
項目(共通)
| 項目 | 説明 |
|---|---|
| 表示名(任意) | 一覧に出す名前 |
| 拠点 | 「有効にする」を外すと、設定を残したままトンネルを止めます |
| ゾーン | トンネルを入れるゾーン。通常は site |
| 相手側のネットワーク | 相手の拠点にあるネットワーク。ここ宛ての通信をトンネルに流します。, 区切りで複数 |
| トンネルのアドレス(任意) | トンネル自身に付けるアドレス。無くても通信できます。トンネル越しの ping 確認に使えます。例:169.254.10.1/30 |
| MTU | トンネル内の最大パケットサイズ。空欄の場合は 1400 |
項目(IPsec)
| 項目 | 説明 |
|---|---|
| ローカル側のネットワーク | 相手に見せるこちらのネットワーク(トラフィックセレクタ)。相手の「相手側のネットワーク」と合わせます。空欄の場合はすべて(0.0.0.0/0) |
| IKE のバージョン | 通常は IKEv2。相手が IKEv1 にしか対応していないときだけ IKEv1 |
| 相手のアドレス | 相手のルーターの IP アドレスかホスト名(DDNS も可)。空欄の場合は「指定なし」で、相手からの接続を待ちます |
| 接続方法 | 「常時接続」:こちらからつなぎ、切れたらつなぎ直します。「相手からの接続を待つ」:こちらからはつなぎません。「通信があるときに接続」:相手宛ての通信が来たときにつなぎます。相手のアドレスが指定なしのときは「相手からの接続を待つ」だけです |
| こちらの ID | 相手に名乗る ID。種類は FQDN・IP アドレス・メールアドレス形式・Key-ID。空欄の場合はこちらのアドレス。アドレスが変わる回線では FQDN などにします |
| 相手の ID | 相手が名乗る ID。相手のアドレスが指定なしのときは必須で、この ID でどの拠点かを見分けます |
| 認証 | 「事前共有鍵」:両方のルーターに同じ鍵を設定します。「証明書」:下の説明を参照 |
| 事前共有鍵 | 8 文字以上。" と \ は使えません。「表示」で確認できます |
| 暗号の組み合わせ | 「推奨」:今の機器向けの強い組み合わせ。「互換性重視」:古い機器向けに SHA-1・MODP1024・3DES も受けます。「手で指定」:フェーズ 1・2 を個別に選びます |
| NAT 越え | 「自動」:NAT を見つけたときに UDP 4500 に包みます。「常に使う」:NAT が無くても包みます |
| 生存確認(DPD) | この間隔(秒)で相手の応答を確かめ、応答が無ければ切断してつなぎ直します。空欄の場合は 30 秒 |
| アグレッシブモード | IKEv1 のときだけ。相手のアドレスが変わる回線で IKEv1 と事前共有鍵を使うときに必要なことがあります。ID が暗号化されずに流れるので、必要なときだけ使います |
アグレッシブモード(事前共有鍵)を使う拠点を追加・削除して適用すると、strongSwan が起動し直します。このとき IPsec の接続(IKEv2・L2TP/IPsec のリモートアクセスと、ほかの IPsec の拠点)がいったん切れます。
手で指定するとき
「暗号の組み合わせ」を「手で指定」にすると、「フェーズ 1(IKE SA)」と「フェーズ 2(IPsec SA)」をそれぞれ選べます。
| 項目 | 説明 |
|---|---|
| 暗号化方式 | AES-256-GCM・AES-128-GCM・AES-256-CBC・AES-128-CBC・3DES |
| 認証方式 | SHA-256・SHA-384・SHA-512・SHA-1。GCM 以外の暗号化方式では必須です |
| DH グループ(フェーズ 1) | ECP256・ECP384・Curve25519・MODP2048 など。1 つ以上必須 |
| PFS(フェーズ 2) | 鍵の更新のたびに DH で鍵を作り直すときのグループ。「なし」も選ぶと、PFS を使わない相手とも鍵を更新できます |
| 寿命 | この時間ごとに鍵を更新します。例:8h。空欄の場合はフェーズ 1 が 24 時間、フェーズ 2 が 8 時間 |
証明書で認証するとき
- 「認証」を「証明書」にします。「こちらの ID」は必須です(証明書に書かれます)。
- こちらの証明書は、ルーター内の CA が「こちらの ID」で発行します。
- 「相手の CA 証明書」に、相手の証明書を発行した CA の証明書(PEM)を貼り付けます。空欄の場合は、このルーター内の CA で確かめます(相手も FELIXXRT で、同じ CA の証明書を使うとき)。
- こちらの CA 証明書は「SYSTEM › 全般」画面の「CA 証明書を保存」でダウンロードし、相手に渡します。
項目(WireGuard)
| 項目 | 説明 |
|---|---|
| こちらの公開鍵 | 相手のルーターに設定する公開鍵。拠点を追加した時点で作られます |
| 相手の公開鍵 | 相手のルーターの WireGuard の公開鍵(Base64) |
| 相手のエンドポイント | 相手のアドレス(ホスト名可)とポート。空欄の場合は相手からの接続を待ちます(リッスンポートが必要) |
| リッスンポート | 相手から接続されるときに待ち受ける UDP ポート。こちらからだけつなぐときは空欄で構いません。指定したポートはルーターが自動で受け付けます |
| 事前共有鍵(任意) | 公開鍵に加えて使う共通の鍵(Base64 の 44 文字)。使う場合は相手にも同じ鍵を設定します。「自動生成」で作れます |
| キープアライブ | こちらからつなぐとき、NAT の内側でも接続を保つためにこの間隔(秒)で通信します。空欄の場合は 25 秒 |
事前共有鍵は「保存」「自動生成」を押した時点で保管されますが、使われるのは拠点の設定を「保存」して適用したあとです。