Azure VPN接続でのPublic IPアドレスの変更への対応

VPN

自宅内のサーバ環境から、仮想VPNルータ(VyOS)を使用してAzureにSite-to-Site接続して検証を行っていますが、自宅、Azureの双方のPublic IPアドレスが変わることがありますので、その対応をします。

Public IPアドレスの変更されるケース

自宅側

インターネットプロバイダとの契約の関係で固定IPアドレスをもらっていませんので、時々変更されることがあります。

ルータは常時起動なので毎日のように頻繁に変更されるわけではなく、気づいたら変わっていたという感じです。

Azure側

Virtual Network Gateway(VPN Gateway)の課金の関係で、主に使用する週末にだけ作成して使い終わったら削除という感じですので、作成するたびに新しいIPアドレスが割り振られます。

一番安いSKU:Basicを使用しているためか、静的なPublic IPアドレスは設定ができないようです。

使用していない時間の方が長いので動的なIPアドレス自体も使用しない時はリリースするようにしています。

自宅のIPアドレスの変更対応

AzureのLocal Network Gatewayの定義に自宅IPアドレスを設定する箇所があります。

IPアドレスもしくはFQDNで指定ができるので、ダイナミックDSNサービスを使用して登録したドメインをFQDNで指定することにしました。

ダイナミックDNSへのIPアドレスの通知は1回/日としていますが、その間に変わっていたら手動で更新すればよいかなという程度です。

AzureのIPアドレスの変更対応

Azure接続のVPNのセットアップは以下の手順となります。

(1)Virtual Network Gatewayの作成

VPN Gatewayを構成するだけなので、ポータル画面から登録しているが、デプロイに時間を要するので定例処理としてバッチ化を今後検討

(2)Local Network GatewayとVirtual Network Gatewayの接続

Local Network Gatewayは課金に影響しないので常時作成済みの状態なので、(1)が終わったらポータル画面から設定

(3)仮想VPNルータの設定変更

Virtual Network GatewayがデプロイされるとIPアドレスが割り振られるのでIPアドレスを確認して、VyOSのVPN設定を変更

VyOSのsite-to-site peerのIPアドレス変更方法

設定モードに変更

vyos@VPN-ROUTER:~$ configure
[edit]

site-to-siteの編集

vyos@VPN-ROUTER# edit vpn ipsec site-to-site
[edit vpn ipsec site-to-site]

現在の設定確認

vyos@VPN-ROUTER# show
 peer 2.2.2.2 {
     authentication {
         mode pre-shared-secret
         pre-shared-secret PRE_SHARED_SECRET
     }
     default-esp-group AZURE
     ike-group AZURE
     local-address 192.168.10.250
     tunnel 1 {
         local {
             prefix 192.168.200.0/24
         }
         remote {
             prefix 172.16.0.0/16
         }
     }
 }
[edit vpn ipsec site-to-site]

IPアドレスを変更

vyos@VPN-ROUTER# rename peer 2.2.2.2 to peer 1.1.1.1
[edit vpn ipsec site-to-site]

変更内容を保存

vyos@VPN-ROUTER# commit
[edit vpn ipsec site-to-site]
vyos@VPN-ROUTER# save
Saving configuration to '/config/config.boot'...
Done
[edit]
vyos@VPN-ROUTER# exit

VPNの再起動、確認

vyos@VPN-ROUTER:~$ restart vpn
Restarting IPsec process...
vyos@VPN-ROUTER:~$ show vpn ike sa
Peer ID / IP                            Local ID / IP
------------                            -------------
1.1.1.1                                 192.168.10.250

    State  IKEVer  Encrypt  Hash    D-H Group      NAT-T  A-Time  L-Time
    -----  ------  -------  ----    ---------      -----  ------  ------
    up     IKEv2   aes256   sha1_96 2(MODP_1024)   no     3600    28800

vyos@VPN-ROUTER:~$ show vpn ipsec sa
Connection                  State    Up          Bytes In/Out    Remote address    Remote ID    Proposal
--------------------------  -------  ----------  --------------  ----------------  -----------  ------------------------------------------------
peer-20.46.180.68-tunnel-1  up       20 seconds  0B/0B           1.1.1.1           N/A          AES_CBC_256/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_1024

コメント