はじめに
IIJ の提供する SEIL と GCP を VPN 接続したので忘備録としてまとめておきます。環境としては以下のとおりです。アドレスは適時環境に合わせて読み替えてください。
設定のポイントとしては
- IKEv1 を使用(SEIL が IKEv2 サポート外のため)
- ルーティングベース IPsec を使用(ポリシーベース <-> ルーティングベースではエラーになる)
test server (192.168.0.2/24)
|
|(192.168.0.1/24)
VPC
|VPN(10.0.0.1)
|
|(10.0.0.2)
SEIL
(192.168.1.1/24)
SEIL の設定
必要な部分だけ抜粋します。GCP IKEv1 の設定と合わせる必要があるため注意が必要です。
interface ipsec1 description to_gcp interface ipsec1 mtu 1280 interface ipsec1 tcp-mss 1228 interface ipsec1 tunnel 10.0.0.2 10.0.0.1 interface ipsec1 unnumbered route add 192.168.0.0/24 ipsec1 distance 10 ike auto-initiation enable ike randomize-padding-value enable ike randomize-padding-length disable ike maximum-padding-length 20 ike strict-padding-byte-check disable ike exclusive-tail enable ike preshared-key add 10.0.0.1 "pass" ike proposal add IKEP01 encryption aes128 hash sha1 authentication preshared-key dh-group modp1024 lifetime-of-time 08h ike peer add TUNNEL01 address 10.0.0.1 exchange-mode main proposals IKEP01 dpd enable tunnel-interface enable ipsec security-association proposal add SAP01 pfs-group modp1024 authentication-algorithm hmac-sha1 encryption-algorithm aes128 lifetime-of-time 01h ipsec security-association add TUNNEL01 tunnel-interface ipsec1 ipv6 block ike SAP01 esp enable
GCP の設定
GCP の設定を行う時の注意点としてはインスタンス、VPC、VPN、静的アドレスすべてを同じリージョンから選択する必要があります(多少違っても大丈夫かもしれないけど、合わせるのが無難?)
VPC ネットワーク
グローバルアドレスの予約
実際には SEIL の設定前に取得する必要があります。
GCP の VPC ネットワークの外部 IP アドレスから「静的アドレスを予約」を選択、ネットワークサービス階層は標準、IPバージョンは v4 、タイプはリージョンで予約します。
VPCの設定
VPCネットワークから「VPCネットワークの作成」を選択します。サブネットはカスタムでIPアドレスを設定。
ファイアウォールの設定
「ファイアウォールルールを作成」から新しいルールを追加します。ネットワークはVPCで設定したネットワークを選択、トラフィックは上り(incoming)で一致した時のアクションは許可、ターゲット(あて先)は今回は「ネットワーク上のすべてのインスタンス」にします。
ソース IP の範囲は SEIL のローカルアドレス 192.168.1.0/24 を指定。ポートは試験用なのですべて許可。
VPN の設定
ハイブリット接続から「VPN設定ウィザード」を選択します。今回は可用性は必要ないので Classic VPN を選択、VPCネットワークとリージョンは同じものを選択します。IP アドレスは「グローバルアドレスの予約」で作成したものを選択します。
続いて VPN トンネルを作成します。リモートピア IP アドレスは SEIL の外側を記入、IKEのバージョンは v1、ルーティングオプションはルートベースを選択します。
test server の設定
テスト用なので Debian 、fi-micro でいいです。ネットワークインターフェースには VPC ネットワークで作成したものを選択します。インターフェースアドレスはカスタムでも自動でもどちらでも問題ないです。
今回は 192.168.0.2/24 を指定します。
確認
確認は ping コマンドを使用して相互に確認します。
注意点としてはGCP で提供される VPC に設定されるデフォルトゲートウェイは icmp に反応しないので、今回の環境では 192.168.0.1/24 に ping を飛ばしても応答はありません。