変則的なネットワーク環境でのVPN
目を怪我して、サーフィンも出来ないので、久しぶりにネットワーク技術のことを書きます。
既に一般的な技術になったVPNですが、下図のような環境でVPNを構築する場合の方法を記載します。
- A社とB社のローカルIPアドレスは192.168.0.0/24で同じ。しかも、両社とも変更出来ない。
- ネットワークとしては、A社、B社間は通信しないスター型。
- A社と拠点1、B社と拠点1は同時に通信することもある。
インターネットに掲載されているVPNの構築の前提は、各拠点でローカルIPアドレスが重ならないことが前提で書かれているものがほとんどです。
こんなネットワーク環境の元でのVPN構築を依頼させることも否定出来ないでしょう。
異なるIPアドレスに付け替える
このままVPNを構築すると、拠点1の設定でVPN通信を行いたいルートに対して、192.168.0.0/24を指定しまうと、A社、B社のどっちつかずになってしまうのは明白です。
それでは、どうしましょうか・・・
元のアドレスが異なれば良いわけですから、異なるものに付け替えましょう。
付け替える箇所は、どこになるでしょうか?
付け替える箇所は、A社、B社のルータで付けかえます。さらに拠点1のルータでは、付け替えたIPアドレスに対してVPNのルートを指定してあげます。
ここでIPアドレスを「付け替える」と書いていますが、付け替えるということは、NAT(Network Address Translation)を設定することです。
出て行くアドレスに対して、NATをかけるのです。
言われてみれば、そうなのかと思うかもしれませんね。
このようなネットワークはISPやIDCでは構築することはないと思われますので、比較的安価なルータでの構築例を簡単に書いてみます。
YAMAHAのRTXシリーズでの構築すると
A社のルータ
ip lan1 address 192.168.0.254/24
ip route 192.168.1.0/24 gateway tunnel 1
tunnel select 1
ipsec tunnel 101
ipsec sa policy 101 1 esp aes-cbc sha-hmac
ipsec ike keepalive use 1 on
ipsec ike local address 1 192.168.0.254
ipsec ike local name 1 ***** key-id
ipsec ike pre-shared-key 1 text hogehoge
ipsec ike remote address 1 ***.***.***.*** ←拠点1のグローバルアドレス
ip tunnel nat descriptor 1
tunnel enable 1
nat descriptor type 1 nat
nat descriptor address outer 1 10.100.0.1-10.100.0.254
nat descriptor static 1 1 10.100.0.254=192.168.0.254 254
B社のルータ
ip lan1 address 192.168.0.254/24
ip route 192.168.1.0/24 gateway tunnel 1
tunnel select 1
ipsec tunnel 101
ipsec sa policy 101 1 esp aes-cbc sha-hmac
ipsec ike keepalive use 1 on
ipsec ike local address 1 192.168.0.254
ipsec ike local name 1 ***** key-id
ipsec ike pre-shared-key 1 text hogehoge
ipsec ike remote address 1 ***.***.***.*** ←拠点1のグローバルアドレス
ip tunnel nat descriptor 1
tunnel enable 1
nat descriptor type 1 nat
nat descriptor address outer 1 10.100.1.1-10.100.1.254
nat descriptor static 1 1 10.100.1.254=192.168.0.254 254
拠点1
ip route 10.100.0.0/24 gateway tunnel 1
ip route 10.100.1.0/24 gateway tunnel 2
ip lan1 address 192.168.1.254/24
ip lan2 address ***.***.***.*** ←拠点1のグローバルアドレス
tunnel select 1
ipsec tunnel 101
ipsec sa policy 101 1 esp aes-cbc sha-hmac
ipsec ike keepalive use 1 on
ipsec ike local address 1 192.168.1.254
ipsec ike pre-shared-key 1 text *******
ipsec ike remote address 1 ***.***.***.*** ←A社のグローバルアドレス
tunnel enable 1
tunnel select 2
ipsec tunnel 201
ipsec sa policy 201 2 esp aes-cbc sha-hmac
ipsec ike keepalive use 2 on
ipsec ike local address 2 192.168.1.254
ipsec ike pre-shared-key 2 text *******
ipsec ike remote address 2 any
ipsec ike remote name 2 *******
tunnel enable 2
A社は固定IPアドレス、B社は動的IPアドレス
A社、B社ともNATでIPアドレスを付け替えるところがすべてです。
ちなみに、上記のConfigFileはNAT部分とVPN部分の一部抜粋したものですので、これをこのままコピーしても利用出来ません。
このNATは「Twice NAT」と呼ばれ、RFCにも定義されています。(RFC2663)
アマゾンのサーバでエラーが起こっているかもしれません。一度ページを再読み込みしてみてください。
soul2surf.com has potential, you can make your
page go viral easily using one tricky method. Just search in google:
Kimting’s Method To Go Viral
You should take part in a contest for one of the highest quality blogs online.
I will recommend this blog!