備忘録、のようなもの

頭を使うために書き始めることにしました。わりと何でも書くつもりです。

Azureと自宅をVPNした

またしても1年半のブランクが空いてました。
歳のせいか1年が早いです。

今回はAzureのVPN Gatewayと自宅のIX2015でVPNを張って、BGPで経路交換したいと思います。
たまに会社の案件で使いそうになるので検証したいと思いつつ、会社が検証用のNW環境がないので自宅でやろうと思い立った次第です。
ダイナミックルーティングだしActive/Active構成にしろよと思われるかもしれませんが、
一般宅なのでインターネット回線冗長化してないです、すいません。
あとBGPはCCNPの勉強でちょっと触れた程度なので、わかってない部分が多いです…

とりあえず今回の構成はこんな感じ。
f:id:idx_ccd3:20181104232649j:plain
仕事ではほぼ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がお安いのです…
f:id:idx_ccd3:20181104173904p:plain


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

でも叩いて確認。
f:id:idx_ccd3:20181104230044p:plain

続いてBGPの確認
Azure側は

Get-AzureRmVirtualNetworkGatewayLearnedRoute

など
Origin : EBgpでオンプレミス側から受け取った経路情報が見えるはず。
f:id:idx_ccd3:20181104230651p:plain

IX側は

show ip bgp neighbors 

f:id:idx_ccd3:20181104230252p:plain


だいたいこんな感じでサイト対サイトVPNでBGPできました。
ぶっちゃけciscoと似たような設定なのでciscoのドキュメントやら黒本も参考にしました。
ざっくりだけど以上です。時間空きすぎなのでもう少しこまめに何か書こう……
といってまた1年後に何か書いてる姿が目に浮かぶ。