以下に、本願の開示するDNS登録装置、VPN間接続管理システム、広域DNS装置、DNS登録プログラム、広域DNSプログラム、DNS登録方法、及びVPN間接続管理方法の実施例を説明する。なお、以下の実施例により本発明が限定されるものではない。
[実施例2のネットワーク構成]
次に、実施例2においては、拠点が、ネットワークであり、かつ、電気通信事業者などによって提供されたVPNサービスに属する拠点である場合を一例として説明する。すなわち、実施例2における拠点間接続は、VPNサービスに属する拠点間を接続する「VPN間接続」である。図5は、実施例2のネットワーク構成を説明するための図である。図5に例示するように、実施例2に係るVPN間接続管理システムは、DNS登録装置を備え、DNS登録装置は、広域ネットワークを介して複数の拠点間をVPN間接続するVPN間接続システムに対して、VPN間接続に用いられるDNS登録情報を自動的に登録する。
ここで、VPN終端装置は、アクセスネットワークを介して拠点を収容するとともに、収容した拠点と広域ネットワークとの間でVPNを終端する。また、NAT装置(図5において図示を省略)は、VPN終端装置から受信したパケットのアドレスを変換し、アドレス変換後のパケットを集合仮想ルータに送信する。また、NAT装置は、集合仮想ルータから受信したパケットのアドレスを変換し、アドレス変換後のパケットをVPN終端装置に送信する。また、集合仮想ルータは、広域ネットワーク内のパケット転送を制御する。
また、図5に例示するように、集合仮想ルータには、VPN間接続のための仮想ルータが、VPN間接続要求に応じて時限的に設定される。すなわち、仮想ルータとは、VPN間接続ごと(協働空間ごと)に設定されるルーティング情報であり、時限的に設定されたルーティング情報に従ってルーティングすることで、協働空間を実現する。なお、実施例2においては、一つの拠点が同じ時間帯に複数の協働空間に多重帰属する構成も想定する。
なお、図5においては、複数台の筐体のVPN終端装置と、複数台の筐体のNAT装置と、1台の筐体の集合仮想ルータとが設置される構成を例示したが、本発明はこれに限られるものではない。例えば、複数台の筐体のVPN終端装置と、複数台の筐体のNAT装置と、1台の筐体の集合仮想ルータとの組合せがさらに複数設置される構成にも本発明を同様に適用することができる。また、例えば、複数台の筐体のVPN終端装置と、複数台の筐体のNAT装置と、複数台の筐体の集合仮想ルータとが組み合わせて設置される構成にも本発明を同様に適用することができる。
また、例えば、VPN終端装置が有する機能(拠点を収容するとともに、収容した拠点と広域ネットワークとの間でVPNを終端する機能)と、NAT装置が有する機能(アドレスを変換する機能)と、集合仮想ルータが有する機能(広域ネットワーク内のパケット転送を制御する機能)とが1台の筐体に収まった装置が設置される構成にも本発明を同様に適用することができる。
また、図5においては、説明の便宜上、1台の筐体のVPN終端装置が1つの拠点を収容するが、本発明はこれに限られるものではなく、一般には、1台の筐体のVPN終端装置が複数の拠点を収容する。ここで、「拠点を収容する」とは、例えば、広域ネットワークに設置されるVPN終端装置とアクセスネットワークに設置されるルータなどのネットワーク装置との間を物理的に接続し、また、アクセスネットワークに設置されるルータなどのネットワーク装置と拠点に設置されるルータなどのネットワーク装置との間を物理的に接続することをいう。なお、拠点は、いわゆるネットワークではなく一端末の場合もある。例えば、拠点に設置されるルータが、物理的なルータではなく端末内のソフトウェアで実現される場合などである。
また、図5においては、DNS登録装置を含むVPN間接続管理システムが広域ネットワークに設置される構成を例示したが、本発明はこれに限られるものではない。例えば、VPN間接続管理システムが、VPN終端装置、NAT装置、及び集合仮想ルータと監視用のネットワークで接続されている構成にも本発明を同様に適用することができる。
また、図5においては、1台の筐体のVPN間接続管理システムが設置される構成を例示したが、本発明はこれに限られるものではない。例えば、複数台の筐体のVPN間接続管理システムが設置される構成や、例えば、記憶部などVPN間接続管理システムの一部が別の筐体で設置される構成などにも、本発明を同様に適用することができる。
ここで、図5に例示するように、VPN終端装置とNAT装置と集合仮想ルータとは物理的に接続され、また、OSI(Open Systems Interconnection)のデータリンク層におけるインタフェースの設定は事前に行われている。また、実施例2においては、VPN間接続のネットワーク構成として、スター型を想定する。
[実施例2におけるアドレス決定方式]
上述したように、実施例2に係るVPN間接続管理システムは、DNS登録装置を備え、DNS登録装置は、VPN間接続管理システムにおいて決定されたアドレスを用いて、DNS登録情報を自動的に登録するものである。そこで、DNS登録装置について説明する前に、まず、実施例2におけるアドレス決定方式を説明する。なお、実施例2においては、アドレス変換の技術として、IETF(Internet Engineering Task Force)によって公開されたRFC(Request for Comments)2663の技術(以下「Twice−NAT」)を用いる。以下では、比較の観点から、まず、RFC1631の技術(以下「Single−NAT」)を説明し、続いて、Twice−NATを説明する。
[Single−NATを用いたアドレス決定方式]
図6は、Single−NATを用いたアドレス決定方式を説明するための図である。図6を参照しながら、以下の説明で用いる変数を定義する。なお、以下では、VPN間接続される拠点を「VPN」という。「VPN
i」は、VPN名であり、i=1,2,3,・・・である。「a
i」は、VPN
iの内部で利用するアドレス(以下「拠点内アドレス」)である。「VRF
m」は、集合仮想ルータに設定された仮想ルータ名であり、m=1,2,3,・・・である。なお、VRFは、Virtual Routing and Forwardingの略である。また、(1−1)式は、VPN
iからVRF
m向けのアドレス変換を表す作用素である。
すると、VPN
iの拠点内アドレスa
iは、VRF
m向けにアドレス変換されると(1−2)式となる。一方、VPN
jの拠点内アドレスa
jは、VRF
m向けにアドレス変換されると(1−3)式となる。すなわち、図6に例示するように、VRF
mにおいて、VPN
iを識別するためのアドレスは(1−2)式であり、VPN
jを識別するためのアドレスは(1−3)式である。また、VPN
iにおいて、接続先であるVPN
jを識別するためのアドレスは(1―3)式である。一方、VPN
jにおいて、接続先であるVPN
iを識別するためのアドレスは(1−2)式である。
例えば、図6に示すVPN
iからVPN
jに向けてパケットが送信されると、パケットは、VRF
mを経由し、VPN
i→VRF
m→VPN
jのように送信される。ここで、アドレス変換にSingle−NATを用いる場合、NAT装置は、送信元のアドレスのみを変換して宛先のアドレスを変換しない、または、宛先のアドレスのみを変換して送信元のアドレスを変換しない。このため、{送信元アドレス,宛先アドレス}の組合せは、アドレス変換により、VPN
i内、VRF
m内、VPN
j内の各領域において、(1−4)式となる。なお、i≠jである。
さて、アドレスは、「(1)VPN側からルーティングが可能であること」かつ「(2)VRF側からルーティングが可能であること」の2つの条件を満たすように決定されなければならない。
「(1)VPN側からルーティングが可能であること」を検討すると、(1)の条件は、すなわち、「VPNiから同時にアクセスする可能性がある接続先に関するVRFに対するルートが異なっていること」という条件となる。これをさらに言い換えると、「通信相手となる他VPN配下の端末をVPN内で識別するためのアドレスを、VPN間接続を利用する時間帯と重複する時間帯に該VPN内で通信相手となり得る端末の中で一意となるように決定しなければならない」という条件となる。
上記変数を用いて表すと、(1−5)式となる。すなわち、例えば、VPN
iから同時にアクセスする可能性がある接続先が、VPN
j及びVPN
kであり、VPN
jとはVRF
m経由で、また、VPN
kとはVRFn経由でVPN間接続するとする(m≠n)。すると、VPN
iにおいて、接続先VPN
jのアドレスは(1−6)式であり、接続先VPN
kのアドレスは(1−7)式であるので、上記(1−5)式は、これらが一意となるように決定しなければならないことを表す。
また、「(2)VRF側からルーティングが可能であること」を検討すると、(2)の条件は、すなわち、「VRFmに同時にアクセスする可能性があるVPNに対するルートが異なっていること」という条件となる。これをさらに言い換えると、「VPN間接続に属する各VPN配下の端末を広域ネットワーク内で識別するためのアドレスを、該VPN間接続を利用する時間帯と重複する時間帯に該VPN間接続として制御され得る端末の中で一意となるように決定しなければならない」という条件となる。
上記変数を用いて表すと、(1−8)式となる。すなわち、例えば、VRF
mに同時にアクセスする可能性があるVPNが、VPN
i及びVPN
jであるとする(i≠j)。すると、VRF
mにおいて、VPN
iを識別するためのアドレスは(1−9)式であり、VPN
jを識別するためのアドレスは(1−10)式であるので、上記(1−8)式は、これらが一意となるように決定しなければならないことを表す。
ここで、注目すべきは、(1−5)式は、異なるVRF間で一意にアドレスを決定することを表しており、一方、(1−8)式は、各VRF内にて一意にアドレスを決定することを表している点である。結局、(1−5)式かつ(1−8)式を満たすためには、「同時にアクセスする可能性がある全てのVRF間でアドレスの重複がないこと」を満たさなければならず、(1)の条件と(2)の条件とは独立の条件とはならない。
例えば、VPN1が同時にアクセスする可能性があるVRF(群)と、VPN2が同時にアクセスする可能性があるVRF(群)とが一部でも重複した場合、VPN1とVPN2とが同時にアクセスする可能性があるVRF(群)で、(1)の条件と(2)の条件とを完全に独立に考えることはできない。
また、オンデマンドなVPN間接続サービスにおいて、VRFは、時限的に生成消滅を繰り返す。このため、例えば、同時にアクセスする可能性があるVRFが複数存在する場合や、既にアドレスを割り当て済みのVRFに対して時間的に遡って新たなVPNを収容しなければならない場合などには、他のVRFの生成消滅も含め時間軸上でアドレスを管理しなければならず、アドレスの管理が困難である。さらに、同時にアクセスする可能性があるVRFの数が膨大になると、アドレスが枯渇し、アドレスの割り当てができなくなるおそれがある。
[Twice−NATを用いたアドレス決定方式]
続いて、実施例2において用いるTwice−NATを説明する。図7は、Twice−NATを用いたアドレス決定方式を説明するための図である。図7を参照しながら、以下の説明で用いる変数を定義する。「VPN
i」は、VPN名であり、i=1,2,3,・・・である。「a
i」は、VPN
iの内部で利用する拠点内アドレスである。「VRF
m」は、仮想ルータ名であり、m=1,2,3,・・・である。また、(2−1)式は、VPN
iからVRF
m向けのアドレス変換を表す作用素である。また、(2−2)式は、VRF
mからVPN
j向けのアドレス変換を表す作用素である。また、定義より、(2−3)式が成立し、したがって(2−4)式が成立する。
すると、VPN
iの拠点内アドレスa
iは、VRF
m向けにアドレス変換されると(2−5)式となる。一方、VPN
jの拠点内アドレスa
jは、VRF
m向けにアドレス変換されると(2−6)式となる。すなわち、図7に例示するように、VRF
mにおいて、VPN
iを識別するためのアドレスは(2−5)式であり、VPN
jを識別するためのアドレスは(2−6)式である。また、VPN
iにおいて、接続先であるVPN
jを識別するためのアドレスは、(2−6)式にさらにVRF
mからVPN
i向けのアドレス変換が行われた(2−7)式となる。一方、VPN
jにおいて、接続先であるVPN
iを識別するためのアドレスは、(2−5)式にさらにVRF
mからVPN
j向けのアドレス変換が行われた(2−8)式となる。
例えば、図7に示すVPN
iからVPN
jに向けてパケットが送信されると、パケットは、VRF
mを経由し、VPN
i→VRF
m→VPN
jのように送信される。ここで、アドレス変換にTwice−NATを用いる場合、NAT装置は、送信元のアドレス及び宛先のアドレスを変換する。このため、{送信元アドレス,宛先アドレス}の組合せは、アドレス変換により、VPN
i内、VRF
m内、VPN
j内の各領域において、(2−9)式となる。なお、i≠jである。
さて、アドレスは、Single−NATを用いる場合の条件と同様、「(1´)VPN側からルーティングが可能であること」かつ「(2´)VRF側からルーティングが可能であること」の2つの条件を満たすように決定されなければならない。
「(1´)VPN側からルーティングが可能であること」を検討すると、(1´)の条件は、Single−NATを用いる場合の条件と同様、すなわち、「VPNiから同時にアクセスする可能性がある接続先に関するVRFに対するルートが異なっていること」という条件となる。これをさらに言い換えると、「通信相手となる他VPN配下の端末をVPN内で識別するためのアドレスを、VPN間接続を利用する時間帯と重複する時間帯に該VPN内で通信相手となり得る端末の中で一意となるように決定しなければならない」という条件となる。
上記変数を用いて表すと、(2−10)式となる。すなわち、例えば、VPN
iから同時にアクセスする可能性がある接続先が、VPN
j及びVPN
kであり、VPN
jとはVRF
m経由で、また、VPN
kとはVRFn経由でVPN間接続するとする(m≠n)。すると、VPN
iにおいて、接続先VPN
jを識別するためのアドレスは(2−11)式であり、接続先VPN
kを識別するためのアドレスは(2−12)式であるので、上記(2−10)式は、これらが一意となるように決定しなければならないことを表す。
また、「(2´)VRF側からルーティングが可能であること」を検討すると、(2´)の条件は、Single−NATを用いる場合の条件と同様、すなわち、「VRFmに同時にアクセスする可能性があるVPNに対するルートが異なっていること」という条件となる。これをさらに言い換えると、「VPN間接続に属する各VPN配下の端末を広域ネットワーク内で識別するためのアドレスを、該VPN間接続を利用する時間帯と重複する時間帯に該VPN間接続として制御され得る端末の中で一意となるように決定しなければならない」という条件となる。
上記変数を用いて表すと、Single−NATを用いる場合の条件と同様、(2−13)式となる。すなわち、例えば、VRF
mに同時にアクセスする可能性があるVPNが、VPN
i及びVPN
jであるとする(i≠j)。すると、VRF
mにおいて、VPN
iを識別するためのアドレスは(2−14)式であり、VPN
jを識別するためのアドレスは(2−15)式であるので、上記(2−13)式は、これらが一意となるように決定しなければならないことを表す。
ここで、注目すべきは、(2−10)式は、各VPN内にて一意にアドレスを決定することを表しており、(2−13)式は、各VRF内にて一意にアドレスを決定することを表しており、(2−10)式の条件と(2−13)式の条件とが独立の条件となっている点である。すなわち、アドレス変換にTwice−NATを用いる場合、NAT装置は、送信元のアドレス及び宛先のアドレスを変換するので、NAT装置を境界として、拠点側のアドレス体系と、広域ネットワーク側のアドレス体系とを、独立させることができる。この結果、(1´)の条件と(2´)の条件とが独立の条件となる。したがって、例えば、拠点側のアドレス体系をIP(Internet Protocol)v4とし、広域ネットワーク側のアドレス体系をIPv6とすることも可能である。
このようなことから、例えば、VPN1が同時にアクセスする可能性があるVRF(群)と、VPN2が同時にアクセスする可能性があるVRF(群)とが一部でも重複した場合、VPN1とVPN2とが同時にアクセスする可能性があるVRF(群)で、(1´)の条件と(2´)の条件とを完全に独立に考えることができる。また、あるひと組のVPNが、異なるVRFに同時にアクセスする(多重帰属する)場合、(1´)の条件から、一方のVPNにおいて、接続対象である他VPN配下の一つの端末に、経由するVRFの違いによって、異なるアドレスが対応付けられることになる。
また、オンデマンドなVPN間接続サービスにおいて、VRFは、時限的に生成消滅を繰り返すが、複数に同時にアクセスする可能性があるVRF間での整合性まで考慮する必要がないので、アドレス管理の困難さやアドレスの枯渇といったおそれも解消する。
[アドレス決定方式のフローチャート]
次に、図8を用いて、上述したアドレス決定方式のフローチャートを説明する。図8は、実施例2におけるアドレス決定方式の処理手順を示すフローチャートである。なお、時刻t1〜t2の間に、VRFmにVPNjを収容する例を用いて説明する。
上述したように、(2´)の条件は、各VRFにて判断される条件である。このため、新規にVRFを構築する場合には、必ずアドレスの払い出しが可能である。一方、既に構築されたVRFに新たにVPNを収容する場合には、空きのアドレスが存在する場合にのみアドレスの払い出しが可能である。このようなことから、図8に例示するように、アドレス決定装置は、まず、新規にVRFを構築するか否かを判断する(ステップS11)。
新規にVRFを構築する場合(ステップS11肯定)、アドレス決定装置は、VRF
mにて接続先VPN
jを識別するアドレス(3−1)式を決定する(ステップS12)。
続いて、アドレス決定装置は、時刻t1〜t2の間に、VRF
mに収容された他のVPN
i(i≠j)内部で、(3−2)式を満たす(3−3)式が存在するかを判定する(ステップS13)。
そして、存在すると判定した場合には(ステップS13肯定)、払い出し可能であるので(ステップS14)、アドレス決定装置は、(3−3)式を決定する(ステップS15)。一方、存在しないと判定した場合には(ステップS13否定)、払い出し不可であるので(ステップS16)、アドレス決定装置は、エラー応答を行う(ステップS17)。
一方、ステップS11において、既に構築されたVRFに新たにVPNを収容する場合には(ステップS11否定)、アドレス決定装置は、時刻t1〜t2の間に、VRF
m内部で、(3−4)式を満たす(3−5)式が存在するかを判定する(ステップS18)。
存在すると判定した場合には(ステップS18肯定)、続いて、アドレス決定装置は、時刻t1〜t2の間に、VRF
mに収容された他のVPN
i(i≠j)内部で、(3−6)式を満たす(3−7)式が存在するかを判定する(ステップS19)。
そして、存在すると判定した場合には(ステップS19肯定)、払い出し可能であるので(ステップS20)、アドレス決定装置は、(3−8)式及び(3−9)式を決定する(ステップS21)。一方、ステップS18において存在しないと判定した場合(ステップS18否定)、及び、ステップS19において存在しないと判定した場合には(ステップS19否定)、払い出し不可であるので(ステップS22)、アドレス決定装置は、エラー応答を行う(ステップS23)。
このように、(1´)の条件と(2´)の条件とを、独立に、無関係に、逐次的に検討することができるので、アドレスを決定するアルゴリズムは簡素化される。
[アドレス決定方式の具体例]
次に、図9〜11を用いて、アドレス決定方式の具体例を説明する。図9及び図10は、アドレス決定方式の具体例を説明するための図であり、図11は、アドレス決定の考え方を説明するための図である。まず、図9に例示するように、『A社』は、『VPN1』に属する拠点であり、既にVPN間接続サービスを利用している。また、『A社』は、VPN間接続サービスの契約時に、VPN間接続管理システムに拠点内アドレスを登録済みである。VPN間接続管理システムが、『A社』が利用できるアドレスのうち、『A社』内で利用していないアドレスをVPN間接続用に割り当てるためである。すなわち、拠点内アドレスとは、『A社』にて用いられているプライベートアドレスであり、『A社』にて既に用いられているか、あるいは将来用いられる可能性があるプライベートアドレスとして管理されているものである。拠点内アドレスは、各拠点において任意に用いられているプライベートアドレスであるので、拠点間で重複する可能性がある。
また、『VPN1』は、仮想ルータ『VRF1』及び『VRF2』に接続している。また、仮想ルータ『VRF1』では、『VPN1』以外に2本のVPNが接続され、仮想ルータ『VRF2』では、『VPN1』以外に3本のVPNが接続されている。
『A社』は、『VPN1』経由で『VRF1』及び『VRF2』に接続している。このとき、『VPN終端装置1』のルーティングテーブルには、『VRF1』向けに2ルート、『VRF2』向けに3ルートのルーティング情報が記載されている。また、それぞれ、『A社』が社内で利用していないプライベートアドレスが利用されている。『A社』で利用しているプライベートアドレスは事前に登録されているので、VPN間接続管理システムは、この登録内容を用いて、利用していないプライベートアドレスを求めることができるのである。なお、『VPN終端装置1』が各VRFへルーティングを行うためには、この5ルートは独立している必要がある。
『A社』が新たに仮想ルータを追加する(『VRF3』)。『VRF3』には、『VPN1』以外に1本のVPNが接続される。このため、『A社』の『VPN終端装置1』から『VRF3』向けに1ルート追加される。追加される1ルートには、以下の条件を両方満たすアドレスを割り当てなければならない。
すなわち、(1)『A社』内で利用していないプライベートアドレス、(2)VRF向けルートとして利用していないプライベートアドレスの条件である。今回は、『VRF1』向けの2ルートと『VRF2』向けの3ルート以外が対象となる。ここで、図10のaは、『A社』が利用できるアドレス全体を示す。また、図10のbは、『A社』内で利用しているプライベートアドレスを示し、VPN間接続システムの利用とは関係なく『A社』内で利用しているプライベートアドレスである。また、図10のcは、VRF向けルートとして利用しているプライベートアドレスを示し、VPN間接続システム用としてVPN間接続管理システムが『A社』に既に払い出した(または予約した)プライベートアドレスである。上記2条件を満たすことができるアドレス(図10のd(=a−(b+c))がなければ、新規にアドレスを割り当てることはできず、VPN間接続管理システムは、払い出し不可のエラー応答を返すなどする。
なお、VPN間接続管理システムは、アドレスを決定する際、VPN間接続サービス利用のために未だ予約されていないアドレス、かつ利用中でないアドレスを探索して決定する。すなわち、アドレス空間は一次元量である。したがって、VPN間接続管理システムは、図11に例示するように、予約時間帯について、未だ予約されていないアドレスを探索し、探索したアドレスを、当該予約時間帯にVPN間接続サービスを利用するためのアドレスとして決定する。
例えば、図11を用いて説明すると、VPN間接続サービスの予約を受け付けた時点において、あるVPNにおいて、t1〜t1´の時間帯にサブネットマスク24ビットのアドレス帯が一つ(1ルート分、接続先となる他VPNは1つ)予約されているとする。また、t2〜t2´の時間帯にサブネットマスク24ビットのアドレス帯が二つ(2ルート分接続先となる他VPNは2つ)予約されているとする。また、t3〜t3´の時間帯にサブネットマスク24ビットのアドレス帯が一つ(1ルート分、接続先となる他VPNは1つ)予約されているとする。なお、図11においては、既に予約されたアドレス帯を実線で示す。
ここで、新たな予約のために、t4〜t4´の時間帯に、3ルート分のアドレス帯を払い出さなければならなくなったとする。すると、VPN間接続管理システムは、図11に示すように、t4〜t4´の時間帯について、未だ予約されていないサブネットマスク24ビットのアドレス帯三つを、t4〜t4´の時間帯にVPN間接続サービスを利用するためのアドレスとして決定する。なお、図11においては、新たな予約のためのアドレス帯を点線で示す。
なお、以下に説明するように、実施例2におけるVPN間接続管理システム100は、プライベートアドレス全体を、VPN間接続サービスに利用することができるアドレスとして管理している。そして、VPN間接続管理システム100は、既に予約されたアドレスを時間軸上で探索し、プライベートアドレス全体のうち、既に予約されたアドレスとして探索されたアドレス以外のアドレスであって、かつ、拠点内で用いられているプライベートアドレス、各機器のインタフェース用として割り当てられたアドレス以外のアドレスを、新たに払い出すアドレスとして決定する。
例えば、VPN間接続管理システム100は、VPN間接続を識別する情報と、VPN間接続に属するVPNを識別する情報と、既に予約されたアドレスとを対応付けて記憶部に記憶し、また、プライベートアドレス全体と、拠点内で用いられているプライベートアドレスと、各機器のインタフェース用として割り当てられたアドレスとを記憶部に記憶していてもよい。そして、VPN間接続管理システム100は、VPN間接続を要求するVPN間接続要求を受け付けると、この記憶部を検索することで、新たに払い出すアドレスを決定する。また、このとき、VPN間接続管理システム100は、プライベートアドレス全体のうち、例えば、アドレスの昇順で空きのアドレスから決定する、あるいは、降順で空きのアドレスから決定する、あるいは、ランダムで決定することができる。また、サブネットマスク24ビットに限られず、例えばサブネットマスク32ビットのアドレスを払い出してもよい。すなわち、サブネットマスクに何ら制限はない。
[実施例2におけるアドレス変換情報、ルーティング情報の設定例]
次に、図12〜15を用いて、実施例2におけるアドレス変換情報、ルーティング情報の設定例を説明する。図12〜15は、実施例2におけるアドレス変換情報、ルーティング情報の設定例を説明するための図である。なお、以下の説明は、ある端末からある端末宛に送出されたパケットがどの装置でどのようにアドレス変換されるかを検討することで、VPN間接続管理システム100が決定するアドレスについて、具体的な値を用いて説明するものである。したがって、以下の説明は、必ずしも処理の順番や設定の順番を示すものではない。
まず、図12を用いて、想定するネットワーク構成を説明する。図12に例示するように、拠点『A社』の端末αと、拠点『B社』の端末βとをVPN間接続するサービスを提供することで、拠点『A社』と『B社』との協働空間を提供する事例を想定する。図12に例示するように、拠点『A社』の接続先IDは『UserA−Office』であり、端末αの拠点内アドレスは、『192.168.1.10/24』である。また、拠点『B社』の接続先IDは『UserB−Office』であり、端末βの拠点内アドレスは、『192.168.1.10/24』である。
ここで、拠点内アドレスは、各拠点において任意に用いられているプライベートアドレスであるので、拠点間で重複する可能性がある。例えば、図12に例示するように、端末αの拠点内アドレス『192.168.1.10/24』と、端末βの拠点内アドレス『192.168.1.10/24』とは、サブネットが重複し、拠点内アドレスが重複している。以下に説明するように、VPN間接続管理システムは、拠点においてはその拠点内アドレスがそのまま用いられるように、アドレスを決定し、払い出す。
なお、図12に例示するように、拠点『A社』は、『VPN終端装置1』に収容され、拠点『B社』は、『VPN終端装置2』に収容される。また、図12に例示するように、『VPN終端装置1』及び『VPN終端装置2』は、『集合仮想ルータ1』に収容される。また、図12に例示するように、『VPN終端装置1』と『集合仮想ルータ1』との間に設置されるNAT装置は『NAT装置1』であり、『VPN終端装置2』と『集合仮想ルータ1』との間に設置されるNAT装置は『NAT装置2』である。また、図13に例示するように、『集合仮想ルータ1』には、拠点『A社』の端末αと、拠点『B社』の端末βとをVPN間接続するために、仮想ルータ(『vrf1』)が構築される。
ここで、NAT装置においては、Twice−NATによるアドレス変換が行われる。具体的には、NAT装置は、送信元アドレス及び宛先アドレス両方の変換を行う。このため、拠点『A社』、拠点『B社』、仮想ルータ(『vrf1』)それぞれのアドレスは、他の領域には通知されず、各領域でのみ利用することとなり、各領域内で独自のアドレスを割り当てることができる。なお、ルーティング条件を満たすために、拠点内アドレス以外のアドレスを変換用アドレスとして利用する。また、アドレス変換は、アドレス単位の変換でもサブネット単位の変換でも可能であるが、以下では、アドレス単位の変換を想定して説明する。
なお、仮想ルータに設定されるアドレスは、拠点『A社』や『B社』といったユーザの拠点や、他の仮想ルータに通知されないので、独自のアドレス体系を利用することができる。このため、IPv6アドレスを利用してもよい。
実施例2に係るVPN間接続管理システム100の処理概要を説明すると、VPN間接続管理システム100は、(1)拠点『A社』の端末αと、拠点『B社』の端末βとをVPN間接続することを要求するVPN間接続要求を受け付け、(2)端末αと端末βとをVPN間接続するための仮想ルータを『集合仮想ルータ1』に構築し、(3)端末αと端末βとの間の通信において行われるアドレス変換のためのアドレス変換情報を生成し、(4)生成したアドレス変換情報に基づき、各機器(『集合仮想ルータ1』、『VPN終端装置1』、『VPN終端装置2』、『NAT装置1』、『NAT装置2』)に設定するルーティング情報を生成し、(5)VPN間接続サービスを開始する時刻までに各機器に対する設定(『集合仮想ルータ1』、『VPN終端装置1』、『VPN終端装置2』、『NAT装置1』、『NAT装置2』に対するルーティング情報の設定、『NAT装置1』、『NAT装置2』に対するアドレス変換情報の設定)を実行し、(6)VPN間接続サービスを終了する時刻になると各機器に対して行った設定を削除する、というものである。なお、必ずしも(1)〜(6)の処理全てが実行されなければならないものではなく、また、(1)〜(6)は、必ずしも処理の順番を規定するものでもない。
(3)のアドレス変換情報の生成についてさらに説明する。VPN間接続管理システム100(特にアドレス決定装置)は、通信相手となる他拠点配下の端末を拠点にて識別するためのアドレス、及び、VPN間接続に属する各拠点配下の端末を集合仮想ルータにて識別するためのアドレスを決定し、アドレス変換情報を生成する。
例えば、図12において拠点『A社』に着目した場合、「通信相手となる他拠点配下の端末を拠点にて識別するためのアドレス」とは、端末βを識別するためのアドレスである。したがって、VPN間接続管理システム100は、端末βを識別するためのアドレス(以下「端末βの第一アドレス」)を決定する。
また、例えば、図12において拠点『B社』に着目した場合、「通信相手となる他拠点配下の端末を拠点にて識別するためのアドレス」とは、端末αを識別するためのアドレスである。したがって、VPN間接続管理システム100は、端末αを識別するためのアドレス(以下「端末αの第一アドレス」)を決定する。
一方、「VPN間接続に属する各拠点配下の端末を集合仮想ルータにて識別するアドレス」は、端末αを識別するためのアドレス及び端末βを識別するためのアドレスである。したがって、VPN間接続管理システム100は、端末αを識別するためのアドレス(以下「端末αの第二アドレス」)及び端末βを識別するためのアドレス(以下「端末βの第二アドレス」)を決定する。続いて、VPN間接続管理システム100は、アドレス変換情報を生成する。アドレス変換情報は、『NAT装置1』に着目した場合、端末αの拠点内アドレスと端末αの第二アドレスとの間の変換、及び、端末βの第一アドレスと端末βの第二アドレスとの間の変換を規定する。また、『NAT装置2』に着目した場合、端末βの拠点内アドレスと端末βの第二アドレスとの間の変換、及び、端末αの第一アドレスと端末αの第二アドレスとの間の変換を規定する。
このようなアドレス変換情報が生成され、生成されたアドレス変換情報が各NAT装置に設定され、各NAT装置が、設定されたアドレス変換情報に従ってアドレス変換を行い、各VPN終端装置や仮想ルータが、設定されたルーティング情報に従ってパケットを転送することにより、端末αと端末βとの間の通信は実現する。以下、NAT装置においてパケットのアドレス変換がどのように行われるかに着目しながら説明する。
VPN間接続管理システム100は、図13に例示するように、拠点『A社』の端末αと、拠点『B社』の端末βとをVPN間接続するための仮想ルータ『vrf1』を、集合仮想ルータ1に構築したと仮定する。
図13を用いて、『端末α』から『端末β』への通信を例に検討する。『端末α』が送出したパケットは、『VPN終端装置1』→『NAT装置1』→『仮想ルータ(vrf1)』→『NAT装置2』→『VPN終端装置2』→『端末β』のように転送され、『NAT装置1』及び『NAT装置2』それぞれにおいて、アドレス変換が行われる。このため、『端末β』からみえる『端末α』のアドレスは、アドレス変換を2回行った後のアドレスとなる。なお、『端末α』からみえる『端末β』のアドレスも同様に、アドレス変換を2回行った後のアドレスとなる。一方、仮想ルータ内では、『NAT装置1』又は『NAT装置2』のいずれかを通過したところであるので、アドレス変換を1回行ったアドレスとなる。
『NAT装置1』までの通信について検討すると、『端末α』(192.168.1.10/24)は、『端末β』宛にパケットを送出する。ここで、『端末β』の第一アドレスには、『A社』内で使用していないプライベートアドレスを割り当てる必要がある。『VPN終端装置1』で、仮想ルータ『vrf1』側にルーティングする必要があるからである。そこで、ここでは、『端末β』の第一アドレス(『端末α』からみえる『端末β』のアドレス)を『172.16.2.10/24』とする。
『NAT装置1』は、ユーザ『A社』側のアドレスを仮想ルータ『vrf1』側のアドレスに変換する。Twice−NATを利用するので、仮想ルータ側のアドレスがそのままユーザ側に通知されることはない。仮想ルータ側のアドレスは、各仮想ルータ内でルーティングができる状態であればよい。なお、同一仮想ルータ内でアドレスを重複することはできない。そこで、ここでは、仮想ルータ『vrf1』側のアドレスとして、『端末α』の第二アドレスを『10.0.1.10/24』、『端末β』の第二アドレスを『10.0.2.10/24』とする。すなわち、送信元である『端末α』の拠点内アドレス『192.168.1.10/24』は、『端末α』の第二アドレス『10.0.1.10/24』に変換され、宛先である『端末β』の第一アドレス『172.16.2.10/24』は、『端末β』の第二アドレス『10.0.2.10/24』に変換される。
次に、仮想ルータ『vrf1』側のアドレス(第二アドレス)に変換されたパケットは、仮想ルータ『vrf1』内でルーティングされる。すると、『端末β』宛のパケットは、『NAT装置2』に転送される。『NAT装置2』に届いた『端末β』宛のパケットは、2回目のアドレス変換が行われる。すなわち、宛先である『端末β』の第二アドレス『10.0.2.10/24』は、『端末β』の拠点内アドレス『192.168.1.10/24』に変換される。
一方、送信元のアドレス(『端末α』の第二アドレス)は、『端末β』からみた『端末α』のアドレス(拠点『B社』における『端末α』の第一アドレス)に変換される。この『端末α』の第一アドレスは、『A社』内で『端末β』に割り当てたときと同様の考え方で決定される。例えば、『端末α』の第一アドレスを『172.16.1.10/24』とする。すると、送信元である『端末α』の第二アドレス『10.0.1.10/24』は、『端末α』の第一アドレス『172.16.1.10/24』に変換され、このようなアドレス変換の結果、『端末α』が送出したパケットは、『端末β』に送信される。なお、『端末β』が、『172.16.1.10/24』を宛先とするパケットを送出すると、パケットは、『端末α』に送信される。
なお、VPN間接続管理システムは、自己の配下に所属するNAT装置全てのアドレス変換テーブルを管理するが、個々のNAT装置には、該当するアドレス変換テーブルのみを送信する。また、VPN間接続管理システムは、仮想ルータに対しても、必要な情報のみを提供する。すなわち、VPN間接続管理システムは、集合仮想ルータに対しては、仮想ルータ『vrf1』内で利用される端末のアドレスのみを送信する(例えば『端末α』=10.0.1.10、『端末β』=10.0.2.10という情報)。
次に、図14及び図15を用いて、既存の仮想ルータにVPNを追加収容する例を説明する。図14に例示するように、仮想ルータ『vrf1』に『C社』を追加するとする。なお、『C社』は、既に『VPN3』を利用して『端末δ』(192.168.1.20/24)が仮想ルータ『vrf2』と接続している。今回、仮想ルータ『vrf1』に追加接続するのは『端末γ』(192.168.1.10/24)である。
同様に、実施例2に係るVPN間接続管理システム100の処理概要を説明すると、VPN間接続管理システム100は、(1)拠点『C社』の端末γを、拠点『A社』の端末αと拠点『B社』の端末βとのVPN間接続に追加することを要求するVPN間接続要求を受け付け、(2)端末αと端末γとの間の通信において行われるアドレス変換のためのアドレス変換情報、及び、端末βと端末γとの間の通信において行われるアドレス変換のためのアドレス変換情報を生成し、(3)生成したアドレス変換情報に基づき、各機器(『集合仮想ルータ1』、『VPN終端装置3』、『NAT装置3』)に設定するルーティング情報を生成し、(4)VPN間接続サービスを開始する時刻までに各機器に対する設定(『集合仮想ルータ1』、『VPN終端装置1』、『VPN終端装置2』、『VPN終端装置3』、『NAT装置1』、『NAT装置2』、『NAT装置3』に対するルーティング情報の設定、『NAT装置1』、『NAT装置2』、『NAT装置3』に対するアドレス変換情報の設定)を実行し、(5)VPN間接続サービスを終了する時刻になると各機器に対して行った設定を削除する、というものである。なお、必ずしも(1)〜(5)の処理全てが実行されなければならないものではなく、また、(1)〜(5)は、必ずしも処理の順番を規定するものでもない。
(2)のアドレス変換情報の生成についてさらに説明する。VPN間接続管理システム100(特にアドレス決定装置)は、通信相手となる他拠点配下の端末を拠点にて識別するためのアドレス、及び、VPN間接続に属する各拠点配下の端末を集合仮想ルータにて識別するアドレスを決定し、アドレス変換情報を生成する。
例えば、図14において拠点『C社』に着目した場合、「通信相手となる他拠点配下の端末を拠点にて識別するためのアドレス」とは、端末α及び端末βを識別するためのアドレスである。したがって、VPN間接続管理システム100は、端末αを識別するためのアドレス(「C社における端末αの第一アドレス」)及び端末βを識別するためのアドレス(以下「C社における端末βの第一アドレス」)を決定する。
また、例えば、図14において拠点『A社』に着目した場合、「通信相手となる他拠点配下の端末を拠点にて識別するためのアドレス」として新たに追加すべきアドレスは、端末γを識別するためのアドレスである。したがって、VPN間接続管理システム100は、拠点『A社』にて端末γを識別するためのアドレス(「A社における端末γの第一アドレス」)を決定する。
また、例えば、図14において拠点『B社』に着目した場合、「通信相手となる他拠点配下の端末を拠点にて識別するためのアドレス」として新たに追加すべきアドレスは、端末γを識別するためのアドレスである。したがって、VPN間接続管理システム100は、拠点『B社』にて端末γを識別するためのアドレス(「B社における端末γの第一アドレス」)を決定する。
一方、「VPN間接続に属する各拠点配下の端末を集合仮想ルータにて識別するアドレス」としては、端末γを識別するためのアドレス(端末γの第二アドレス)が新たに追加される。『端末γ』に関しては、まだ仮想ルータ『vrf1』内で管理されていないため、新たにアドレスが割り当てられるのである。割り当てられるアドレスの条件としては、仮想ルータ『vrf1』内で利用していないアドレスであればよい。拠点『C社』は、複数の仮想ルータと接続しているが、各仮想ルータ内のアドレスは、拠点や他の仮想ルータに通知されないので、同一仮想ルータ内で重複しなければ問題は発生しないからである。そこで、ここでは、『端末γ』の第二アドレスを『10.0.3.10/24』とする。
続いて、VPN間接続管理システム100は、アドレス変換情報を生成する。アドレス変換情報は、『NAT装置3』に着目した場合、端末γの拠点内アドレスと端末γの第二アドレスとの間の変換、C社内における端末αの第一アドレスと端末αの第二アドレスとの間の変換、及び、C社内における端末βの第一アドレスと端末βの第二アドレスとの間の変換を規定する。また、『NAT装置1』に着目した場合、A社内における端末γの第一アドレスと端末γの第二アドレスとの間の変換をさらに規定する。また、『NAT装置2』に着目した場合、B社内における端末γの第一アドレスと端末γの第二アドレスとの間の変換をさらに規定する。
このようなアドレス変換情報が生成され、生成されたアドレス変換情報が各NAT装置に設定され、各NAT装置が、設定されたアドレス変換情報に従ってアドレス変換を行い、各VPN終端装置や仮想ルータが、設定されたルーティング情報に従ってパケットを転送することにより、端末αと端末γとの間の通信、端末βと端末γとの間の通信は実現する。以下、NAT装置においてパケットのアドレス変換がどのように行われるかに着目しながら説明する。
図15を用いて、『端末γ』から『端末α』への通信を例に検討する。『端末γ』が送出したパケットは、『VPN終端装置3』→『NAT装置3』→『仮想ルータ(vrf1)』→『NAT装置1』→『VPN終端装置1』→『端末α』のように転送され、『NAT装置3』及び『NAT装置1』それぞれにおいて、アドレス変換が行われる。このため、『端末α』からみえる『端末γ』のアドレスは、アドレス変換を2回行った後のアドレスとなる。なお、『端末γ』からみえる『端末α』のアドレスも同様に、アドレス変換を2回行った後のアドレスとなる。一方、仮想ルータ内では、『NAT装置3』又は『NAT装置1』のいずれかを通過したところであるので、アドレス変換を1回行ったアドレスとなる。
『NAT装置3』までの通信について検討すると、『端末γ』(192.168.1.10/24)は、『端末α』宛にパケットを送出する。ここで、『端末α』の第一アドレスには、『C社』内で使用していないプライベートアドレスを割り当てる必要がある。『C社』内では、すでに『端末δ』が仮想ルータ『vrf2』経由で『D社』と通信を行っており、『D社』との通信用に『C社』内で使用していないプライベートアドレスを使用している。このため、『端末α』用に割り当てる第一アドレスは、『C社』内で利用していないかつ『D社』との通信用に割り当てていないアドレスを選択する。『VPN終端装置3』で、仮想ルータ『vrf1』側にルーティングする必要があり、かつ、どの仮想ルータへルーティングするか区別するためである。そこで、ここでは、『端末α』の第一アドレス(『端末γ』からみえる『端末α』のアドレス)を『172.16.1.10/24』とする(『D社』との通信に割り当てたアドレスは、『172.16.4.10/24』とする)。
『NAT装置3』は、ユーザ『C社』側のアドレスを仮想ルータ『vrf1』側のアドレスに変換する。すなわち、送信元である『端末γ』の拠点内アドレス『192.168.1.10/24』は、『端末γ』の第二アドレス『10.0.3.10/24』に変換され、宛先である『端末α』の第一アドレス『172.16.1.10/24』は、『端末α』の第二アドレス『10.0.1.10/24』に変換される。
次に、仮想ルータ『vrf1』側のアドレス(第二アドレス)に変換されたパケットは、仮想ルータ『vrf1』内でルーティングされる。すると、『端末α』宛のパケットは、『NAT装置1』に転送される。『NAT装置1』に届いた『端末α』宛のパケットは、2回目のアドレス変換が行われる。すなわち、宛先である『端末α』の第二アドレス『10.0.1.10/24』は、『端末α』の拠点内アドレス『192.168.1.10/24』に変換される。
一方、送信元のアドレス(『端末γ』の第二アドレス)は、『端末α』からみた『端末γ』のアドレス(拠点『A社』における『端末γ』の第一アドレス)に変換される。例えば、『端末γ』の第一アドレスを『172.16.3.10/24』とする。すると、送信元である『端末γ』の第二アドレス『10.0.3.10/24』は、『端末γ』の第一アドレス『172.16.3.10/24』に変換され、このようなアドレス変換の結果、『端末γ』が送出したパケットは、『端末α』に送信される。なお、『端末α』が、『172.16.3.10/24』を宛先とするパケットを送出すると、パケットは、『端末γ』に送信される。
[実施例2に係るVPN間接続管理システムの構成]
次に、実施例2に係るVPN間接続管理システム100の構成を説明する。なお、実施例2に係るVPN間接続管理システム100は、各機器のインタフェースに割り当てるためのアドレスを、ある一定量を見込んで予め確保しており、変換用アドレスの決定を行う際に、各機器のインタフェースに設定されるアドレスについても具体的に決定する。そこで、実施例2において、変換用のアドレスは、各機器のインタフェースに割り当てるためのアドレスとして予め確保されたアドレスとも重複しないように決定される。なお、本発明はこの手法に限られず、各機器のインタフェースに設定されるアドレスが予め確保されておらず、その都度動的に選択されて決定される場合には、VPN間接続管理システム100は、変換用アドレスの決定を行う際に、各機器のインタフェースに設定されるアドレスとして予約されたアドレス、あるいは、各機器のインタフェースに設定されているアドレス(利用中のアドレス)とも重複しないように決定すればよい。まず、図16を用いて、実施例2において各機器のインタフェースに割り当てられるアドレスを説明する。図16は、実施例2において各機器のインタフェースに割り当てられるアドレスを説明するための図である。
まず、仮想ルータ『vrf1』のインタフェースアドレスとしては、「10.0.10.97」(『NAT装置1』側)、及び、「10.0.20.97」(『NAT装置2』側)が用いられる。また、『NAT装置1』のインタフェースアドレスとしては、「10.0.10.98」(仮想ルータ『vrf1』側)、及び、「192.168.3.2」(『VPN終端装置1』側)が用いられる。また、『VPN終端装置1』のインタフェースアドレスとしては、「192.168.3.1」(『NAT装置1』側)、及び、「192.168.2.1」(『A社』側)が用いられる。
一方、『NAT装置2』のインタフェースアドレスとしては、「10.0.20.98」(仮想ルータ『vrf1』側)、及び、「192.168.3.2」(『VPN終端装置2』側)が用いられる。また、『VPN終端装置2』のインタフェースアドレスとしては、「192.168.3.1」(『NAT装置1』側)、及び、「192.168.2.1」(『B社』側)が用いられる。
次に、実施例2に係るVPN間接続管理システム100の構成を説明する。図17は、実施例2に係るVPN間接続管理システム100の構成を示すブロック図である。図17に例示するように、実施例2に係るVPN間接続管理システム100は、通信部110と、入力部111と、出力部112と、入出力制御I/F部113と、記憶部120と、制御部130とを備える。なお、図5に例示したDNS登録装置は、後述するVPN間接続情報記憶部121、DNS登録情報記憶部126、DNS登録情報生成部137及びDNS登録部138に対応する。
通信部110は、例えばIP通信用の一般的なインタフェースなどであり、アドレス変換情報やルーティング情報の設定対象となるVPN終端装置、NAT装置及び集合仮想ルータとの間で通信を行う。また、通信部110は、DNS登録情報の設定対象となる広域ネットワークDNS装置との間で通信を行う。なお、VPN間接続管理システム100は、通信部110を介して他の管理端末やユーザ用のWebサーバなどとの間で通信を行うこともでき、他の管理端末やユーザ用のWebサーバなどからVPN間接続要求を受信することもできる。
入力部111は、例えばキーボードやマウスなどであり、各種操作の入力などを受け付ける。実施例2において、入力部111は、例えば、VPN間接続要求の入力をキーボードやマウスによって受け付ける。出力部112は、例えばディスプレイなどであり、各種操作のための情報などを出力する。実施例2において、出力部112は、例えば、VPN間接続要求の入力画面を出力する。入出力制御I/F(Interface)部113は、入力部111と、出力部112と、記憶部120と、制御部130との間における入出力を制御する。なお、VPN間接続管理システム100は、必ずしも入力部111や出力部112を備える必要はなく、例えば、通信部110を介して他の管理端末やユーザ用のWebサーバと通信を行い、入出力に係る情報を送受信してもよい。
記憶部120は、例えばRAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(flash memory)などの半導体メモリ素子、ハードディスク、光ディスクなどであり、各種情報を記憶する。具体的には、記憶部120は、図17に例示するように、VPN間接続情報記憶部121と、設定パターン記憶部122と、VPN間接続要求記憶部123と、アドレス変換情報記憶部124と、ルーティング情報記憶部125と、DNS登録情報記憶部126と、アタッチメント記憶部127と、装置情報記憶部128とを有する。
VPN間接続情報記憶部121は、VPN間接続情報を記憶する。ここで、VPN間接続情報には、拠点を識別する情報や、拠点を収容するVPN終端装置、NAT装置及び集合仮想ルータを識別する情報が含まれる。また、VPN間接続情報には、アドレス変換情報やルーティング情報、あるいはDNS登録情報の作成に用いるその他の情報も含まれる。VPN間接続情報記憶部121は、例えばVPN間接続管理システム100の利用者に入力されることで、VPN間接続情報を事前に記憶する。また、VPN間接続情報記憶部121が記憶するVPN間接続情報は、後述する仮想ルータ構築部132、変換用アドレス決定部133、ルーティング情報生成部135、DNS登録情報生成部137による処理などに利用される。なお、VPN間接続管理システム100の「利用者」には、電気通信事業者などの運用者と、企業内の情報システム部などの管理者とが含まれる。すなわち、以下では、「運用者」は、VPN間接続サービスの運用担当者を意味し、「管理者」は、例えば企業側で拠点の社内網を管理しているネットワーク管理者などを意味する用語として用いる。
図18は、VPN間接続情報記憶部121を説明するための図である。図18に例示するように、例えば、VPN間接続情報記憶部121は、VPN間接続情報として、集合仮想ルータの識別情報と、集合仮想ルータの設定パターンの識別情報とを対応付けて記憶する。例えば、集合仮想ルータの識別情報『集合仮想ルータ1』と、集合仮想ルータの設定パターンの識別情報『VR−P1』とを対応付けて記憶する。『集合仮想ルータ1』によって識別される集合仮想ルータの設定パターンは、『VR−P1』によって識別される設定パターンであることを示す。
また、実施例2においては、VPN終端装置と集合仮想ルータとは予め対応付けられ、VPN終端装置が一意に決定されると、集合仮想ルータも一意に決定される関係にある。すなわち、実施例2においては、物理的に1台の集合仮想ルータと、この集合仮想ルータにおいて一つ又は複数の仮想ルータを設定されるVPN終端装置とは、予め決定される関係にある(なお、本発明はこれに限られるものではなく、例えば、あるVPN終端装置が、複数台の集合仮想ルータそれぞれにおいて仮想ルータを設定されることも可能である)。このようなことから、例えば、VPN間接続情報記憶部121は、図18に例示するように、集合仮想ルータの識別情報ごとに、拠点を識別する識別情報(接続先ID(IDentifier))、端末の名称(端末名))と、拠点が用いるVPN種別と、拠点が収容されるVPN終端装置の識別情報と、VPN終端装置の設定パターンの識別情報と、NAT装置の識別情報と、拠点内で用いられるアドレスとして端末に付与された拠点内アドレスとの対応付けのリストを記憶する。
『接続先ID』は、拠点を識別する識別情報であり、例えばVPN間接続サービスの契約時などにVPN間接続管理システム100の運用者によって払い出され、VPN間接続情報記憶部121に格納される。また、『端末名』は、VPN間接続管理システム100において各拠点配下の端末を識別するための識別情報であるとともに、実施例2においては、この『端末名』をそのままDNSに登録するDNS登録情報に用いる。『端末名』は、例えばVPN間接続サービスの契約時などにユーザからヒアリングされ、VPN間接続情報記憶部121に格納される。
『VPN種別』は、例えばVPN間接続サービスの契約時などにユーザからヒアリングされ、VPN間接続情報記憶部121に格納される。『VPN終端装置』は、例えばVPN間接続サービスの契約時などにVPN間接続管理システム100の運用者によって決定され、VPN間接続情報記憶部121に格納される。また、『VPN終端装置の設定パターン』は、例えばVPN間接続サービスの契約時などにVPN間接続管理システム100の運用者によって決定され、VPN間接続情報記憶部121に格納される。『NAT装置』は、例えばVPN間接続サービスの契約時などにVPN間接続管理システム100の運用者によって決定され、VPN間接続情報記憶部121に格納される。『拠点内アドレス』は、拠点内で用いられるアドレスとして端末に付与されたアドレスであり、例えばVPN間接続サービスの契約時などにユーザからヒアリングされ、VPN間接続情報記憶部121に格納される。
例えば、接続先ID『UserA−Office』、端末名『α1@vpn1.example.co.jp』、VPN種別『OpenVPN』、VPN終端装置『VPN終端装置1』、VPN終端装置の設定パターン『VPN−P1』、NAT装置『NAT装置1』、拠点内アドレス『192.168.1.10/24』の行について説明する。まず、『UserA−Office』によって識別される拠点(VPN間接続に用いられる端末の端末名は『α1@vpn1.example.co.jp』)では、『OpenVPN』が用いられていることを示す。また、『UserA−Office』によって識別される拠点は『VPN終端装置1』に収容されること、また、VPN終端装置の設定パターンには『VPN−P1』が用いられることを示す。
また、『UserA−Office』によって識別される拠点は『NAT装置1』に収容されること、また、『192.168.1.10/24』の拠点内アドレスが用いられていることを示す。なお、実施例2においては、各拠点において用いられている拠点内アドレス(プライベートアドレス)が相互に重複する状況を想定する。
図17に戻り、設定パターン記憶部122は、VPN終端装置、NAT装置、転送制御装置、及び広域ネットワークDNS装置の設定パターンを記憶する。具体的には、設定パターン記憶部122は、VPN終端装置に設定すべき設定情報がVPN間接続の種別に応じて定型化されたVPN終端装置の設定パターンを記憶する。また、設定パターン記憶部122は、集合仮想ルータに設定すべき設定情報がVPN間接続の種別に応じて定型化された集合仮想ルータの設定パターンを記憶する。また、設定パターン記憶部122は、NAT装置の設定パターンを記憶する。また、設定パターン記憶部122は、広域ネットワークDNS装置の設定パターンを記憶する。
設定パターン記憶部122は、例えばVPN間接続管理システム100の運用者に入力されることで、設定パターンを事前に記憶する。また、設定パターン記憶部122が記憶する設定パターンは、後述する変換用アドレス決定部133やルーティング情報生成部135、DNS登録情報生成部137による処理などに利用される。
図19は、集合仮想ルータの設定パターンの一例である。図19に例示するように、例えば、設定パターン記憶部122は、集合仮想ルータの設定パターンとして、設定パターンの各項目を管理するための項番と、設定情報を設定内容に応じて区分けする区分と、設定内容と、設定情報の登録タイミングと、削除タイミングと、設定内容の仕様とを対応付けて記憶する。また、図19に例示する設定パターンの内、項番1〜項番3が、設定情報の設定パターンであり、項番4が、オプション設定情報の設定パターンである。なお、実施例2においては、オプション要求に関する設定情報を一般的な設定情報と区別して用いる場合には、『オプション設定情報』と呼ぶ。また、図19においては図示を省略するが、設定パターン記憶部122は、集合仮想ルータの設定パターンとして、所定のコマンド文をも記憶する。なお、設定パターンは、設定パターンの識別情報によって識別される。
例えば、項番1の行を説明する。区分『仮想ルータ定義』の設定パターンは、VPN間接続要求に基づいて仮想的に構築される伝送路(VPN)においてパケット転送を制御する「仮想ルータ」を定義するための設定パターンである。設定内容『仮想ルータ名』は、設定される「仮想ルータ」の名称であり、『半角英数字』で設定すべきことが、仕様として規定されている。また、設定内容『仮想ルータID』は、設定される「仮想ルータ」のIDであり、『16ビット数値』と『32ビット数値』とを『:(コロン)』で接続した形式で設定すべきことが、仕様として規定されている。なお、仕様は、例えば、該当する機器の製造業者などによって規定され、機器の利用者に提供されるもので、上記は一例であり、これに限定されない。また、登録タイミング『サービス開始直前』は、項番1の情報は、サービス開始直前にVPN終端装置に反映されるべきことを示す。また、削除タイミング『サービス終了直後』は、項番1の情報は、サービス終了直後にVPN終端装置から削除されるべきことを示す。
また、例えば、項番2の行を説明する。区分『I/F設定』の設定パターンは、「仮想ルータ」に設定されるインタフェースの設定パターンである。設定内容『IPアドレス』は、インタフェースに設定するIPアドレスは『数字.数字.数字.数字』のように数字をピリオドで区切った形式で設定すべきこと、数字は『0〜255』の値を設定すべきことが、仕様として規定されている。また、設定内容『I/Fの指定』は、インタフェースの指定は『I/Fの種別 数字/数字/数字』の形式で設定すべきことが、仕様として規定されている。また、設定内容『所属仮想ルータ』は、インタフェースを設定する仮想ルータ名を指定すべきことが、仕様として規定されている。また、登録タイミング『サービス開始直前』は、項番2の情報は、サービス開始直前にVPN終端装置に反映されるべきことを示す。また、削除タイミング『サービス終了直後』は、項番2の情報は、サービス終了直後にVPN終端装置から削除されるべきことを示す。
また、例えば、項番3の行を説明する。区分『仮想ルータ単位のルーティング設定』の設定パターンは、「仮想ルータ」に設定されるルーティング情報の設定パターンである。設定内容『ルーティング設定』は、ルーティング情報を設定する仮想ルータ名を指定すべきこと、ルーティング情報のIPアドレスは『数字.数字.数字.数字』のように数字をピリオドで区切った形式で設定すべきこと、数字は『0〜255』の値を設定すべきことが、仕様として規定されている。また、登録タイミング『サービス開始直前』は、項番3の情報は、サービス開始直前にVPN終端装置に反映されるべきことを示す。また、削除タイミング『サービス終了直後』は、項番3の情報は、サービス終了直後にVPN終端装置から削除されるべきことを示す。
また、例えば、項番4の行を説明する。区分『アクセス制御』の設定パターンは、「仮想ルータ」に設定されるアクセス制御の設定パターンである。設定内容『フィルタリング(ACL(Access Control List)など)』は、IPアドレスは『数字.数字.数字.数字』のように数字をピリオドで区切った形式で設定すべきこと、数字は『0〜255』の値を設定すべきこと、ポート番号は、数字で設定すべきこと、数字は『1〜65535』の値を設定すべきことが、仕様として規定されている。また、登録タイミング『サービス開始直前』は、項番4の情報は、サービス開始直前にVPN終端装置に反映されるべきことを示す。また、削除タイミング『サービス終了直後』は、項番4の情報は、サービス終了直後にVPN終端装置から削除されるべきことを示す。
図20は、VPN終端装置の設定パターンの一例である。図20に例示するように、例えば、設定パターン記憶部122は、VPN終端装置の設定パターンとして、設定パターンの各項目を管理するための項番と、設定情報を区分けする区分と、設定内容と、設定情報の登録タイミングと、削除タイミングと、設定内容の仕様とを対応付けて記憶する。また、図20に例示する設定パターンの内、項番1が、設定情報の設定パターンであり、項番2が、オプション設定情報の設定パターンである。また、図20においては図示を省略するが、設定パターン記憶部122は、VPN終端装置の設定パターンとして、所定のコマンド文をも記憶する。なお、設定パターンは、設定パターンの識別情報によって識別される。
例えば、項番1の行を説明する。区分『VPNユーザ設定』の設定パターンは、VPN間接続要求に基づいてVPN終端装置に収容する拠点のユーザに関する設定パターンである。設定内容『認証ID/パスワード』は、拠点のユーザに払い出される認証ID及びパスワードであり、認証ID及びパスワードは、『128文字以内』の『半角英数字』で設定すべきことが、仕様として規定されている。なお、『認証ID/パスワード』の替わりにその他の『認証情報』であってもよい。また、登録タイミング『サービス開始直前』は、項番1の情報は、サービス開始直前にVPN終端装置に反映されるべきことを示す。また、削除タイミング『サービス終了直後』は、項番1の情報は、サービス終了直後にVPN終端装置から削除されるべきことを示す。
また、例えば、項番2の行を説明する。区分『アクセス制御』の設定パターンは、「VPN終端装置」に設定されるアクセス制御の設定パターンである。設定内容『フィルタリング(ACLなど)』は、IPアドレスは『数字.数字.数字.数字』のように数字をピリオドで区切った形式で設定すべきこと、数字は『0〜255』の値を設定すべきこと、ポート番号は、数字で設定すべきこと、数字は『1〜65535』の値を設定すべきことが、仕様として規定されている。また、登録タイミング『サービス開始直前』は、項番2の情報は、サービス開始直前にVPN終端装置に反映されるべきことを示す。また、削除タイミング『サービス終了直後』は、項番2の情報は、サービス終了直後にVPN終端装置から削除されるべきことを示す。
また、図示を省略したが、設定パターン記憶部122は、NAT装置や広域ネットワークDNS装置の設定パターンについても同様に記憶する。例えば、設定パターン記憶部122は、設定情報の登録タイミングと、削除タイミングと、設定内容の仕様とを対応付けて記憶する。例えば、IPアドレスは『数字.数字.数字.数字』のように数字をピリオドで区切った形式で設定すべきこと、数字は『0〜255』の値を設定すべきことなどが、仕様として規定される。また、例えば、『サービス開始直前』にNAT装置や広域ネットワークDNS装置に反映されるべきこと、『サービス終了直後』にNAT装置や広域ネットワークDNS装置から削除されるべきことなどが、仕様として規定される。また、設定パターン記憶部122は、NAT装置や広域ネットワークDNS装置の設定パターンとして、所定のコマンド文をも記憶する。
なお、上記設定パターンはいずれも一例に過ぎず、VPN間接続の種別などによって、設定内容、設定情報の登録タイミング、削除タイミング、設定内容の仕様などは異なってくると考えられる。すなわち、例えば、VPN間接続の種別が『L3VPN』であれば、VPN間接続先とVPN間接続元とのIPアドレスの組や、IPsecの動作設定情報(認証方式や暗号化アルゴリズム)、事前秘密共有鍵などの項目も、設定パターンに定型化され得る。また、例えば、VPN間接続の種別が『L2VPN』であれば、VPN間接続先とVPN間接続元とのL2などのIDなどの項目も、設定パターンに定型化され得る。このように、設定パターンは、VPN間接続の種別などに応じて適切に定型化される。
図17に戻り、VPN間接続要求記憶部123は、VPN間接続要求情報を記憶する。VPN間接続要求記憶部123は、後述するVPN間接続要求受付部131によって格納されることで、VPN間接続要求情報を記憶する。また、VPN間接続要求記憶部123が記憶するVPN間接続要求情報は、後述する仮想ルータ構築部132、変換用アドレス決定部133、ルーティング情報生成部135による処理などに利用される。
図21は、VPN間接続要求記憶部123を説明するための図である。図21に例示するように、例えば、VPN間接続要求記憶部123は、VPN間接続要求情報として、VPN間接続サービスを開始すべきサービス開始時刻と、VPN間接続サービスを終了すべきサービス終了時刻と、VPN間接続が設定される仮想ルータ名と、VPN間接続に収容される拠点(又は拠点のユーザ)を識別する識別情報(端末名)とを対応付けて記憶する。
例えば、サービス開始時刻『t1』と、サービス終了時刻『t3』と、仮想ルータ名『vrf1』と、端末名『α1@vpn1.example.co.jp』及び『β1@vpn2.example.co.jp』とを対応付けて記憶する。時刻『t1』から『t3』までの間、『α1@vpn1.example.co.jp』と『β1@vpn2.example.co.jp』とをVPN間接続するVPN間接続要求がなされ、当該VPN間接続が設定される仮想ルータ名が『vrf1』であることを示す。なお、説明の便宜上、サービス開始時刻やサービス終了時刻を『t1』、『t3』などと記載するが、例えば、『2009/8/21 13:00』といった具体的な年月日や時刻を示す。
図17に戻り、アドレス変換情報記憶部124は、予約情報及びアドレス変換情報を記憶する。ここで、アドレス変換情報とは、後述する変換用アドレス決定部133によって決定されたユーザ側アドレスと仮想ルータ側アドレスとがNAT装置を境界として相互に変換されるように、ユーザ側アドレスと仮想ルータ側アドレスとを変換する変換情報である。なお、ユーザ側アドレスとは、拠点にて用いられている「拠点内アドレス」、及び、当該拠点にて通信相手となる他拠点配下の端末を識別するための「通信相手識別アドレス」である。また、仮想ルータ側アドレスとは、広域ネットワークにてVPN間接続に属する各拠点配下の端末を識別するためのアドレスである。
アドレス変換情報記憶部124は、後述する変換用アドレス決定部133によって格納されることで、予約情報及びアドレス変換情報を記憶する。また、アドレス変換情報記憶部124が記憶する予約情報及びアドレス変換情報は、アドレス変換情報設定部134による処理などに利用される。
図22は、アドレス変換情報記憶部124を説明するための図である。図22に例示するように、例えば、アドレス変換情報記憶部124は、予約情報として、VPN間接続サービスを開始すべきサービス開始時刻と、VPN間接続サービスを終了すべきサービス終了時刻とを記憶する。また、アドレス変換情報記憶部124は、予約情報と対応付けて、アドレス変換情報を記憶する。例えば、アドレス変換情報記憶部124は、アドレス変換情報として、VPN間接続を識別する仮想ルータ名と、NAT装置に設定されるアドレス変換テーブルとを対応付けて記憶する。
例えば、サービス開始時刻『t1』及びサービス終了時刻『t3』と対応付けて記憶されているアドレス変換情報は、仮想ルータ名『vrf1』によって識別される仮想ルータに関するアドレス変換情報である。
また、NAT装置1においては、ユーザ側アドレス『192.168.1.10』と仮想ルータ側アドレス『10.0.1.10』とを相互に変換すること、ユーザ側アドレス『172.16.2.10』と仮想ルータ側アドレス『10.0.2.10』とを相互に変換することを示す。ここで、ユーザ側アドレス『192.168.1.10』は、拠点にて用いられている拠点内アドレスであり、ユーザ側アドレス『172.16.2.10』は、当該拠点にて通信相手となる他拠点配下の端末を識別するための通信相手識別アドレスである。
また、NAT装置2においては、ユーザ側アドレス(通信相手識別アドレス)『172.16.1.10』と仮想ルータ側アドレス『10.0.1.10』とを相互に変換すること、ユーザ側アドレス(拠点内アドレス)『192.168.1.10』と仮想ルータ側アドレス『10.0.2.10』とを相互に変換することを示す。
なお、図22においては、仮想ルータ名『vrf1』によって識別される仮想ルータに関するアドレス変換情報のみを例示したが、アドレス変換情報記憶部124は、VPN間接続管理システム100によって構築された他の仮想ルータに関するアドレス変換情報も記憶している。
また、図22においては図示を省略したが、アドレス変換情報記憶部124は、プライベートアドレス全体の値、及び、各機器のインタフェースに割り当てられるアドレスとして予め確保されたアドレスも記憶する。
すなわち、後述するように、実施例2における変換用アドレス決定部133は、プライベートアドレス全体のうち、拠点内アドレス、既に予約されたアドレス、利用中のアドレス以外のアドレスを、新たに払い出すアドレスとして決定する。このため、アドレス変換情報記憶部124がプライベートアドレス全体の値を初期値として記憶しておくことで、変換用アドレス決定部133は、アドレス変換情報記憶部124を参照し、変換用のアドレスを決定することができる。
また、後述するように、実施例2におけるルーティング情報生成部135は、集合仮想ルータのインタフェースに設定するアドレス、VPN終端装置のインタフェースに設定するアドレス、NAT装置のインタフェースに設定するアドレスを割り当てるが、変換用アドレス決定部133は、各機器のインタフェースに割り当てられたこれらのアドレスとも重複しないように変換用のアドレスを決定しなければならない。このため、アドレス変換情報記憶部124が、各機器のインタフェースに割り当てられるアドレスとして予め確保されたアドレスを記憶しておくことで、変換用アドレス決定部133は、アドレス変換情報記憶部124を参照し、各機器のインタフェースに割り当てられた(あるいは割り当てられる)これらのアドレスと重複しないように、変換用のアドレスを決定することができる。
図17に戻り、ルーティング情報記憶部125は、予約情報及びルーティング情報を記憶する。ルーティング情報記憶部125は、後述する仮想ルータ構築部132及びルーティング情報生成部135によって格納されることで、予約情報及びルーティング情報を記憶する。また、ルーティング情報記憶部125が記憶する予約情報及びルーティング情報は、ルーティング情報設定部136による処理などに利用される。
図23及び図24は、ルーティング情報記憶部125を説明するための図である。図23に例示するように、例えば、ルーティング情報記憶部125は、予約情報として、VPN間接続サービスを開始すべきサービス開始時刻と、VPN間接続サービスを終了すべきサービス終了時刻とを記憶する。また、ルーティング情報記憶部125は、予約情報と対応付けて、ルーティング情報を記憶する。例えば、ルーティング情報記憶部125は、集合仮想ルータに設定される設定情報(ルーティング情報を含む)を設定ファイルの形式で記憶し、VPN終端装置に設定される設定情報を設定ファイルの形式で記憶し、NAT装置に設定される設定情報を設定ファイルの形式で記憶する。
例えば、図24の(A)は、集合仮想ルータに設定される設定情報の一部を例示するものである。また、例えば、図24の(B)は、VPN終端装置に設定される設定情報の一部を例示するものである。例えば、図24の(C)は、NAT装置に設定される設定情報の一部を例示するものである。
図17に戻り、DNS登録情報記憶部126は、DNS登録情報を記憶する。DNS登録情報記憶部126は、後述するDNS登録情報生成部137によって格納されることで、DNS登録情報を記憶する。また、DNS登録情報記憶部126が記憶するDNS登録情報は、後述するDNS登録部138による処理などに利用される。
図25は、DNS登録情報記憶部126を説明するための図である。図25に例示するように、例えば、DNS登録情報記憶部126は、通信相手となる他拠点配下の端末を識別するための通信相手識別アドレスと、該端末の名称との組を示すDNS登録情報として、Aレコード「β1 IN A 172.16.2.10」や「α1 IN A 172.16.1.10」を記憶する。ここで、「β1」や「α1」が端末の名称であり、「172.16.2.10」や「172.16.1.10」が通信相手識別アドレスである。
ここで、通信相手識別アドレスは、通信相手となる他拠点配下の端末を「ある拠点」内で識別するためのアドレスであるので、同じ端末を識別するためのアドレスであっても拠点ごとに異なったアドレスとなり得るものである。このため、DNS登録情報記憶部126は、VPN間接続に属する拠点ごとに、DNS登録情報を記憶する。
例えば、図25に例示するように、DNS登録情報記憶部126は、VPN間接続を識別する仮想ルータ名に対応付けて、拠点を識別する接続先IDごとに、DNS登録情報を記憶する。図25に例示するDNS登録情報の場合、仮想ルータ名「vrf1」によって識別されるVPN間接続に、接続先ID「UserA−Office」によって識別される拠点と、接続先ID「UserB−Office」によって識別される拠点とが属することを示す。また、接続先ID「UserA−Office」によって識別される拠点においては、通信相手となる「UserB−Office」配下の端末を識別するために、「172.16.2.10」という通信相手識別アドレスを用いる。また、この端末の端末名は「β1」である。したがって、接続先ID「UserA−Office」によって識別される拠点用のDNS登録情報は、「β1」と「172.16.2.10」との対応関係を示すもの、すなわち、Aレコード「β1 IN A 172.16.2.10」となる。
図17に戻り、アタッチメント記憶部126は、集合仮想ルータごと、VPN終端装置ごと、NAT装置ごとに、アタッチメントを記憶する。また、アタッチメント記憶部126は、広域ネットワークDNS装置についてもアタッチメントを記憶する。ここで、アタッチメントとは、アドレス変換情報をNAT装置に反映するためのプログラム、ルーティング情報をVPN終端装置及び集合仮想ルータに対して反映するためのプログラム、DNS登録情報を広域ネットワークDNS装置に対して反映するためのプログラム、及び、NAT装置に対して反映されたアドレス変換情報を削除するためのプログラム、VPN終端装置及び集合仮想ルータに対して反映されたルーティング情報を削除するためのプログラム、広域ネットワークDNS装置に対して反映されたDNS登録情報を削除するためのプログラムである。
また、アタッチメントには、VPN間接続管理システム100とNAT装置との間で用いられる通信プロトコル、VPN間接続管理システム100とVPN終端装置との間で用いられる通信プロトコルや、VPN間接続管理システム100と集合仮想ルータとの間で用いられる通信プロトコル、あるいは、VPN間接続管理システム100と広域ネットワークDNS装置との間で用いられる通信プロトコルが規定される。なお、一般に、当該通信プロトコルには、NAT装置のベンダ、VPN終端装置のベンダや集合仮想ルータのベンダ、あるいは広域ネットワークDNS装置によって規定される独自仕様の通信プロトコルが用いられる。アタッチメント記憶部126は、例えばVPN間接続管理システム100の運用者に入力されることで、アタッチメントを事前に記憶する。また、アタッチメント記憶部126が記憶するアタッチメントは、後述するアドレス変換情報設定部134、ルーティング情報設定部136、DNS登録部138及び削除部139による処理に利用される。
図26は、アタッチメント記憶部126を説明するための図である。図26に例示するように、例えば、アタッチメント記憶部126は、集合仮想ルータ、VPN終端装置やNAT装置、あるいは広域ネットワークDNS装置の装置識別情報とアタッチメントとを対応付けて記憶する。例えば、反映用のアタッチメントには、NAT装置、VPN終端装置、集合仮想ルータや広域ネットワークDNS装置にログインするためのID/パスワードや、アドレス変換情報やルーティング情報、DNS登録情報を格納すべきパスを指定し、指定したパスにアドレス変換情報やルーティング情報、DNS登録情報を格納するためのコマンド、NAT装置、VPN終端装置や集合仮想ルータ、広域ネットワークDNS装置を再起動させるコマンドなどが記載される。なお、アドレス変換情報やルーティング情報、DNS登録情報の反映には、格納して再起動することで反映する場合と、格納によって反映する場合とがある。また、反映用のアタッチメントには、VPN間接続管理システム100とNAT装置との間で用いられる通信プロトコル、VPN間接続管理システム100とVPN終端装置との間で用いられる通信プロトコルや、VPN間接続管理システム100と集合仮想ルータとの間で用いられる通信プロトコル、VPN間接続管理システム100と広域ネットワークDNS装置との間で用いられる通信プロトコルが規定される。
また、例えば、削除用のアタッチメントには、NAT装置、VPN終端装置や集合仮想ルータ、広域ネットワークDNS装置にログインするためのID/パスワードや、アドレス変換情報やルーティング情報、DNS登録情報が格納されているパスからアドレス変換情報やルーティング情報、DNS登録情報を削除するためのコマンド、NAT装置、VPN終端装置や集合仮想ルータ、広域ネットワークDNS装置を再起動させるコマンドなどが記載される。また、削除用のアタッチメントには、VPN間接続管理システム100とNAT装置との間で用いられる通信プロトコル、VPN間接続管理システム100とVPN終端装置との間で用いられる通信プロトコルや、VPN間接続管理システム100と集合仮想ルータとの間で用いられる通信プロトコル、VPN間接続管理システム100と広域ネットワークDNS装置との間で用いられる通信プロトコルが規定される。
図17に戻り、装置情報記憶部127は、VPN終端装置に事前設定されたVPN終端装置の事前設定情報、及び、集合仮想ルータに事前設定された集合仮想ルータの事前設定情報を記憶する。装置情報記憶部127は、例えばVPN間接続管理システム100の運用者に入力されることで、VPN終端装置の事前設定情報及び集合仮想ルータの事前設定情報を事前に記憶する。また、装置情報記憶部127が記憶する事前設定情報は、後述するルーティング情報生成部135による処理などに利用される。
図27は、集合仮想ルータの事前設定情報を説明するための図である。図27に例示するように、例えば、装置情報記憶部127は、集合仮想ルータの事前設定情報として、ホスト名(又はルータ名)及びパスワードを記憶する。「ホスト名」は、集合仮想ルータの名称であり、例えば『jpn100』といった名称である。「パスワード」は、集合仮想ルータにログインするためのパスワードであり、例えば『rootroot』といったパスワードである。
図28は、VPN終端装置の事前設定情報を説明するための図である。図28に例示するように、例えば、装置情報記憶部127は、VPN終端装置の事前設定情報として、ホスト名(又はルータ名)、パスワード、VPN終端装置ID、VPN種別、集合仮想ルータ向けIPアドレス、サーバモードを記憶する。また、図28においては図示を省略するが、装置情報記憶部127は、事前設定情報として、例えば、サーバ側待ち受けIPアドレス、プロトコル、ポート番号なども記憶する。
「ホスト名」は、VPN終端装置の名称であり、例えば『jpn1』といった名称である。「パスワード」は、VPN終端装置にログインするためのパスワードであり、例えば『rootroot』といったパスワードである。「VPN終端装置ID」は、VPN終端装置を識別するIDであり、例えば『VPN終端装置1』といったIDである。「VPN種別」は、VPN種別であり、例えば『OpenVPN』といった種別である。
「集合仮想ルータ向けIPアドレス」は、拠点から送出されたパケットを集合仮想ルータに向けて送出する際に転送すべきIPアドレスであり、集合仮想ルータに仮想ルータが構築され、集合仮想ルータのインタフェースにIPアドレスが割り当てられて初めて決定するものである。このため、図28においては、未だ割り当てられていないという意味で空欄とする。サーバモードは、VPN終端装置が選択したルーティング方式であり、例えばOpenVPNを用いる場合、ルーティング方式には『routing』と『bridge』とがある。
図17に戻り、制御部130は、VPN間接続管理システム100において実行される各種処理を制御する。具体的には、図17に例示するように、制御部130は、VPN間接続要求受付部131と、仮想ルータ構築部132と、変換用アドレス決定部133と、アドレス変換情報設定部134と、ルーティング情報生成部135と、ルーティング情報設定部136と、DNS登録情報生成部137と、DNS登録部138と、削除部139とを有する。
VPN間接続要求受付部131は、VPN間接続要求を受け付ける。具体的には、例えば、インターネットなどのネットワークにユーザ用のWebサーバが設置され、VPN間接続要求受付部131は、ユーザ用の入力画面をWebサーバに配信する。ここで、ユーザ用の入力画面とは、VPN間接続を行うVPNの管理者から、そのVPN間接続要求を受け付けるために、VPN間接続サービスを提供する電気通信事業者などが提供するものである。すると、例えば拠点それぞれの管理者が、当該Webサーバにアクセスし、ユーザ用の入力画面にVPN間接続要求を入力することで、VPN間接続要求受付部131は、VPN間接続要求の入力を受け付け、受け付けたVPN間接続要求をVPN間接続要求記憶部123に格納する。
図29は、VPN間接続要求の入力画面の一例を説明するための図である。例えば、VPN間接続要求受付部131は、まず、図29の(A)に例示する入力画面を出力する。入力画面には、仮想ルータ名の入力を受け付ける枠、及び、パスワードの入力を受け付ける枠が設けられる。なお、仮想ルータ名及びパスワードは、例えば、同じ協働空間に属する予定の『A社』と『B社』との間で、オフラインで決定されるなどする。こうして、例えば、図29の(A)に例示するように、『A社』の管理者が仮想ルータ名『vrf1』及びパスワードを入力すると、VPN間接続要求受付部131は、仮想ルータ名として『vrf1』を受け付け、続いて、『A社』に関する情報を受け付ける。なお、実施例2においては、VPN間接続要求として仮想ルータ名の入力を受け付ける例を説明するが、本発明はこれに限られるものではなく、例えば、VPN間接続管理システム100側で仮想ルータ名を自動的に割り当ててもよい。
また、図29の(B)に例示するように、図29の(A)に例示する入力画面に続く次の入力画面には、接続先ID及び端末名の入力を受け付ける枠が設けられる。例えば、『A社』の管理者が、接続先IDとして『UserA−Office』を入力し、端末名として『α1@vpn1.example.co.jp』を入力すると、VPN間接続要求受付部131は、仮想ルータ名『vrf1』によってVPN間接続される『A社』側の端末として『α1@vpn1.example.co.jp』を受け付ける。なお、例えば『More』のボタンが管理者によって押下されると、VPN間接続要求受付部131は、入力画面上に、端末名の入力を受け付ける枠をさらに設ける。
また、入力画面には、予約時間の年月日及び時刻の入力を受け付ける枠が設けられる。例えば、図29の(B)に例示するように、管理者が、予約時間『2009.8.21 13:00』〜『2009.8.21 15:00』を入力すると、VPN間接続要求受付部131は、VPN間接続サービス開始時刻として『2009.8.21 13:00』、VPN間接続サービス終了時刻として『2009.8.21 15:00』を受け付ける。
さて、図29の(B)に例示する入力画面において、例えば『OK』ボタンが管理者によって押下されると、VPN間接続要求受付部131は、VPN間接続要求の受け付けを終了する。なお、この後、『B社』の管理者も同様に、仮想ルータ名『vrf1』によってVPN間接続される端末として『β1@vpn2.example.co.jp』を入力する。
例えば、『B社』の管理者が、入力画面に仮想ルータ名『vrf1』及びパスワードを入力すると、VPN間接続要求受付部131は、仮想ルータ名として『vrf1』を受け付ける。ここで、仮想ルータ名『vrf1』によって識別されるVPN間接続については、既に『A社』の管理者が予約時間の年月日及び時刻の入力を済ませているので、例えば、VPN間接続要求受付部131は、図29の(B)に例示する入力画面のうち、予約時間の年月日及び時刻が入力された状態の入力画面を出力してもよい。すると、例えば、『B社』の管理者が、接続先IDとして『UserB−Office』を入力し、端末名として『β1@vpn2.example.co.jp』を入力すると、VPN間接続要求受付部131は、仮想ルータ名『vrf1』によってVPN間接続される『B社』側の端末として『β1@vpn2.example.co.jp』を受け付ける。こうして、『端末α』と『端末β』とを接続するためのVPN間接続要求として、仮想ルータ名『vrf1』によって識別されるVPN間接続要求が受け付けられる。
なお、実施例2においては、ユーザ用の入力画面にVPN間接続要求を入力させる手法を説明したが、本発明はこれに限られるものではない。例えば、VPN間接続サービスを提供する電気通信事業者などの運用者が、VPN間接続管理システム100の出力部112に出力された入力画面に直接VPN間接続要求を入力する手法でもよい。
仮想ルータ構築部132は、VPN間接続要求に基づき、集合仮想ルータに仮想ルータを構築する。具体的には、仮想ルータ構築部132は、VPN間接続要求受付部131によって受け付けられたVPN間接続要求に基づき、集合仮想ルータに構築すべき仮想ルータ名を決定する。また、仮想ルータ構築部132は、集合仮想ルータに設定する設定情報のうち仮想ルータの構築情報を生成し、生成した仮想ルータの構築情報を予約情報とともにルーティング情報記憶部125に格納する。また、仮想ルータ構築部132は、変換用アドレス決定部133に、アドレス変換情報を生成すべき旨を通知する。
例えば、仮想ルータ構築部132は、VPN間接続要求記憶部123(図21に例示)を定期的に参照し、現在時刻とサービス開始時刻とを比較して、仮想ルータを構築すべきタイミングであるか否かを判定する。例えば、仮想ルータ構築部132は、現在時刻とサービス開始時刻『t1』とを比較して、仮想ルータを構築すべきタイミングであるか否かを判定する。
次に、仮想ルータ構築部132は、仮想ルータを構築すべきタイミングであると判定すると、VPN間接続要求記憶部123を参照し、サービス開始時刻に対応付けて記憶されている仮想ルータ名及び端末名を取得する。例えば、仮想ルータ構築部132は、サービス開始時刻『t1』に対応付けて記憶されている仮想ルータ名『vrf1』、並びに、端末名『α1@vpn1.example.co.jp』及び『β1@vpn2.example.co.jp』を取得する。
そして、仮想ルータ構築部132は、取得した端末名を用いてVPN間接続情報記憶部121(図18に例示)を参照し、端末名によって識別される拠点が収容される集合仮想ルータを決定し、設定パターンの識別情報を取得する。例えば、仮想ルータ構築部132は、集合仮想ルータ『集合仮想ルータ1』を決定し、設定パターンの識別情報『VR−P1』を取得する。
続いて、仮想ルータ構築部132は、取得した設定パターンの識別情報を用いて設定パターン記憶部122(図19に例示)を参照し、区分『仮想ルータ定義』に対応付けて記憶されている仕様を取得する。ここで、図19には例示しなかったが、設定パターン記憶部122は、設定パターンの一つとして、設定情報を集合仮想ルータに反映するための所定のコマンド文も集合仮想ルータごとに記憶する。このため、仮想ルータ構築部132は、該当する所定のコマンド文も取得する。
そして、仮想ルータ構築部132は、VPN間接続要求記憶部123(図21に例示)を参照してサービス開始時刻及びサービス終了時刻を取得し、取得したサービス開始時刻及びサービス終了時刻をルーティング情報記憶部125(図23に例示)に格納する。例えば、仮想ルータ構築部132は、サービス開始時刻『t1』及びサービス終了時刻『t3』をルーティング情報記憶部125に格納する。
次に、仮想ルータ構築部132は、取得した仕様やコマンド文を用いて仮想ルータの構築情報をファイルに記載し、サービス開始時刻及びサービス終了時刻に対応付けてルーティング情報記憶部125に格納する。例えば、仮想ルータ構築部132は、仮想ルータ名『vrf1』を、取得した所定のコマンド文を用いて『ip vrf vrf1』と記載したファイルを作成する。また、仮想ルータ構築部132は、作成したファイルに、図19に例示する仕様に従って決定した仮想ルータID『100:10』を、所定のコマンド文を用いて『rd 100:10』と記載する。そして、仮想ルータ構築部132は、作成したファイルをサービス開始時刻『t1』及びサービス終了時刻『t3』に対応付けてルーティング情報記憶部125に格納する(図24の(A)を参照)。
変換用アドレス決定部133は、VPN間接続要求に基づき、VPN間接続に用いられるアドレスを決定する。具体的には、変換用アドレス決定部133は、VPN間接続要求受付部131によって受け付けられたVPN間接続要求に基づき、VPN間接続に用いられるアドレスを決定し、アドレス変換情報を生成する。
ここで、変換用アドレス決定部133は、通信相手となる他拠点配下の端末を拠点にて識別するための通信相手識別アドレス(以下、適宜「第一アドレス」)を、VPN間接続を利用する時間帯と重複する時間帯に該当する拠点内で通信相手となり得る端末の中で一意となるように決定する。また、変換用アドレス決定部133は、VPN間接続に属する各拠点配下の端末を集合仮想ルータにて識別するアドレス(以下「第二アドレス」)を、VPN間接続を利用する時間帯と重複する時間帯に該当するVPN間接続として制御され得る端末の中で一意となるように決定する。また、変換用アドレス決定部133は、決定した二つのアドレスがNAT装置を境界として相互に変換されるようにアドレス変換情報を生成する。
ここで、実施例2におけるVPN間接続管理システム100は、プライベートアドレス全体を、VPN間接続サービスに利用することができるアドレスとして管理するものとする。すなわち、VPN間接続管理システム100は、上述したように、アドレス変換情報記憶部124が、プライベートアドレス全体の値、及び、各機器のインタフェースに割り当てられるアドレスとして予め確保されたアドレスも記憶する。また、VPN間接続管理システム100は、利用者から事前に申請してもらうことなどにより、拠点ごとに、その拠点にて用いられているプライベートアドレス(VPN間接続情報記憶部121の『拠点内アドレス』)を管理している。
このため、変換用アドレス決定部133は、アドレス変換情報記憶部124を参照し、既に予約されたアドレスを時間軸上で探索する。そして、変換用アドレス決定部133は、第一アドレス(通信相手識別アドレス)を決定する際には、プライベートアドレス全体のうち、拠点内アドレス、同じ時間帯に既に予約されたアドレスとして探索されたアドレス、及び各機器のインタフェースに割り当てられるアドレスとして予め確保されたアドレス以外のアドレスを、新たに払い出すアドレスとして決定すればよい。また、変換用アドレス決定部133は、第二アドレスを決定する際には、プライベートアドレス全体のうち、同じVPN間接続について既に予約されたアドレスとして探索されたアドレス、及び各機器のインタフェースに割り当てられるアドレスとして予め確保されたアドレス以外のアドレスを、新たに払い出すアドレスとして決定すればよい。
なお、本発明はこの手法に限られるものではない。例えば、VPN間接続管理システム100が、利用者から事前に申請してもらうことなどにより、拠点ごとに、その拠点にて用いることができるプライベートアドレスを管理しているとする。この場合には、変換用アドレス決定部133は、既に予約されたアドレスを時間軸上で探索し、その拠点にて用いることができるプライベートアドレスとして管理しているプライベートアドレスのうち、拠点内アドレス及び既に予約されたアドレスとして探索されたアドレス以外のアドレスを、新たに払い出すアドレスとして決定すればよい。なお、この場合には、VPN間接続管理システム100は、拠点にて用いることができるプライベートアドレスの値を、拠点ごとに別途記憶する。例えば、VPN間接続管理システム100は、拠点にて用いることができるプライベートアドレスの値を、VPN間接続情報記憶部121に記憶する。
また、変換用アドレス決定部133は、生成したアドレス変換情報を予約情報とともにアドレス変換情報記憶部124に格納する。また、変換用アドレス決定部133は、ルーティング情報生成部135に、ルーティング情報を含む設定情報を生成すべき旨を通知する。また、変換用アドレス決定部133は、DNS登録情報生成部137に、DNS登録情報を生成すべき旨を通知する。
例えば、変換用アドレス決定部133は、仮想ルータ構築部132からアドレス変換情報を生成すべき旨の通知を受けると、アドレス変換情報記憶部124(図22に例示)を参照し、通信相手となる他拠点配下の端末を拠点にて識別するための第一アドレス(通信相手識別アドレス)を決定する。
例えば、変換用アドレス決定部133は、VPN接続要求として取得した端末名を用いてVPN間接続情報記憶部121(図18に例示)を参照し、この端末が属する拠点の接続先ID『UserA−Office』を取得する。そして、変換用アドレス決定部133は、接続先ID『UserA−Office』に属する端末名、並びに、サービス開始時刻『t1』及びサービス終了時刻『t3』を用いてアドレス変換情報記憶部124を検索し、重複する時間帯に、接続先ID『UserA−Office』に関するアドレス変換情報が存在すれば、これを全て取得する。また、変換用アドレス決定部133は、プライベートアドレス全体の値、及び、各機器のインタフェースに割り当てられるアドレスとして予め確保されたアドレスも取得する。このとき、変換用アドレス決定部133は、全ての仮想ルータに対応付けて記憶されたアドレス変換情報を対象として検索する。
次に、変換用アドレス決定部133は、取得したアドレス変換情報を解析し、接続先ID『UserA−Office』によって識別される拠点にて、通信相手となる他拠点配下の端末を識別するためのアドレスとして用いられているユーザ側アドレス(通信相手識別アドレス)を全て抽出する。そして、変換用アドレス決定部133は、抽出したユーザ側アドレス(通信相手識別アドレス)と重複しないように、また、拠点内アドレス(図18を参照)と重複しないように、また、各機器のインタフェースに割り当てられるアドレスとして予め確保されたアドレスとも重複しないように、接続先ID『UserA−Office』によって識別される拠点にて端末名『β1@vpn2.example.co.jp』を識別するための第一アドレスを決定する。例えば、変換用アドレス決定部133は、『172.16.2.10』を決定する。
続いて、変換用アドレス決定部133は、接続先ID『UserA−Office』及び端末名『α1@vpn1.example.co.jp』を用いてVPN間接続情報記憶部121(図18に例示)を参照し、『NAT装置1』及び拠点内アドレス『192.168.1.10』を取得する。そして、変換用アドレス決定部133は、図22の1行目に例示するように、『NAT装置1』に対応付けて、『192.168.1.10』と『172.16.2.10』とをユーザ側アドレスとして格納する。なお、変換用アドレス決定部133は、接続先ID『UserB−Office』についても同様に第一アドレス(通信相手識別アドレス)を決定し、図22の1行目に例示するように、『NAT装置2』に対応付けて、『172.16.1.10』と『192.168.1.10』とをユーザ側アドレスとして格納する。
また、例えば、変換用アドレス決定部133は、アドレス変換情報記憶部124(図22に例示)を参照し、集合仮想ルータにてVPN間接続に属する各拠点配下の端末を識別するための第二アドレスを決定する。
例えば、変換用アドレス決定部133は、VPN間接続を識別する仮想ルータ名『vrf1』、並びに、サービス開始時刻『t1』及びサービス終了時刻『t3』を用いてアドレス変換情報記憶部124を検索し、重複する時間帯に、仮想ルータ名『vrf1』に関するアドレス変換情報が存在すれば、これを全て取得する。すなわち、変換用アドレス決定部133は、仮想ルータ名『vrf1』に対応付けて記憶されたアドレス変換情報を対象として検索する。
次に、変換用アドレス決定部133は、取得したアドレス変換情報を解析し、仮想ルータ名『vrf1』に関するアドレス変換情報として用いられている仮想ルータ側アドレスを全て抽出する。そして、変換用アドレス決定部133は、抽出した仮想ルータ側アドレスと重複しないように、また、各機器のインタフェースに割り当てられるアドレスとして予め確保されたアドレスとも重複しないように、端末名『α1@vpn1.example.co.jp』及び『β1@vpn2.example.co.jp』によって識別される端末を集合仮想ルータにて識別するための第二アドレスを決定する。例えば、変換用アドレス決定部133は、『10.0.1.10』及び『10.0.2.10』を決定する。
続いて、変換用アドレス決定部133は、図22の1行目に例示するように、『NAT装置1』及び『NAT装置2』に対応付けて、『10.0.1.10』と『10.0.2.10』とを仮想ルータ側アドレスとして格納する。
そして、変換用アドレス決定部133は、決定した二つのアドレスがNAT装置を境界として相互に変換されるようにアドレス変換情報を生成する。例えば、変換用アドレス決定部133は、設定パターン記憶部122を参照し、アドレス変換情報の仕様、及び、アドレス変換情報をNAT装置に反映するための所定のコマンド文を取得する。そして、変換用アドレス決定部133は、取得した仕様及びコマンド文を用いて、図22の1行目に例示するアドレス変換テーブルからアドレス変換情報を生成する。なお、実施例2においては、使用後アドレスは再度利用できるため、未使用扱いとする。
アドレス変換情報設定部134は、アドレス変換情報をNAT装置に設定する。具体的には、アドレス変換情報設定部134は、変換用アドレス決定部133によって決定された第一アドレスと第二アドレスとが、NAT装置を境界として相互に変換されるように、アドレス変換情報をNAT装置に設定する。
例えば、アドレス変換情報設定部134は、アドレス変換情報記憶部124(図22に例示)を定期的に参照し、現在時刻とサービス開始時刻とを比較して、アドレス変換情報を設定すべきタイミングであるか否かを判定する。例えば、アドレス変換情報設定部134は、現在時刻とサービス開始時刻『t1』とを比較して、アドレス変換情報を設定すべきタイミングであるか否かを判定する。
次に、アドレス変換情報設定部134は、アドレス変換情報を設定すべきタイミングであると判定すると、アドレス変換情報記憶部124を参照し、サービス開始時刻に対応付けて記憶されているアドレス変換情報を取得する。例えば、アドレス変換情報設定部134は、『NAT装置1』及び『NAT装置2』に対応付けて記憶されているアドレス変換テーブルを取得する。
そして、アドレス変換情報設定部134は、アタッチメント記憶部127(図26に例示)を参照し、該当するアタッチメントを取得し、取得したアタッチメントを用いて、該当するNAT装置にアドレス変換情報を送信する。例えば、アドレス変換情報設定部134は、『NAT装置1』及び『NAT装置2』を用いてアタッチメント記憶部127を参照し、アタッチメント『NAT1.exe』及び『NAT2.exe』を取得する。続いて、アドレス変換情報設定部134は、取得したアタッチメント『NAT1.exe』を用いて、アドレス変換情報記憶部124において『NAT装置1』に対応付けて記憶されているアドレス変換情報を『NAT装置1』に送信する。また、アドレス変換情報設定部134は、取得したアタッチメント『NAT2.exe』を用いて、アドレス変換情報記憶部124において『NAT装置2』に対応付けて記憶されているアドレス変換情報を『NAT装置2』に送信する。
なお、実施例2においては、アドレス変換情報設定部134は、VPN間接続サービスを開始する時刻にアドレス変換情報の設定を開始するものとして説明するが、本発明はこれに限られるものではない。VPN間接続サービスを開始する時刻として予約を受け付けた時刻には即時にVPN間接続が実現されるように、例えば、アドレス変換情報の設定に要する時間を予め予測し、『サービス開始時刻』から、予測した当該時間を差し引いた時刻を、アドレス変換情報の反映を開始する時刻としてもよい。例えば、変換用アドレス決定部133が、アドレス変換情報記憶部124に予約時間とアドレス変換情報とを格納する際に、アドレス変換情報の設定に要する時間を差し引いた時刻も併せて格納し、アドレス変換情報設定部134が、当該時刻であるか否かを判定してアドレス変換情報の設定を開始してもよい。
ルーティング情報生成部135は、VPN間接続要求及びアドレス変換情報に基づき、ルーティング情報を生成する。具体的には、ルーティング情報生成部135は、各機器(集合仮想ルータ、VPN終端装置、NAT装置)のインタフェースに設定するアドレスを、予め確保されたアドレスの中から割り当てる。また、ルーティング情報生成部135は、変換用アドレス決定部133によって決定されたアドレス変換情報に基づきルーティング情報を生成する。また、ルーティング情報生成部135は、生成したルーティング情報を予約情報とともにルーティング情報記憶部125に格納する。なお、実施例2においては、既に仮想ルータ構築部132が、仮想ルータの構築情報をファイルに記載してルーティング情報記憶部125に格納しているので、ルーティング情報生成部135は、このファイルに、ルーティング情報(VPN終端装置(Next Hop)へのルーティング情報)などを追記することになる。また、ルーティング情報生成部135は、VPN終端装置のファイルには、集合仮想ルータ(Next Hop)へのルーティング情報など、NAT装置のファイルには、パケットの転送情報などを記載することになる。
まず、集合仮想ルータの設定情報の生成について説明する。例えば、ルーティング情報生成部135は、変換用アドレス決定部133からルーティング情報を含む設定情報を生成すべき旨の通知を受けると、アドレス変換情報記憶部124(図22に例示)を参照し、NAT装置側I/Fに設定すべきアドレスを決定する。例えば、ルーティング情報生成部135は、NAT装置1側のI/Fとして『10.0.10.97』を決定し、NAT装置2側のI/Fとして『10.0.20.97』を決定する。
また、ルーティング情報生成部135は、設定パターン記憶部122(図19に例示)を参照し、区分『I/Fの設定』及び『仮想ルータ単位のルーティング設定』に対応付けて記憶されている仕様を取得する。ここで、図19には例示しなかったが、設定パターン記憶部122は、設定パターンの一つとして、設定情報を集合仮想ルータに反映するための所定のコマンド文も集合仮想ルータごとに記憶する。このため、ルーティング情報生成部135は、該当する所定のコマンド文も取得する。
そして、ルーティング情報生成部135は、『数字.数字.数字.数字』の仕様に従って「IPアドレス」を決定する。また、例えば、ルーティング情報生成部135は、図19に例示する設定パターンを参照し、『I/Fの種別 数字/数字/数字』の仕様に従って「I/Fの指定」を決定する。
例えば、ルーティング情報生成部135は、NAT装置1と接続するインタフェースに設定するIPアドレスとして『10.0.10.97 255.255.255.0』を決定し、I/Fの指定として『GigabitEthernet1/0/0』を決定する。また、例えば、ルーティング情報生成部135は、NAT装置2と接続するインタフェースに設定するIPアドレスとして『10.0.20.97 255.255.255.0』を決定し、I/Fの指定として『GigabitEthernet2/0/0』を決定する。
次に、ルーティング情報生成部135は、アドレス変換情報記憶部124を参照し、NAT装置に対応付けて記憶されている仮想ルータ側アドレスを取得する。例えば、ルーティング情報生成部135は、NAT装置『NAT装置1』と対応付けて記憶されている仮想ルータ側アドレス『10.0.1.10』及び『10.0.2.10』を取得する。
そして、例えば、ルーティング情報生成部135は、図24の(A)に示すように、NAT装置1と接続するインタフェースに設定するIPアドレスとして決定した『10.0.10.97 255.255.255.0』を、所定のコマンド文を用いて『ip address 10.0.10.97 255.255.255.0』と記載する。また、例えば、ルーティング情報生成部135は、I/Fの指定として決定した『GigabitEthernet1/0/0』を、所定のコマンド文を用いて『interface GigabitEthernet1/0/0』と記載する。その他、ルーティング情報生成部135は、インタフェースを仮想ルータ『vrf1』に所属させるコマンドとして、『ip vrf forwarding vrf1』と記載する。なお、ルーティング情報生成部135は、NAT装置2と接続するインタフェースについても同様に記載する。
また、ルーティング情報生成部135は、いわゆるルーティング情報であるルーティング設定コマンドを記載する。ここで、NextHopはNAT装置である。例えば、ルーティング情報生成部135は、仮想ルータ名『vrf1』と、『10.0.1.0 255.255.255.0』と、IPアドレス『10.0.10.98』とを用いて、図19に例示する仕様に従い所定のコマンド文を用いて『ip route vrf vrf1 10.0.1.0 255.255.255.0 10.0.10.98』と記載する。なお、ルーティング情報生成部135は、NAT装置2と接続するインタフェースについても同様に記載する。
次に、VPN終端装置の設定情報の生成について説明する。ルーティング情報生成部135は、VPN間接続要求受付部131によって受け付けられた接続先IDを用いてVPN間接続情報記憶部121を参照し、接続先IDそれぞれと対応付けて記憶されているVPN終端装置の設定パターンの識別情報を取得する。そして、ルーティング情報生成部135は、VPN終端装置の設定パターンの識別情報それぞれを用いて設定パターン記憶部122を参照し、設定パターン記憶部122に記憶されたVPN終端装置の設定パターンの中から設定情報の生成に利用すべきVPN終端装置の設定パターンを選択する。そして、ルーティング情報生成部135は、選択した設定パターンを用いて設定情報を生成する。
例えば、ルーティング情報生成部135は、VPN終端装置のI/F(拠点側及び集合仮想ルータ側)に設定すべきアドレスを決定し、決定したアドレスを用いてルーティング情報を生成する。例えば、ルーティング情報生成部135は、図24の(B)に示すように、『VPN終端装置1』のルーティング情報を生成する。図24(B)の最初の4行は、『VPN終端装置1』のインタフェースにアドレスを設定するコマンドである。また、図24(B)の5行目は、NextHopを『NAT装置1』とするためのルーティング設定コマンドである。
次に、NAT装置の設定情報の生成について説明する。なお、図19及び図20においては図示を省略したが、設定パターン記憶部122は、NAT装置の設定パターンも記憶する。このため、例えば、ルーティング情報生成部135は、VPN間接続要求受付部131によって受け付けられた接続先IDを用いてVPN間接続情報記憶部121を参照し、接続先IDそれぞれと対応付けて記憶されているNAT装置の識別情報を取得する。そして、ルーティング情報生成部135は、NAT装置の設定パターンの識別情報それぞれを用いて設定パターン記憶部122を参照し、設定パターン記憶部122に記憶されたNAT装置の設定パターンの中から設定情報の生成に利用すべきNAT装置の設定パターンを選択する。そして、ルーティング情報生成部135は、選択した設定パターンを用いて設定情報を生成する。
例えば、ルーティング情報生成部135は、NAT装置のI/F(拠点側及び集合仮想ルータ側)に設定すべきアドレスを決定し、決定したアドレスを用いてルーティング情報を生成する。例えば、ルーティング情報生成部135は、図24の(C)に示すように、『NAT装置1』のルーティング情報を生成する。図24(C)の最初の4行は、『NAT装置1』のインタフェースにアドレスを設定するコマンドである。また、図24(C)の5行目は、『VPN終端装置1』側へのルーティング設定コマンドであり、アドレス変換前のアドレスを設定する。図24(C)の6行目は、仮想ルータ『vrf1』側へのルーティング設定コマンドであり、アドレス変換後のアドレスを設定する。
なお、上述したように、実施例2において、設定情報それぞれは、例えば、図24に例示するように、設定ファイルの形式で、ルーティング情報記憶部125に記憶される。すなわち、ルーティング情報生成部135は、生成した設定情報それぞれを、設定ファイルの形式で、ルーティング情報記憶部125に格納する。もっとも、本発明はこれに限られるものではなく、生成した設定情報をデータベースに格納する手法でもよい。あるいは、生成した設定情報をファイル形式で記憶するとともにデータベースにも格納する手法でもよい。これらの手法によれば、設定情報は、検索や参照に適したデータベースに格納されるので、例えば、ルーティング情報生成部135は、設定情報を生成する際に、既に生成された設定情報を参照して重複を判定するが、その都度ファイルオープンの処理を実行する必要がなく、処理が効率的になる。
ルーティング情報設定部136は、ルーティング情報をNAT装置、VPN終端装置及び集合仮想ルータに設定する。例えば、ルーティング情報設定部136は、ルーティング情報記憶部125(図23に例示)を定期的に参照し、現在時刻とサービス開始時刻とを比較して、設定情報を設定すべきタイミングであるか否かを判定する。例えば、ルーティング情報設定部136は、現在時刻とサービス開始時刻『t1』とを比較して、設定情報を設定すべきタイミングであるか否かを判定する。
次に、ルーティング情報設定部136は、設定情報を設定すべきタイミングであると判定すると、ルーティング情報記憶部125を参照し、サービス開始時刻に対応付けて記憶されている設定情報を取得する。例えば、ルーティング情報設定部136は、サービス開始時刻『t1』に対応付けて記憶されている設定情報を取得する。
そして、ルーティング情報設定部136は、アタッチメント記憶部127(図26に例示)を参照し、該当するアタッチメントを取得し、取得したアタッチメントを用いて、該当する集合仮想ルータ、VPN終端装置及びNAT装置に設定情報を送信する。例えば、ルーティング情報設定部136は、『集合仮想ルータ1』、『VPN終端装置1』、『VPN終端装置2』、『NAT装置1』、及び『NAT装置2』を用いてアタッチメント記憶部126を参照し、アタッチメント『VR1.exe』、『VPN1.exe』、『VPN2.exe』、『NAT1.exe』、及び『NAT2.exe』を取得する。続いて、ルーティング情報設定部136は、取得したアタッチメント『VR1.exe』を用いて、設定情報を『集合仮想ルータ1』に送信する。同様に、ルーティング情報設定部136は、『VPN終端装置1』、『VPN終端装置2』、『NAT装置1』及び『NAT装置2』にも設定情報を送信する。
なお、アタッチメントには、例えば、VPN間接続管理システム100から各機器に対してtelnetやSSH(Secure SHell)などを用いて遠隔操作することにより、設定情報を設定する手法が含まれていてもよい。
また、実施例2においては、ルーティング情報設定部136は、VPN間接続サービスを開始する時刻に設定情報の設定を開始するものとして説明するが、本発明はこれに限られるものではない。VPN間接続サービスを開始する時刻として予約を受け付けた時刻には即時にVPN間接続が実現されるように、例えば、設定情報の設定に要する時間を予め予測し、『サービス開始時刻』から、予測した当該時間を差し引いた時刻を、設定情報の設定を開始する時刻としてもよい。例えば、仮想ルータ構築部132が、ルーティング情報記憶部125に予約時間と設定情報とを格納する際に、設定情報の設定に要する時間を差し引いた時刻も併せて格納し、ルーティング情報設定部136が、当該時刻であるか否かを判定して設定情報の設定を開始してもよい。
DNS登録情報生成部137は、拠点内で一意となるように端末の名称を決定し、決定した端末の名称と通信相手識別アドレスとの組を、DNS登録情報としてVPN間接続に属する拠点ごとに生成する。具体的には、DNS登録情報生成部137は、変換用アドレス決定部133から、登録情報を生成すべき旨の通知を受けると、アドレス変換情報記憶部124(図22に例示)を参照し、変換用アドレス決定部133によって新たに決定されたアドレス変換情報を取得する。
例えば、図22に例示するように、『NAT装置1』について端末名『α1@vpn1.example.co.jp』に対応付けて記憶されているユーザ側アドレス『192.168.1.10』は、『α1@vpn1.example.co.jp』を端末名とする端末の拠点内アドレスである。また、『α1@vpn1.example.co.jp』の端末を通信相手とする他の拠点内で『α1@vpn1.example.co.jp』の端末を識別するために払い出された通信相手識別アドレスは、『NAT装置2』について端末名『α1@vpn1.example.co.jp』に対応付けて記憶されているユーザ側アドレス『172.16.1.10』である。
同様に、『NAT装置2』について端末名『β1@vpn2.example.co.jp』に対応付けて記憶されているユーザ側アドレス『192.168.1.10』は、『β1@vpn2.example.co.jp』を端末名とする端末の拠点内アドレスである。また、『β1@vpn2.example.co.jp』の端末を通信相手とする他の拠点内で『β1@vpn2.example.co.jp』の端末を識別するために払い出された通信相手識別アドレスは、『NAT装置1』について端末名『β1@vpn2.example.co.jp』に対応付けて記憶されているユーザ側アドレス『172.16.2.10』である。
ここで、仮想ルータ名「vrf1」で識別されるVPN間接続に属する拠点は、端末名『α1@vpn1.example.co.jp』が属する拠点、及び、端末名『β1@vpn2.example.co.jp』が属する拠点である。これらの拠点は、それぞれ、接続先ID「UserA−Office」で識別される拠点、及び、接続先ID「UserB−Office」で識別される拠点であることは、VPN間接続情報記憶部121(図8に例示)を参照することなどによって判明する。
すると、例えば、DNS登録情報生成部137は、まず、VPN間接続に属する拠点のひとつとして、接続先ID「UserA−Office」で識別される拠点用のDNS登録情報を生成する。接続先ID「UserA−Office」で識別される拠点に属する端末名『α1@vpn1.example.co.jp』の端末にとって通信相手となる他拠点配下の端末は、端末名『β1@vpn2.example.co.jp』である。そこで、DNS登録情報生成部137は、拠点内で一意となる端末の名称として端末名『β1@vpn2.example.co.jp』を決定し、端末名『β1@vpn2.example.co.jp』と通信相手識別アドレス『172.16.2.10』との組から、DNS登録情報であるAレコード「β1 IN A 172.16.2.10」を生成する。
また、例えば、DNS登録情報生成部137は、VPN間接続に属する拠点のひとつとして、接続先ID「UserB−Office」で識別される拠点用のDNS登録情報を生成する。接続先ID「UserB−Office」で識別される拠点に属する端末名『β1@vpn2.example.co.jp』の端末にとって通信相手となる他拠点配下の端末は、端末名『α1@vpn1.example.co.jp』である。そこで、DNS登録情報生成部137は、拠点内で一意となる端末の名称として端末名『α1@vpn1.example.co.jp』を決定し、端末名『α1@vpn1.example.co.jp』と通信相手識別アドレス『172.16.1.10』との組からDNS登録情報であるAレコード「α1 IN A 172.16.1.10」を生成する。
そして、DNS登録情報生成部137は、拠点ごとに生成したDNS登録情報を拠点ごとにDNS登録情報記憶部126に格納する。例えば、図25に例示するように、DNS登録情報記憶部126は、接続先IDごとにAレコードを記憶する。
DNS登録部138は、通信相手識別アドレスと端末名との対応関係を示すDNS登録情報を、VPN間接続に属する拠点ごとにDNSに登録する。具体的には、DNS登録部138は、DNS登録情報生成部137によって生成されたDNS登録情報を広域ネットワークDNS装置に登録する。
例えば、DNS登録部138は、アドレス変換情報記憶部124(図22に例示)を定期的に参照し、現在時刻とサービス開始時刻とを比較して、DNS登録情報を設定すべきタイミングであるか否かを判定する。アドレス変換情報を設定すべきタイミングであれば、DNS登録情報を設定すべきタイミングであるからである。例えば、DNS登録部138は、現在時刻とサービス開始時刻『t1』とを比較して、DNS登録情報を設定すべきタイミングであるか否かを判定する。
次に、DNS登録部138は、DNS登録情報を設定すべきタイミングであると判定すると、DNS登録情報記憶部126を参照し、DNS登録情報を取得する。例えば、DNS登録部138は、図25に例示するDNS登録情報(Aレコード)を取得する。
そして、DNS登録部138は、例えば、DDNS(Dynamic DNS)などのプロトコルを利用して、広域ネットワークDNS装置に記憶されているゾーンファイルにDNS登録情報を登録する。なお、DDNS(Dynamic DNS)などのプロトコルに限られず、DNSソフトウェアのデータベースのつくりによって、例えば、sqlコマンド、Telnetログインなどを利用してもよい。もっとも、この場合には、広域ネットワークDNS装置において、ファイルの再読み込みや、DNSプロセスの再起動などが必要になる。そこで、再読み込みを指示するコマンドや、再起動を指示するコマンドを含むプログラムをアタッチメント記憶部127に予め格納しておき、DNS登録部138は、アタッチメント記憶部127に格納されたアタッチメントを用いて広域ネットワークDNS装置に登録情報を登録してもよい。なお、運用者などが直接ログインしファイルを書き換える等の方法により登録することは当然可能である。
削除部139は、VPN終端装置、NAT装置、集合仮想ルータ、及び広域ネットワークDNS装置に設定されたアドレス変換情報やルーティング情報、あるいはDNS登録情報を削除する。具体的には、削除部139は、タイマやポーリングなどによって定期的にアドレス変換情報記憶部124やルーティング情報記憶部125を参照し、VPN間接続サービスを終了する時刻であるか否かを判定する。サービス終了時刻であると判定すると、アタッチメント記憶部127を参照し、該当するVPN終端装置や集合仮想ルータ、あるいは広域ネットワークDNS装置のアタッチメント(削除用)を取得する。そして、削除部139は、該当するアタッチメントを用いて、該当するVPN終端装置や集合仮想ルータ、あるいは広域ネットワークDNS装置から設定情報やDNS登録情報を削除する。なお、実施例2における削除部139は、アドレス変換情報記憶部124やルーティング情報記憶部125に記憶されている予約情報なども削除する。
[実施例2に係るVPN間接続管理システムによる処理手順]
続いて、実施例2に係るVPN間接続管理システム100による処理手順を説明する。図30は、実施例2に係るVPN間接続管理システム100による処理手順を示すフローチャートであり、図31は、DNS登録の処理手順を示すフローチャートである。
図30に例示するように、実施例2に係るVPN間接続管理システム100は、仮想ルータを構築すべきタイミングであると判定すると(ステップS101肯定)、仮想ルータを構築する(ステップS102)。具体的には、仮想ルータ構築部132が、仮想ルータを構築する。
続いて、VPN間接続管理システム100は、変換用アドレスを決定し(ステップS103)、ルーティング情報を生成する(ステップS104)。具体的には、変換用アドレス決定部133が、変換用アドレスを決定し、ルーティング情報生成部135が、ルーティング情報を生成する。
そして、VPN間接続管理システム100は、アドレス変換情報及びルーティング情報を設定する(ステップS105)。具体的には、アドレス変換情報設定部134が、該当するNAT装置にアドレス変換情報を設定し、ルーティング情報設定部136が、該当する集合仮想ルータ及びVPN終端装置にルーティング情報を設定する。
ところで、図31に例示するように、VPN間接続管理システム100は、変換用アドレス(通信相手識別アドレス(第一アドレス)、及び第二アドレス)が決定されたか否かを判定している(ステップS201)。具体的には、DNS登録情報生成部137が、変換用アドレスが決定されたか否か(変換用アドレス決定部133から通知を受けたか否か)を判定している。
そして、DNS登録情報生成部137は、変換用アドレスが決定されたと判定すると(ステップS201肯定)、アドレス変換情報記憶部124を参照し(ステップS202)、該当するアドレス変換情報を取得する(ステップS203)。
続いて、DNS登録情報生成部137は、拠点内で一意となるように端末の名称を決定し、決定した端末の名称と通信相手識別アドレスとの組を、DNS登録情報としてVPN間接続に属する拠点ごとに生成する(ステップS204)。
次に、VPN間接続管理システム100は、拠点ごとに生成されたDNS登録情報を広域ネットワークDNS装置に設定する(ステップS205)。
このように、実施例2によれば、VPN間接続要求に応じて通信相手識別アドレスがオンデマンドに払い出されると、通信相手識別アドレスと端末の名称との対応関係を示すDNS登録情報を自動的にDNS1に登録する。このようなことから、利用者の負荷を軽減することが可能になる。また、実施例2によれば、広域ネットワークDNS装置に登録すべきDNS登録情報を拠点ごとに決定し、拠点ごとに広域ネットワークDNS装置に登録するので、広域ネットワークDNS装置側では、DNS登録情報を拠点ごとに管理することになる。すると、たとえ、ある端末を識別するためにVPN間接続システム100によって払い出された通信相手識別アドレスが拠点によって異なる場合であっても、広域ネットワークDNS装置は、どの拠点からの問い合わせであるか否かを判別することで、問い合わせ元の拠点に応じた正しい名前解決を行うことが可能になる。
[DNSの配置]
ところで、VPN間接続システムにおいては、DNSをどのように配置し、DNSの問い合わせ(Query)をどのように処理するかという点についても、課題となる。実施例2におけるVPN間接続システムにおいては、図5に例示したように、各拠点にDNS装置が設置され、広域ネットワークに広域ネットワークDNS装置が設置される。図32を用いて、実施例2におけるDNSの配置をより詳しく説明する。図32は、実施例2におけるDNSの配置を説明するための図である。
図32に例示するように、実施例2において、各拠点には、それぞれ、DNS装置が設置される。例えば、拠点1に設置されたDNS装置1は、拠点1内あるいはインターネット(図示を省略)上の名前解決を行う。また、広域ネットワークには、広域ネットワークDNS装置が設置される。そして、集合仮想ルータに『共用リソース用仮想ルータ』を設定し、全ての拠点と広域ネットワークDNS装置との間をVPN間接続する。なお、図32に例示するように、各拠点と広域ネットワークDNS装置との間にファイアウォールを設置し、ファイアウォールに、DNSの問い合わせ以外を通さない設定をする。
拠点1内の端末は、VPN間接続以外の名前解決についてはDNS装置1に問い合わせ、VPN間接続に関する名前解決については、広域ネットワークDNS装置に問い合わせる。具体的には、拠点1内の端末には、広域ネットワークドメインの名前解決については広域ネットワークDNS装置に問い合わせるように、検索条件が設定される。また、それ以外の名前解決については既存の検索条件を維持し、既存の検索順序で回送または再帰問い合わせを行うように、検索条件が設定される。なお、端末に対する設定は、拠点1に所属するユーザなどが実施する。
一方、拠点1に設置されたDNS装置1に対しても設定を行う。例えば、DNS装置1の「named.conf」ファイルのoptionsステートメントに、以下に示す追記(3行目)を行う。なお、以下において、iは、i=1、2、・・・、nである。また、DNS装置1に対する設定は、拠点1に所属するユーザなどが実施する。
zone“vpn_i.vpn.example.co.jp”{
type stub;
masters{dns@vpn.example.co.jpのIPアドレス;};
file“vpn_i.vpn.example.co.jp.zone”;
forwarders{ };
さて、上述したDNSの配置では、自拠点が所属しない協働空間(他のVPN間接続)についても名前解決できてしまうという課題がある。また、上述したDNSの配置では、自拠点に設置されたDNS装置に名前解決の結果がキャッシュされてしまうという課題がある。実施例2においては、これらの課題についても解消する。
まず、他のVPN間接続についても名前解決できてしまう課題を解消する手法について説明する。実施例2における広域ネットワークDNS装置は、上述したように、ZoneファイルをVPN間接続ごとに管理する。また、実施例2における広域ネットワークDNS装置は、ZoneファイルへのアクセスをACL(Access Control List)により制御する。共用リソース用仮想ルータに設定された各拠点配下の端末を識別するアドレスは、共用リソース用仮想ルータに設定されたアドレスの中で一意であるので、ACLによる制御が可能である。
例えば、所定のVPN間接続に関するZoneファイルについて、ACLに、当該Zoneファイルに記載されたDNS登録情報を公開することが許容された拠点に属する端末の通信相手識別アドレスを登録する。
例えば、ACLに、「access-list 101 permit ip 名前解決を許容する端末のアドレス x.x.x.x 広域ネットワークDNS装置のアドレス y.y.y.y」及び「access-list 101 deny ip any any」を登録する。前者は、名前解決を許容する端末から広域ネットワークDNS装置へのアクセスを許容することを記述している。このような記述を、アクセスを許容する端末の数分、記述する。ここで、「名前解決を許容する端末のアドレス」とは、NAT装置によってアドレス変換された後のアドレス(第二アドレス)である。また、後者は、広域ネットワークDNS装置へのアクセスを許容する端末のアドレス以外からの全てのアクセスを拒否(deny)することを記述している。なお、ACLの記述手法は上記に限られるものではなく、ACLを設定する機器に応じて任意に変更できる。
そして、広域ネットワークDNS装置は、DNS問い合わせの送信元アドレスを抽出し、抽出した送信元アドレスが、問い合わせ先のZoneファイルに記載されたDNS登録情報を公開することが許容された拠点に属する端末として登録されたアドレスであるか否かを判定すればよい。
もっとも、例えば、VPN間接続に所属するユーザに応じてアクセスが許容されるサーバが異なるなど、解決することが許容される名前、解決することが許容されない名前がユーザごとに規定される場合もある。言い換えると、ユーザレベルの制御が求められる場合である。なお、名前解決できてしまったとしても、ファイアウォールでアクセスできないようにフィルタリングされているなどすれば、セキュリティ上の問題は生じないと考えられる。
このような場合には、DNSプロキシ(Proxy)やDPI(Deep Packet Inspection)などの技術を用いる。図33及び図34は、ユーザレベルの制御を説明するための図である。
例えば、図33に例示する手法は、拠点に設置されたDNS装置と、広域ネットワークDNS装置との間に、DNSプロキシを設置する手法であり、フィルタリング機能の一種である。例えば、VPNをユーザ側で終端するHGW(Home GateWay)や、VPNを広域ネットワーク側で終端するVPN終端装置に、DNSプロキシの機能を実装すればよい。
DNSプロキシは、拠点の端末から送信された問い合わせ(Query)を解析し、問い合わせの送信元及び問い合わせの対象名を用いて、アクセスが許容されているか否かを判定し、許容されていない場合には、エラー応答を行う。
すなわち、図33に例示するように、端末が、名前解決の問い合わせを送信すると、端末によって送信された問い合わせは、DNSプロキシによって受信される(図33の(1)を参照)。DNSプロキシは、広域ネットワークドメイン以外の名前を問い合わせるものである場合には、拠点に設置されたDNS装置に問い合わせを転送する(図33の(2)を参照)。
一方、DNSプロキシは、広域ネットワークドメインの名前を問い合わせるものである場合には、広域ネットワークDNS装置に問い合わせを転送する(図33の(3)を参照)。もっとも、DNSプロキシは、問い合わせの送信元及び問い合わせの対象名を用いて、アクセスが許容されているか否かを判定し、許容されていない場合には、エラー応答を行うことも可能である。なお、DNSプロキシに、ユーザレベルのアクセス許容情報が予め登録されている必要がある。この登録は、例えば上記ACLと同様の記述が、例えばVPN間接続サービスの契約時などに行われればよい。
一方、例えば、図34に例示する手法は、広域ネットワークDNS装置自体に、上記DNSプロキシと同様の判定を行わせる手法である。広域ネットワークDNS装置が、拠点の端末から送信された問い合わせ(Query)を解析し、問い合わせの送信元及び問い合わせの対象名を用いて、アクセスが許容されているか否かを判定し、許容されていない場合には、エラー応答を行う。
すなわち、図34に例示するように、端末が、名前解決の問い合わせを送信すると(図34の(1)を参照)、端末によって送信された問い合わせは、まず、拠点に設置されたDNS装置によって受信される(図34の(2)を参照)。
DNS装置は、広域ネットワークドメインの名前を問い合わせるものである場合には、広域ネットワークDNS装置に問い合わせを転送する(図34の(3)を参照)。すると、広域ネットワークDNS装置は、問い合わせの送信元及び問い合わせの対象名を用いて、アクセスが許容されているか否かを判定し、許容されていない場合には、エラー応答を行う。
なお、広域ネットワークDNS装置に、ユーザレベルのアクセス許容情報が予め登録されている必要がある。この登録は、例えば上記ACLと同様の記述が、例えばVPN間接続サービスの契約時などに行われればよい。あるいは、企業のVPN間接続の管理者などが、ユーザ用のWebサーバから、どのユーザがどの仮想ルータにアクセスしてよいか、どのユーザが他のVPNからのアクセスを許容してよいかを登録してもよい。VPN間接続管理システム100は、情報が登録されたタイミングやその他任意のタイミングで、広域ネットワークDNS装置に登録すればよい。
次に、DNS装置に名前解決の結果がキャッシュされてしまう課題を解消する手法について説明する。実施例2におけるDNS装置は、TTL(Time To Live)を短く設定するか、毎回、広域ネットワークドメインの登録情報をキャッシュからクリアする機能を実装するか、いずれかの手法を実装すればよい。なお、決定のドメインの登録情報をキャッシュからクリアする機能は、公知技術を用いればよい。
なお、実施例2においては、広域ネットワークDNS装置に相当するDNSの機能や、DNSとの間のI/F数などを、拠点や仮想ルータごとに分割するのではなく共用化することで節約し、コスト削減も実現する。また、時間的に生成消滅する(動的な)仮想ルータごとではなく、静的に存在している拠点ごとにゾーンファイルを割り当てることで、静的にDNSを実現できているといえる。
また、サーバ仮想化技術を用いることにより、一つのハードウェアを仮想的に複数に見せることができるので、この仮想化技術を利用して、広域ネットワークDNS装置を仮想的に拠点の数と同じ数に見せ、それぞれの仮想化されたDNS装置を、拠点ごとに用意した仮想ルータに収容する構成としてもよい。すなわち、例えば実施例2では、全拠点一つの共有リソース用仮想ルータ−一台の広域ネットワークDNS装置という対応関係であったが、仮想化することにより、一つの拠点−一つの仮想ルータ−一つの仮想DNS装置という対応関係を、拠点の数だけ構成してもよい。
また、実施例2においては、上述したように、DNSの配置に伴い、ファイアウォールの設定やACLの登録など各種設定を行ったが、これらの情報の登録や削除は、例えば、広域ネットワークDNS装置に登録情報を登録するタイミング、削除するタイミングで行ってもよい。すなわち、実施例2においては、DNS登録部138が、登録情報を設定すべきタイミングであると判定すると、広域ネットワークDNS装置に登録情報を登録し、削除部139が、VPN間接続サービスを終了する時刻であると判定すると、広域ネットワークDNS装置から登録情報を削除するなどした。そこで、同様に、例えばDNS登録部138や削除部139が、ファイアウォールの設定やACLなどの登録や削除も、広域ネットワークDNS装置に登録情報を設定すべきタイミングや、広域ネットワークDNS装置から登録情報を削除するタイミングで、該当する機器に対して行ってもよい。
[実施例2の効果]
上述したように、実施例2によれば、DNS登録情報生成部137が、VPN間接続要求に応じて、通信相手となる他拠点配下の端末を拠点内で識別するための通信相手識別アドレスがVPN間接続に属する拠点ごとに払い出されると、拠点内で一意となるように端末の名称を決定し、決定した端末の名称と通信相手識別アドレスとの組を、DNS登録情報としてVPN間接続に属する拠点ごとに生成する。また、DNS登録部138が、DNS登録情報生成部137によって生成されたDNS登録情報を、VPN間接続に属する拠点ごとに広域ネットワークDNS装置に登録する。
アドレス変換情報は、VPN間接続ごとに変化し、仮に同じVPN間接続でも、一度終了した後、再度行う場合には、変化してしまう可能性がある。このため、名前解決におけるアドレス−端末名の対応関係も変化する。したがって、上記変化を吸収するように、DNS登録もアドレス変換に応じて変える方法が必要である。
この点、実施例2によれば、VPN間接続要求に応じて通信相手識別アドレスが払い出されると、VPN間接続管理システム100が、端末の名称と通信相手識別アドレスとの組を自動的に広域ネットワークDNS装置に登録するので、管理者の負荷を軽減することが可能になる。すなわち、決定されたアドレス変換情報を用いて、その都度、DNSへのエントリの登録、削除を自動的に行うことにより、DNSの名前解決が、人手を介さずに自動的に可能となる。
また、実施例2によれば、広域ネットワークDNS装置は、通信相手識別アドレスと端末の名称との対応関係を示すDNS登録情報を拠点ごとに管理し、対応関係を名前解決するための問い合わせを各拠点から受け付ける。そして、広域ネットワークDNS装置は、問い合わせ元の拠点を識別し、該拠点による問い合わせが許容されているか否かに応じて名前解決を行う。
また、実施例2によれば、広域ネットワークDNS装置は、問い合わせ元の拠点を識別するとともに問い合わせ元の端末を識別し、該拠点の該端末による問い合わせが許容されているか否かに応じて名前解決を行う。
このようなことから、実施例2によれば、DNS応答において、拠点レベル、ユーザレベルによる制御が可能になる。
すなわち、上述したVPN間接続システムにおいては、他拠点に所属する端末の名称をDNSで解決して当該端末のアドレスを取得し、接続することになる。ここで、DNSのZoneファイルは、基本的には拠点毎に構成されるが、その結果、一つの拠点内の全端末からアドレス問い合わせが可能になる。一方、管理者には、セキュリティ上の要請から、他の拠点へアクセスできるユーザ(端末)(および、他の拠点からのアクセスを許容するユーザ(端末))を制限したいという要望がある。ファイアウォールで許容されているユーザ以外はアクセスを制限する方法や、許容されているユーザ向けのルーティング以外は設定しないという手法で、この制限を実現することが可能である。しかしながら、他の拠点へのアクセスを許容されていないユーザに対しては、接続相手の端末の名称が分かっていても、そのアドレスを教えないということが、セキュリティ上より入念な方法といえる。そこで、DNSへの名前解決要求に対し回答する又は回答しないといった制限を、上記アクセスを許容するユーザ以外には行うという手法を、DNSへの登録とセットで実行することが合理的である。