1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

さくらのクラウドとAzureを拠点間VPNで接続する

Posted at

はじめに

AzureのLocal Network Gateway(以下LNG)VPN Gateway、さくらのクラウドのVPNルータ(旧VPCルータ)を使用して拠点間VPNできればいいよねという思いつきで試してみたところ、PING疎通までは確認できたので備忘録としておいておきます。

完成図

完全に理解した状態なので許してください
aaaaa.png

構築

仮想ネットワークやVM等をデプロイしておく(Azure側)

ここでは詳しく紹介しませんが、いつも通りにVNETや必要な仮想マシンをデプロイしておいてください。

ただし、VNETの中にVirtual Networok Gatewayの目的を持ったサブネットを用意しておいてください
image.png

こんな感じでサブネットを生やしました
image.png

VPN Gateway用にパブリックIPv4アドレスを1つ用意しておく (Azure側)

VPN Gatewayのデプロイには時間がかかります。
さくらのクラウド側で入力するときに、これがないと作業ができないのであらかじめ確定しておきたい

スイッチ作成(さくらのクラウド側)

仮想マシンとVPNルータを接続するスイッチを作成しておきます
ルーター機能は必要ありません。

VPNルータ作成(さくらのクラウド側)

image.png

スタンダードでOKです。インターネットVPNなのでインターネット接続は必須です。

作成できたらさくらのクラウド側のグローバルIPアドレスが確定します

スイッチとVPNルータの接続(さくらのクラウド側)

先程作成したスイッチとVPNルータを接続する
ここではIPアドレスは192.168.100.254/24とします。ご自身の環境に合わせてスイッチを生やしてください
image.png

サイト間VPNの設定を追加する(さくらのクラウド側)

image.png

対向IPアドレス Azureで事前に取得したパブリックIPアドレス
対向ID Azureで事前に取得したパブリックIPアドレス
Pre Shared Secret 事前共有キーを決める。Azure側でも使う
対向Prefix Azure側のサブネット(複数可)
ローカルPrefix さくらのクラウド側のサブネット(複数可)

反映をクリックしたら、さくらのクラウド側の操作は一旦終わり

LNG作成(Azure側)

※ExpressRouteじゃないよ!
image.png
リソースグループやリージョンはそれぞれ違うと思います

エンドポイント IPアドレス(FQDNがあればそれでもOK)
IPアドレス さくらのクラウドVPNルータのグローバルIPアドレス
アドレス空間 さくらのクラウド側のサブネット

BGPの設定は無し

入力したらデプロイする

VPN Gateway作成(Azure側)

※ExpressRouteじゃないよ!
image.png

ゲートウェイの種類 VPN
SKU VpnGw1Azで試しました
世代 Generation1
仮想ネットワーク VPNで結ぶAzure側のVNET
サブネット VNET内のGatewaySubnetが自動選択される
パブリックIPアドレス 既存のものを使用
パブリックIPアドレスの選択 VPN Gateway用に取得したv4アドレス
アクティブ/アクティブモードの有効化 無効(対応してるのか未検証)
BGPの構成 無効
認証情報 無効

できたらデプロイする(Japan Eastで30分程度。めっちゃ時間かかる)

VPN connectionsの作成(Azure側)

※ExpressRouteじゃないよ!

基本

image.png
接続の種類をサイト対サイト(IPsec)にする

設定

image.png

さくらのクラウド側の設定にあわせてIPsecおよびIKEポリシーを調整します
image.png

仮想ネットワークゲートウェイ 先程作成したVPN Gateway
ローカルネットワークゲートウェイ 先程作成したLNG
IKEプロトコル IKEv1
AzureプライベートIPアドレスを使用する なし
BGPを有効にする なし
IPsecおよびIKEポリシー カスタム

IKEフェーズ1

暗号化 AES128
整合性またはPRF SHA1
DHグループ DHGroup2

IKEフェーズ2(IPsec)

IPsec暗号化 AES128
IPsec整合性 SHA1
PFSグループ PFS2

その下

IPsec SAの有効期間(KB) 28800
IPsec SAの有効期間(秒) 1800
DPDタイムアウト 30

事前共有キーはデプロイ後に入力します
間違いなければデプロイ

このあたりでさくらのクラウド側のVPNルータの電源を投入しておきましょう

事前共有キーを設定しに行く(Azure側)

※ExpressRouteじゃないよ!
VPN connectionsの一覧から作成したものをクリック
image.png

認証の設定を確認すると共有キー(PSK)を入力する欄があるので入力して保存する
image.png

保存して何度か画面を更新すればトンネルのstatusがConnectedに変わります
image.png

さくらのクラウド側でもトンネルの状態がUPになっているはずです
image.png

テスト

Azureとさくらのクラウド、両方に仮想マシンを建ててPINGしてみます

さくらのクラウド側VMの情報

ubuntu@skic-az-dx-skvm01:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 9c:a3:ba:33:f8:d7 brd ff:ff:ff:ff:ff:ff
    altname enp0s3
    altname ens3
    inet 192.168.100.1/24 brd 192.168.100.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::9ea3:baff:fe33:f8d7/64 scope link
       valid_lft forever preferred_lft forever
ubuntu@skic-az-dx-skvm01:~$
ubuntu@skic-az-dx-skvm01:~$ ip route
default via 192.168.100.254 dev eth0 proto static
192.168.100.0/24 dev eth0 proto kernel scope link src 192.168.100.1
ubuntu@skic-az-dx-skvm01:~$

Azure側VMの情報

azureuser@skic-az-dx-azvm01:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:22:48:e6:67:c7 brd ff:ff:ff:ff:ff:ff
    inet 10.0.1.4/24 metric 100 brd 10.0.1.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::222:48ff:fee6:67c7/64 scope link
       valid_lft forever preferred_lft forever
azureuser@skic-az-dx-azvm01:~$
azureuser@skic-az-dx-azvm01:~$ ip route
default via 10.0.1.1 dev eth0 proto dhcp src 10.0.1.4 metric 100
10.0.1.0/24 dev eth0 proto kernel scope link src 10.0.1.4 metric 100
10.0.1.1 dev eth0 proto dhcp scope link src 10.0.1.4 metric 100
168.63.129.16 via 10.0.1.1 dev eth0 proto dhcp src 10.0.1.4 metric 100
169.254.169.254 via 10.0.1.1 dev eth0 proto dhcp src 10.0.1.4 metric 100
azureuser@skic-az-dx-azvm01:~$

さくらのクラウド → Azure

VPNルータに搭載されたPING機能を使って先程の仮想マシンにPINGしてみましょう
image.png
こっちもOKですね。Azure側からのtcpdumpでもしっかり見えています
image.png

仮想マシン対仮想マシンのPINGはどうでしょうか
image.png
OKです
※仮想マシン側の経路設定に注意してください。
VPNルータにデフォゲが向いていれば問題ないですが、デフォゲが共有セグメントに向いている場合はAzure側のサブネットがVPNルータに向くような静的経路が必要です。

Azure → さくらのクラウド

Azure側に仮想マシンを建てて、さくらのクラウド VPNルータに向けてPINGしてみましょう

image.png

石狩から東京なので遅延はありますが、しっかりトンネルを経由してくれてそうです

こちらの経路設定はVNETでいい感じにやってくれるので変更しなくてもいいです

image.png
tcpdumpでも観測できます

終わり!

参考資料

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?