はじめに
「インターネット分離」を目的に仮想デスクトップ(VDI)環境を導入する場合などで、下記のようにオンプレミス環境と仮想デスクトップ環境の間にCloud環境を挟むような構成をとることがあります。このような構成で環境同士の接続にBGPとIPSec VPNを併用することがあります。
BGPについて
BGPについては以下のURLを参照してください。
http://www.atmarkit.co.jp/ait/articles/0112/06/news002.html
BGPとIPSec VPNを併用する場合の落とし穴
「はじめに」で紹介した構成に限ったことですが、以下の2つの落とし穴がありました。
Cloud環境のNSX Edgeでダミーのルーティング設定が必要
BGPではお互いのルーター間でそれぞれが知っている全ての経路情報を交換します。ここで問題となるのはCloud環境のNSX EdgeではIPSec VPN越しの仮想デスクトップ環境上のネットワークへの経路情報を流しません。結果としてオンプレミス環境上のRouterはCloud環境の先にある仮想デスクトップ環境のネットワーク経路がわからず、正しくルーティングしてくれません。
回避策として、Cloud環境上のNSX Edgeでダミーのスタティックルーティング設定が必要です。この際、IPSec VPNのリモートネットワークで設定したPrefixとスタティックルーティングで設定するPrefixが被るとエラーとなるため、以下のようにPrefixを変える必要があります。
仮想デスクトップ環境上のネットワークは以下の2つです。
192.168.10.0/24
192.168.20.0/24
上記の場合、ダミーのスタティックルーティング設定では以下のように指定します。なお、このときのネクストホップ設定ではどのアドレスを入力しても構いません。
192.168.10.0/23
192.168.20.0/23
この場合の注意点として、192.168.11.0~192.168.11.255および192.168.21.0~192.168.21.255のアドレス帯がオンプレミス環境では使われていないことをご確認ください。
(VDIのインターネット通信をオンプレミス環境上のRouter経由でのみ許可する場合)ローカルネットワークとして0.0.0.0/0の設定が必要
下記の図のようにインターネット通信をオンプレミス環境上のRouter経由でのみ許可する場合、BGPとIPSec VPNでそれぞれ以下の設定が必要です。
BGP
オンプレミス側のRouterで0.0.0.0/0のネットワークをredistributeするように設定します。
IPSec VPN
Cloud環境のNSX Edgeではローカルネットワークとして「0.0.0.0/0」を設定します。また、仮想デスクトップ環境のNSX Edgeではリモートネットワークに「0.0.0.0/0」を設定し、更にExtensionとして以下の設定を追加します。
passthroughSubnets=192.168.10.0/24,192.168.20.0/24
securelocaltrafficbyip=0
passthroughSubnetsの説明
ここに記載したネットワークへの通信はVPN設定対象から外れます。
securelocaltrafficbyip=0 の説明
この設定で仮想デスクトップ環境上のポータルにインターネットからアクセスした場合でも戻りの通信がVPNを経由せずにインターネットに戻ります。逆にこの設定がないと戻りの通信がVPNへ向かい、正常に通信できなくなります。