Azureと自宅をVPNした
またしても1年半のブランクが空いてました。
歳のせいか1年が早いです。
今回はAzureのVPN Gatewayと自宅のIX2015でVPNを張って、BGPで経路交換したいと思います。
たまに会社の案件で使いそうになるので検証したいと思いつつ、会社が検証用のNW環境がないので自宅でやろうと思い立った次第です。
ダイナミックルーティングだしActive/Active構成にしろよと思われるかもしれませんが、
一般宅なのでインターネット回線冗長化してないです、すいません。
あとBGPはCCNPの勉強でちょっと触れた程度なので、わかってない部分が多いです…
とりあえず今回の構成はこんな感じ。
仕事ではほぼAzureしか使ってないので、いつものこちらのアイコン使いました。
Download Microsoft Azure, Cloud and Enterprise Symbol / Icon Set - Visio stencil, PowerPoint, PNG, SVG from Official Microsoft Download Center
まずはAzure側の設定
1. VPN Gatewayの設定
VPNGatewayはBasicのものが既にあるので、BGPに対応したStandardにSKU変更し、「BGP ASNの構成」にチェック入れます。
(SKUの変更でも新規作成と同じくらい時間がかかりました)
本当はVpnGw1が良いんでしょうけど、常時繋いでおくにはBasicがお安いのです…
2. ローカルネットワークゲートウェイの設定
ローカルネットワークゲートウェイはオンプレミスのルータに関する情報をAzureに登録しとくようなやつです。
作成画面じゃないけどこんな感じ。
IPアドレス:自宅のグローバルIP
アドレス空間:オンプレミスのデバイスのローカルIP(そのままBGPピア貼るためのスタティックルートになる)
ASN:オンプレミスのAS番号
BGPピアのIPアドレス:オンプレミスのデバイスのローカルIP
3. 接続の作成
サイト対サイトを選択して、さっき作ったローカルネットワークゲートウェイとVPNGatewayを指定するだけです。
「BGPを有効にする」のチェックは忘れずに。
Azure側の設定はこれだけ。
次にオンプレミスのIX2105の設定です
1. VPNの設定
だいたいNECのドキュメントを参考に。
ikev2 authentication psk id ipv4 <VPN GatewayのグローバルIP> key char <共有キー(PSK)> ikev2 default-profile dpd interval 10 sa-proposal dh 1024-bit source-address GigaEthernet0.0 interface Tunnel0.0 description AzureVPN tunnel mode ipsec-ikev2 ip unnumbered GigaEthernet1.0 ip tcp adjust-mss 1350 ikev2 connect-type auto ikev2 ipsec pre-fragment ikev2 peer <VPN GatewayのグローバルIP> authentication psk id ipv4 <VPN GatewayのグローバルIP> no shutdown
2. BGPの設定
最初のスタティックルートとBGPのupdate-sourceを忘れてて数時間潰しました。
スタティックルート書かないとネイバーまでの経路がわからないので必要。
update-sourceは理解不足。冗長化してるときはループバックインターフェイスの指定が必要みたいだけど、まぁ1本しかないので普通に物理インターフェイス指定してます。
ebgp-multihopはBGPのパケットは通常TTLが1らしいので必要。最大値設定したけど2でいいのかもしれない。
ip route 172.31.255.254/32 Tunnel0.0 router bgp 65500 neighbor 172.31.255.254 remote-as 65510 neighbor 172.31.255.254 update-source GigaEthernet1:1.0 neighbor 172.31.255.254 ebgp-multihop 254 neighbor 172.31.255.254 description AzureVPN-BGP address-family ipv4 unicast network 192.168.SS.0/24 network 192.168.TT.0/24
だいたいこんな感じでIX側の設定も完了。
あとはVPNの確認と、BGPの確認を行うだけです。
Azure側は接続リソースが「接続済み」になってればOKですね。いつもどおり。
IX側は
show ikev2 sa
でも叩いて確認。
続いてBGPの確認
Azure側は
Get-AzureRmVirtualNetworkGatewayLearnedRoute
など
Origin : EBgpでオンプレミス側から受け取った経路情報が見えるはず。
IX側は
show ip bgp neighbors
だいたいこんな感じでサイト対サイトVPNでBGPできました。
ぶっちゃけciscoと似たような設定なのでciscoのドキュメントやら黒本も参考にしました。
ざっくりだけど以上です。時間空きすぎなのでもう少しこまめに何か書こう……
といってまた1年後に何か書いてる姿が目に浮かぶ。