2017年2月11日土曜日

AWSのVPCでCisco機器とVPNを貼った時のメモ

■目的
AWSのVPCでオンプレ環境にあるCisco(CISCO1921)とVPNを貼るときに気になった事

■内容
VPC接続で一台のCiscoから2本のVPNを貼って冗長化を行なっている
トンネルの設定はAWSで自動生成されたコンフィグ
VPNが一本切れた場合、ルーティングで2本目のVPN経由にルートが変わるように設定している。
interface Tunnel1
 ip address XXX.XXX.XXX.XXX 255.255.255.252
 ip mtu 1422
 ip virtual-reassembly in
 ip tcp adjust-mss 1379
 tunnel source XXX.XXX.XXX.XXX
 tunnel mode ipsec ipv4
 tunnel destination XXX.XXX.XXX.XXX
 tunnel protection ipsec profile XXXX
!
interface Tunnel2
 ip address XXX.XXX.XXX.XXX 255.255.255.252
 ip mtu 62
 ip virtual-reassembly in
 ip tcp adjust-mss 1379
 tunnel source XXX.XXX.XXX.XXX
 tunnel mode ipsec ipv4
 tunnel destination XXX.XXX.XXX.XXX
 tunnel protection ipsec profile XXXX

 ip route AWS側のセグメント 255.255.255.0 Tunnel1 track 100
 ip route AWS側のセグメント 255.255.255.0 Tunnel2 track 200
こんな感じ

最近通信が不安定という問い合わせを受けて調べた中で気になったことを記載する。

■①VPNトンネルのBandWidthが100k/bps
トンネルのsh interface statusを確認すると

Tunnel1 is up, line protocol is up 
  Hardware is Tunnel
  Internet address is XXX.XXX.XXX.XXX
  MTU 17862 bytes, BW 100 Kbit/sec, DLY 50000 usec, 
     reliability 255/255, txload 2/255, rxload 1/255
  Encapsulation TUNNEL, loopback not set
  Keepalive not set

どうやらデフォルトで100Kbit/sec表示になるらしい。
AWS側には設定するところがないので、こちら側で設定変更させるとオートで反映されると思う。
トンネルの設定で
(config-if)#bandwidth 100000
再度設定を確認すると
  Tunnel1 is up, line protocol is up 
  Hardware is Tunnel
  Internet address is XXX.XXX.XXX.XXX
  MTU 17862 bytes, BW 100000 Kbit/sec, DLY 50000 usec, 

BandWidthが変更されている。
ただこれは本当に効いているのか、気休めなのかは謎である。

■②通信が不安定な原因
結論から言うとVPNで使用する暗号化強度が強すぎてCISCO1921では通信を流すとCPUが張り付いてしまう程の高負荷だった。

crypto ipsec transform-set XXX.XXX.XXX.XXX esp-aes 256 esp-sha256-hmac 
aes256だと負荷が高すぎたので

crypto ipsec transform-set XXX.XXX.XXX.XXX esp-aes esp-sha-hmac 
に変更したところ改善した。


■終わり
VPC側の設定ではできることに限りがあるので、オンプレ側の設定を変えたら
VPNを一回切断して再度接続することで設定が反映される。

私の体験が誰かの生産性向上に役立っていただけることを祈って

0 件のコメント:

コメントを投稿