この記事は、ニフクラブログで2015-08-12に公開された記事を移転したものです。
こんにちは。まほろば工房の浅間です。
今回からいよいよ応用編です。とはいうものの今回は単に IPsec VPN(L3 VPN) で拠点が多くなった感じの構成の紹介です。
今回紹介する構成を絵にするとこんな感じです。ニフティクラウドの東西リージョンのプライベート LAN と 2カ所のオンプレがフルメッシュで接続されたような構成ですね。とてもシンプルな構成ですが、個人的にはこういうシンプルなのが一番好きです。あまり複雑にすると不安定になっちゃうような気がして。
今回の例はオンプレが 2カ所ですが、今回の設定を参考にすればオンプレが 3カ所、 4カ所でも同じように設定できると思います。
まずは東日本リージョンの VPN ゲートウェイの設定から始めましょう。
東日本リージョンの VPN ゲートウェイの設定
プライベート LAN と VPN ゲートウェイの作成はいつも通りですね。ファイアウォールのルールもとりあえず西日本リージョンの VPN ゲートウェイのグローバル IP アドレスを保留して定義しておきます。あとはオンプレの YAMAHA RTX1210 のグローバル IP アドレスも許可するよう設定しておきます。
つぎに西日本リージョンの VPN ゲートウェイの設定です。
西日本リージョンの VPN ゲートウェイの設定
こちらもいつもと同じです。プライベート LAN と VPN ゲートウェイを作成しましょう。ファイアウォールには (1) 西日本リージョンのプライベート LAN のアドレス、 (2) 東日本リージョンの VPN ゲートウェイのグローバル IP アドレス、 (3) オンプレの YAMAHA RTX1210 のグローバル IP アドレス x 2 を許可するよう設定します。
西日本の VPN ゲートウェイの作成が完了したら東日本リージョンに戻り VPN コネクションを作成しましょう。
東日本リージョンの VPN ゲートウェイの設定(再)
そのまえにファイアウォールのルールに西日本リージョンの VPN ゲートウェイのグローバル IP アドレスを加えておきます。
そしていよいよ VPN コネクションの作成です。東日本リージョンの VPN ゲートウェイには以下の 3 つの VPN コネクションを作成する必要があります。
- 西日本リージョンの VPN ゲートウェイとの VPN コネクション
- 右側の YAMAHA RTX1210 との VPN コネクション
- 左側の YAMAHA RTX1210 との VPN コネクション
まずは西日本リージョンの VPN ゲートウェイとの VPN コネクションの作成です。 “東西リージョン間 IPsec VPN(L3 VPN)” と同じ感じです。
そして 右側の YAMAHA RTX1210 との VPN コネクションの作成です。 “YAMAHA RTX1210 で単一拠点 IPsec VPN(L3 VPN)” と同じ感じです。
そして左側の YAMAHA RTX1210 との VPN コネクションの作成です。こちらも “YAMAHA RTX1210 で単一拠点 IPsec VPN(L3 VPN)” と同じ感じで作成します。
西日本リージョンの VPN ゲートウェイも作成しましょう。
西日本リージョンの VPN ゲートウェイの設定(再)
東日本でやったのと同じ感じで設定します。
右側の YAMAHA RTX1210 の設定
さて、ここまでは「いつもとおなじで?」みたいな感じで説明を省いてこれましたが、じつはこの構成の YAMAHA RTX1210 の設定はいままでと同じというわけにはいきません。というのも、いままでの設定方法ではニフティクラウドさんのコンパネから設定をコピペしていましたけど、じつはコンパネが生成するコマンドはトンネル ID がすべて 1 になっているので、そのままでは 2 つめ以降の設定ではなく 1 つめを上書きしてしまうことになってしまうのです。
ということでコンパネが生成してくれた 2 つめ以降の実行コマンドが、
tunnel select 1
ipsec tunnel 101
ipsec sa policy 101 1 esp aes-cbc sha-hmac
ipsec ike duration ipsec-sa 1 3600
ipsec ike duration ike-sa 1 28800
ipsec ike encryption 1 aes-cbc
ipsec ike group 1 modp1024
ipsec ike hash 1 sha
ipsec ike keepalive use 1 on dpd
ipsec ike local address 1 192.168.1.1
ipsec ike pfs 1 on
ipsec ike pre-shared-key 1 text xxxxxxxx
ipsec ike remote address 1 198.51.100.123
tunnel enable 1
のようになっていたら、これを、
tunnel select 2
ipsec tunnel 102
ipsec sa policy 102 2 esp aes-cbc sha-hmac
ipsec ike duration ipsec-sa 2 3600
ipsec ike duration ike-sa 2 28800
ipsec ike encryption 2 aes-cbc
ipsec ike group 2 modp1024
ipsec ike hash 2 sha
ipsec ike keepalive use 2 on dpd
ipsec ike local address 2 192.168.1.1
ipsec ike pfs 2 on
ipsec ike pre-shared-key 2 text xxxxxxxx
ipsec ike remote address 2 198.51.100.123
tunnel enable 2
のように読み替えなければなりません。
また、一台の RTX1210 から複数の IPsec VPN トンネルを設定する場合、
ipsec ike local id x (自身のネットワークアドレス) ipsec ike remote id x (相手のネットワークアドレス)
という設定もしないといけないようです。
ということで上記をふまえた右側の YAMAHA RTX1210 の設定は以下のようになります。
tunnel 1 が 東日本リージョンの VPN ゲートウェイとの接続で、 tunnel 2 が西日本リージョンの VPN ゲートウェイとの接続で、 tunnel 3 が左側の YAMAHA RTX1210 との接続になります。
ip route default gateway pp 1
ip route 172.16.1.0/24 gateway tunnel 1
ip route 172.16.2.0/24 gateway tunnel 2
ip route 192.168.2.0/24 gateway tunnel 3
ip lan1 address 192.168.1.1/24
ip lan2 nat descriptor 1
pp select 1
pppoe use lan2
pp auth accept pap chap
pp auth myname xxx@yyy zzz
ppp lcp mru on 1454
ppp ipcp ipaddress on
ppp ipcp msext on
ppp ccp type none
ip pp mtu 1454
ip pp nat descriptor 1
pp enable 1
tunnel select 1
ipsec tunnel 101
ipsec sa policy 101 1 esp aes-cbc sha-hmac
ipsec ike duration ipsec-sa 1 3600
ipsec ike duration ike-sa 1 28800
ipsec ike encryption 1 aes-cbc
ipsec ike group 1 modp1024
ipsec ike hash 1 sha
ipsec ike keepalive use 1 on dpd
ipsec ike local address 1 192.168.1.1
ipsec ike local id 1 192.168.1.0/24
ipsec ike pfs 1 on
ipsec ike pre-shared-key 1 text xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
ipsec ike remote address 1 198.51.100.123
ipsec ike remote id 1 172.16.1.0/24
tunnel enable 1
tunnel select 2
ipsec tunnel 102
ipsec sa policy 102 2 esp aes-cbc sha-hmac
ipsec ike duration ipsec-sa 2 3600
ipsec ike duration ike-sa 2 28800
ipsec ike encryption 2 aes-cbc
ipsec ike group 2 modp1024
ipsec ike hash 2 sha
ipsec ike keepalive use 2 on dpd
ipsec ike local address 2 192.168.1.1
ipsec ike local id 2 192.168.1.0/24
ipsec ike pfs 2 on
ipsec ike pre-shared-key 2 text xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
ipsec ike remote address 2 198.51.100.234
ipsec ike remote id 2 172.16.2.0/24
tunnel enable 2
tunnel select 3
ipsec tunnel 103
ipsec sa policy 103 3 esp aes-cbc sha-hmac
ipsec ike duration ipsec-sa 3 3600
ipsec ike duration ike-sa 3 28800
ipsec ike encryption 3 aes-cbc
ipsec ike group 3 modp1024
ipsec ike hash 3 sha
ipsec ike keepalive use 3 on dpd
ipsec ike local address 3 192.168.1.1
ipsec ike local id 3 192.168.1.0/24
ipsec ike pfs 3 on
ipsec ike pre-shared-key 3 text my_shared_secret
ipsec ike remote address 3 203.0.113.234
ipsec ike remote id 3 192.168.2.0/24
tunnel enable 3
nat descriptor type 1 masquerade
nat descriptor address outer 1 ipcp
nat descriptor address inner 1 auto
nat descriptor masquerade static 1 1 192.168.1.1 udp 500
nat descriptor masquerade static 1 2 192.168.1.1 udp 4500
nat descriptor masquerade static 1 3 192.168.1.1 esp
ipsec auto refresh on
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.1.101-192.168.1.200/24
dns server pp 1
dns private address spoof on
左側の YAMAHA RTX1210 の設定
左側の YAMAHA RTX1210 は右側と同じ感じで設定します。
ip route default gateway pp 1
ip route 172.16.1.0/24 gateway tunnel 1
ip route 172.16.2.0/24 gateway tunnel 2
ip route 192.168.1.0/24 gateway tunnel 3
ip lan1 address 192.168.2.1/24
ip lan2 nat descriptor 1
pp select 1
pppoe use lan2
pp auth accept pap chap
pp auth myname iii@jjj kkk
ppp lcp mru on 1454
ppp ipcp ipaddress on
ppp ipcp msext on
ppp ccp type none
ip pp mtu 1454
ip pp nat descriptor 1
pp enable 1
tunnel select 1
ipsec tunnel 101
ipsec sa policy 101 1 esp aes-cbc sha-hmac
ipsec ike duration ipsec-sa 1 3600
ipsec ike duration ike-sa 1 28800
ipsec ike encryption 1 aes-cbc
ipsec ike group 1 modp1024
ipsec ike hash 1 sha
ipsec ike keepalive use 1 on dpd
ipsec ike local address 1 192.168.2.1
ipsec ike local id 1 192.168.2.0/24
ipsec ike pfs 1 on
ipsec ike pre-shared-key 1 text xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
ipsec ike remote address 1 198.51.100.123
ipsec ike remote id 1 172.16.1.0/24
tunnel enable 1
tunnel select 2
ipsec tunnel 102
ipsec sa policy 102 2 esp aes-cbc sha-hmac
ipsec ike duration ipsec-sa 2 3600
ipsec ike duration ike-sa 2 28800
ipsec ike encryption 2 aes-cbc
ipsec ike group 2 modp1024
ipsec ike hash 2 sha
ipsec ike keepalive use 2 on dpd
ipsec ike local address 2 192.168.2.1
ipsec ike local id 2 192.168.2.0/24
ipsec ike pfs 2 on
ipsec ike pre-shared-key 2 text xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
ipsec ike remote address 2 198.51.100.234
ipsec ike remote id 2 172.16.2.0/24
tunnel enable 2
tunnel select 3
ipsec tunnel 103
ipsec sa policy 103 3 esp aes-cbc sha-hmac
ipsec ike duration ipsec-sa 3 3600
ipsec ike duration ike-sa 3 28800
ipsec ike encryption 3 aes-cbc
ipsec ike group 3 modp1024
ipsec ike hash 3 sha
ipsec ike keepalive use 3 on dpd
ipsec ike local address 3 192.168.2.1
ipsec ike local id 3 192.168.2.0/24
ipsec ike pfs 3 on
ipsec ike pre-shared-key 3 text my_shared_secret
ipsec ike remote address 3 203.0.113.123
ipsec ike remote id 3 192.168.1.0/24
tunnel enable 3
nat descriptor type 1 masquerade
nat descriptor address outer 1 ipcp
nat descriptor address inner 1 auto
nat descriptor masquerade static 1 1 192.168.2.1 udp 500
nat descriptor masquerade static 1 2 192.168.2.1 udp 4500
nat descriptor masquerade static 1 3 192.168.2.1 esp
ipsec auto refresh on
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.2.101-192.168.2.200/24
dns server pp 1
dns private address spoof on
まとめ
さすがに接続する拠点が増えると大分ごちゃごちゃしてしまいました。この構成ではフルメッシュで IPsec VPN(L3 VPN) 接続をするため、オンプレ間通信が多いような利用方法の場合に、ニフティクラウドを経由する余計なトラフィックが発生せず良いかもしれません。逆にフルメッシュにしなければならないので、オンプレ拠点の数が多くなると設定が大変になってしまいます。
オンプレからは東西リージョンのどちらへも接続することができるので、東西リージョンでサーバを分散配置することで東西リージョンのどちらかに障害が起きたようなときでも、業務に与える影響を小さくすることができるのではないかと思います。たとえばニフティクラウドさんでは Windows サーバも動かすことができるようですが、東西に 1 台ずつ Active Directory サーバを構築しておいて耐障害性を高めるサーバ運用なんてのもできるのではないかと思います。
次回は IPsec VPN(L3 VPN) と L2TPv3/IPsec VPN(L2 VPN) を組み合わせて東西リージョンを利用した耐障害性の高いネットワーク構築の例を紹介したいと思います。