JP2007295024A - サーバ判定装置、方法およびプログラム - Google Patents
サーバ判定装置、方法およびプログラム Download PDFInfo
- Publication number
- JP2007295024A JP2007295024A JP2006117040A JP2006117040A JP2007295024A JP 2007295024 A JP2007295024 A JP 2007295024A JP 2006117040 A JP2006117040 A JP 2006117040A JP 2006117040 A JP2006117040 A JP 2006117040A JP 2007295024 A JP2007295024 A JP 2007295024A
- Authority
- JP
- Japan
- Prior art keywords
- dns
- address
- server
- acquired
- determined
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】利便性を高くする。
【解決手段】ネットワークに接続した場合にVPN接続しているかどうかを判定する手段704と、接続先ネットワークから提供されるDNSサーバのアドレス、接続先ネットワークのIPアドレスを取得する手段705と、VPN接続していると判定された場合にアドレスが取得されたDNSサーバに対しIPアドレスの逆引きが可能かどうかを判定する手段702,703と、利用することが可能なDNSサーバのアドレスを含むリスト701と、逆引きが可能であると判定された場合にリスト701に含まれているDNSサーバのいずれか1つに対しIPアドレスの逆引きが可能かどうかを判定する手段702,703と、DNSサーバのいずれか1つに対し逆引きが可能でないと判定された場合に、取得されたDNSサーバのアドレスをリスト701に付加する手段702と、を具備する。
【選択図】図7
【解決手段】ネットワークに接続した場合にVPN接続しているかどうかを判定する手段704と、接続先ネットワークから提供されるDNSサーバのアドレス、接続先ネットワークのIPアドレスを取得する手段705と、VPN接続していると判定された場合にアドレスが取得されたDNSサーバに対しIPアドレスの逆引きが可能かどうかを判定する手段702,703と、利用することが可能なDNSサーバのアドレスを含むリスト701と、逆引きが可能であると判定された場合にリスト701に含まれているDNSサーバのいずれか1つに対しIPアドレスの逆引きが可能かどうかを判定する手段702,703と、DNSサーバのいずれか1つに対し逆引きが可能でないと判定された場合に、取得されたDNSサーバのアドレスをリスト701に付加する手段702と、を具備する。
【選択図】図7
Description
本発明は、VPN(Virtual Private Network)接続をする場合に、複数の名前解決サーバであるDNS(Domain Name System)サーバのうちのどのDNSサーバを使用しているかを判定するサーバ判定装置、方法およびプログラムに関する。
遠隔地にある拠点間を接続する形態の一つとしてVPNとよばれる技術がある。VPNは、通常、遠隔地にある拠点同士は別のネットワークになるところを、上位レイヤで、例えば、レイヤ2のフレームやレイヤ3のパケットをカプセル化して転送し、遠隔地にレイヤ2のフレームやレイヤ3のパケットをそのまま転送することで、結果的に一つの、仮想的なレイヤ2のネットワーク、または、仮想的なレイヤ3のネットワークに見せる技術である。この技術により、管理者はネットワークの設計やポリシの統一が容易になり負担が減り、ユーザはどこでも同じネットワークに属する恩恵を得ることが可能になる。
近年ブロードバンド環境の普及によりビジネス用途のVPN接続だけでなく、一般ユーザが簡易にVPN接続できるようになって来ている。VPN接続は、例えば、遠隔からの宅内機器制御(例えば、録画予約、エアコンの制御)に使用されている。
VPNを使用しない場合、一般ユーザは、ノートパソコン、PDAを持ち出したりして外部のネットワーク接続サービスを利用するときには、この接続サービスでDHCP(Dynamic Host Configuration Protocol動的ホスト構成プロトコル)などによって提供される設定(IP(Internet Protocol)アドレス、デフォルトルート、DNSサーバなど)をそのまま使用すればよい。
VPNを使用しない場合、一般ユーザは、ノートパソコン、PDAを持ち出したりして外部のネットワーク接続サービスを利用するときには、この接続サービスでDHCP(Dynamic Host Configuration Protocol動的ホスト構成プロトコル)などによって提供される設定(IP(Internet Protocol)アドレス、デフォルトルート、DNSサーバなど)をそのまま使用すればよい。
しかし、VPN接続をしたときには、既に提供されているDNSサーバの情報に加え、VPN接続先で提供されるDNSサーバも使用できることになる。通常、Windows(登録商標)などのOSでは、既に提供されているDNSサーバと、VPN接続先で提供されるDNSサーバとを区別することはない。これらのDNSサーバを区別しないことが場合によっては通信に齟齬をきたす原因となることが知られている。
問題が発生するケースとしては、例えば、あるDNSサーバでしか解決できない名前情報がある場合や、複数のDNSサーバを知っている場合に、問い合わせを行う順序によっては名前の解決に時間がかかる場合である。
これを解決するためには、複数のDNSサーバの情報がある場合に、優先順位や接続先に応じて問い合わせを行うDNSサーバを切り替え使えるためのリストを保持することができればよい。実際そういった情報が与えられている場合には、接続先に応じてDNSサーバへの問合せ先を変更することができるルータの実装などが存在する(例えば、非特許文献1、2参照)。
[平成18年3月31日検索]、インターネット<http://www.aconus.com/~oyaji/router/2isp_routing.htm> [平成18年3月31日検索]、インターネット<http://www.ntt-me.co.jp/bar/ba8kp_detail.html#07>
[平成18年3月31日検索]、インターネット<http://www.aconus.com/~oyaji/router/2isp_routing.htm> [平成18年3月31日検索]、インターネット<http://www.ntt-me.co.jp/bar/ba8kp_detail.html#07>
しかし、これらの情報はあらかじめ与えられている必要があり、自動的にこれらを与えることができないため一般のユーザには利便性が低い。
この発明は、上述した事情を考慮してなされたものであり、一般のユーザにとって利便性が高いサーバ判定装置、方法およびプログラムを提供することを目的とする。
上述の課題を解決するため、本発明のサーバ判定装置は、ネットワークに接続した場合に、VPN(Virtual Private Network)接続しているかどうかを判定する第1判定手段と、接続先のネットワークから提供されるDNS(Domain Name System)サーバのアドレスと、接続先のネットワークのIP(Internet Protocol)アドレスとを取得する取得手段と、前記第1判定手段でVPN接続していると判定された場合に、前記アドレスが取得されたDNSサーバに対して、前記取得されたIPアドレスの逆引きが可能かどうかを判定する第2判定手段と、利用することが可能なDNSサーバのアドレスを含むDNS利用リストと、前記第2判定手段で逆引きが可能であると判定された場合に、前記DNS利用リストに含まれているDNSサーバのいずれか1つに対して前記取得されたIPアドレスの逆引きが可能かどうかを判定する第3判定手段と、前記第3判定手段で逆引きが可能でないと判定された場合に、前記取得されたDNSサーバのアドレスを前記DNS利用リストに付加する付加手段と、を具備することを特徴とする。
また、本発明のサーバ判定装置は、ネットワークに接続した場合に、VPN接続しているかどうかを判定する第1判定手段と、接続先のネットワークから提供されるDNSサーバのアドレスと、接続先のドメイン名とを取得する取得手段と、前記第1判定手段でVPN接続していると判定された場合に、前記アドレスが取得されたDNSサーバに、前記取得されたドメイン名のDNSサーバが問い合わせることが可能かどうかを判定する第2判定手段と、利用することが可能なDNSサーバのアドレスを含むDNS利用リストと、前記第2判定手段で問い合わせることが可能であると判定された場合に、前記DNS利用リストに含まれているDNSサーバと、前記取得されたドメイン名のDNSサーバとが同一であるかどうかを判定する第3判定手段と、前記第3判定手段で同一でないと判定された場合に、前記アドレスが取得されたDNSサーバのアドレスを前記DNS利用リストに付加する付加手段と、を具備することを特徴とする。
本発明のサーバ判定装置、方法およびプログラムによれば、一般のユーザにとって利便性を高くすることができる。
以下、図面を参照しながら本発明の実施形態に係るサーバ判定装置、方法およびプログラムについて詳細に説明する。
まず、本発明の実施形態の理解を助けるために、現在の問題点について図1から図6を参照して詳細に説明する。
(VPNクライアントのDNSに関連する問題)図1、図2
VPNは、遠隔にある計算機をあたかも、同一のリンクやネットワークに存在するように接続するための技術であると言える。管理者が適切にVPNを運用し、図1のようにユーザに対してその存在を隠すような運用をしている場合は、ユーザは特にVPNのための設定をする必要は無い。一方、図2のようにユーザがVPN接続を行う場合は、VPN接続先の遠隔のネットワークで提供するサービス(例えば、名前解決サーバ(DNSサーバ)やルータ)の情報を取得しなくてはならない。
まず、本発明の実施形態の理解を助けるために、現在の問題点について図1から図6を参照して詳細に説明する。
(VPNクライアントのDNSに関連する問題)図1、図2
VPNは、遠隔にある計算機をあたかも、同一のリンクやネットワークに存在するように接続するための技術であると言える。管理者が適切にVPNを運用し、図1のようにユーザに対してその存在を隠すような運用をしている場合は、ユーザは特にVPNのための設定をする必要は無い。一方、図2のようにユーザがVPN接続を行う場合は、VPN接続先の遠隔のネットワークで提供するサービス(例えば、名前解決サーバ(DNSサーバ)やルータ)の情報を取得しなくてはならない。
名前解決サーバについての情報が無い場合、そのネットワークのノードにアクセスを行うためには、IPアドレスを直接指定しなくてはならない。また、ルータについての情報が無い場合、そのネットワークの先に接続されているネットワークへの到達性を確保するためにルータについての情報を取得する必要がある。これらは、通常DHCPのような動的な設定手段やVPNを行うソフトウェア(例えば、pptp、ppp、その他商用ソフトウェア)やOSでの静的な設定によって解決をしている。
しかし、VPN接続先のネットワークの構成によっては、DHCPのような動的な設定手順を行って名前解決サーバをVPN接続先のネットワークから取得することがむしろ混乱を招くケースがある(ケース1)。また、VPN接続を用いて安全な通信路を確保しようとしても、元々属している名前解決サーバに混乱させられるケースもある(ケース2)。これらは、VPN接続先のネットワークに存在する名前解決サーバと元々属していたネットワークの名前解決サーバの保持している情報や解決できる情報が違うことがあるために起因する。ケース1の場合については図3、図4を参照して説明する。ケース2の場合については図5、図6を参照して説明する。なお、図4と図5は同一である。
(1)ケース1 図3、図4
図3に示すように、Host CがRouter AとVPN接続を行い、Host CがHost A、Host Bの属するネットワークに参加するとする。ネットワークが宅内で構築されるような、小規模なネットワークの場合、Host A、Host Bの属するネットワークには、名前解決サーバが存在しない場合が多い。これは下記の2つの理由による。
・宅内に構築されるようなネットワークには名前解決サーバを運用するような管理人が居ない(名前解決サーバの管理を行うにはネットワークのスキルを比較的要求する)。
・小規模ネットワーク向けに名前解決サーバを使わないで名前解決を行う方法がある(NetBIOS(NetBEUI(登録商標)、NetBT(登録商標))、UPnP(登録商標)、Bonjour(登録商標)(旧称Rendezvous(登録商標))などは小規模ネットワーク向けの名前解決のみでインターネット全体の名前解決は行わない。名前解決サーバはISP(Internet service provider)が提供するものを使用するだけで十分となるためである)。
図3に示すように、Host CがRouter AとVPN接続を行い、Host CがHost A、Host Bの属するネットワークに参加するとする。ネットワークが宅内で構築されるような、小規模なネットワークの場合、Host A、Host Bの属するネットワークには、名前解決サーバが存在しない場合が多い。これは下記の2つの理由による。
・宅内に構築されるようなネットワークには名前解決サーバを運用するような管理人が居ない(名前解決サーバの管理を行うにはネットワークのスキルを比較的要求する)。
・小規模ネットワーク向けに名前解決サーバを使わないで名前解決を行う方法がある(NetBIOS(NetBEUI(登録商標)、NetBT(登録商標))、UPnP(登録商標)、Bonjour(登録商標)(旧称Rendezvous(登録商標))などは小規模ネットワーク向けの名前解決のみでインターネット全体の名前解決は行わない。名前解決サーバはISP(Internet service provider)が提供するものを使用するだけで十分となるためである)。
Host A、Host Bは、名前解決サーバDNS Aの情報をDHCPやその他の手段で取得することで、インターネット上のホスト名の解決を行う。しかし、VPN接続しているHost Cは、既に元々属しているネットワークで、名前解決サーバDNS Bの情報を取得しているので、名前解決サーバDNS Aの情報は必要なく、むしろDNS Bの情報を取得することで名前解決サーバの情報が複数になり管理のコストがかかることになる。
しかし、単純に名前解決サーバの情報をもらわなければ良いのかというと、そうではなく、図4のような構成で、名前解決サーバDNS CがHost A、Host Bの名前を解決するために存在している場合にはHost Cは名前解決サーバDNS Cの情報を取得する必要がある。つまり、VPN接続するHost Cは、VPN接続したネットワークから名前解決サーバの情報を取得するときに、その名前解決サーバの情報が必要かどうかを判断することが必要になる。
(2)ケース2 図5、図6
図5に示すように、Host CがRouter AとVPN接続を行い、Host A、Host Bの属するネットワークに参加するとする。このとき、Host Cの属するネットワークに存在する名前解決サーバDNS Bを使用したくないというケースが存在する。不特定多数の端末が接続できるような環境下では、名前解決サーバも信用したくないケースがあるからである。例えば、名前解決サーバを詐称するような攻撃の場合である。このような攻撃は実際に存在する。名前解決の結果が信用できないとすると、接続している相手との通信も信用できないことになるため、信用できない名前解決サーバを使いたくないという要求はある。
図5に示すように、Host CがRouter AとVPN接続を行い、Host A、Host Bの属するネットワークに参加するとする。このとき、Host Cの属するネットワークに存在する名前解決サーバDNS Bを使用したくないというケースが存在する。不特定多数の端末が接続できるような環境下では、名前解決サーバも信用したくないケースがあるからである。例えば、名前解決サーバを詐称するような攻撃の場合である。このような攻撃は実際に存在する。名前解決の結果が信用できないとすると、接続している相手との通信も信用できないことになるため、信用できない名前解決サーバを使いたくないという要求はある。
このような場合、Host CとRouter AとのVPN接続は、名前解決サーバDNS Bに頼らずおこなわなければならない。このためには少なくともHost CはRouter AのIPアドレスを知っているか、別の手段で与えられなければならない。また、名前解決サーバDNS BをDHCPなどの手段で提供されても、使用しないという判断が必要になる。一方、VPN接続した先のネットワークを信用するとする場合には、図6に示すようにVPN接続したネットワークで提供される名前解決サーバについては、DHCPなどの手段で提供される場合、それを使用するという判断が必要になる。つまり、VPN接続するHost Cは、VPN接続したネットワークから名前解決サーバの情報を取得するときに、その名前解決サーバの情報が必要かどうかを判断することが必要になる。
次に、名前解決サーバの形態について説明する。名前解決サーバは以下のように様々な形態で提供されるので、単純なIPアドレスの空間の比較や、プライベートアドレスの使用の有無だけでは判断できない。よって、これらの形態を考慮した高度な判断が必要になる。
・ISPが提供する名前解決サーバのアドレスをそのままDHCPなどの手段で提供する形態
・ISPが提供する名前解決サーバを、ISPと接続をしているRouterが単純に肩代わり(DNS proxy)して提供する形態
・ISPが提供する名前解決サーバとは別に内部ネットワークの名前解決も含む独立した名前解決サーバを提供する形態
・ISPが提供する名前解決サーバとは別に内部ネットワークの名前解決のみを行う名前解決サーバを提供する形態
次に、本発明の実施形態に係るサーバ判定装置について図7を参照して説明する。
本実施形態のサーバ判定装置は、図7に示すように、DNSテーブル701、DNS取捨選択部702、アドレス情報取得部705、ネットワーク接続部706を備えている。DNS取捨選択部702は、DNS問い合わせ部703、VPN接続判定部704を含んでいる。ネットワーク接続部706は、ネットワークドライバ707、VPN制御部708を含んでいる。以下、既に説明した装置部分と同様なものは同一の番号を付してその説明を省略する。
・ISPが提供する名前解決サーバのアドレスをそのままDHCPなどの手段で提供する形態
・ISPが提供する名前解決サーバを、ISPと接続をしているRouterが単純に肩代わり(DNS proxy)して提供する形態
・ISPが提供する名前解決サーバとは別に内部ネットワークの名前解決も含む独立した名前解決サーバを提供する形態
・ISPが提供する名前解決サーバとは別に内部ネットワークの名前解決のみを行う名前解決サーバを提供する形態
次に、本発明の実施形態に係るサーバ判定装置について図7を参照して説明する。
本実施形態のサーバ判定装置は、図7に示すように、DNSテーブル701、DNS取捨選択部702、アドレス情報取得部705、ネットワーク接続部706を備えている。DNS取捨選択部702は、DNS問い合わせ部703、VPN接続判定部704を含んでいる。ネットワーク接続部706は、ネットワークドライバ707、VPN制御部708を含んでいる。以下、既に説明した装置部分と同様なものは同一の番号を付してその説明を省略する。
DNSテーブル701は、利用することが可能な名前解決サーバのアドレスのリストを格納する。ここで格納している名前解決サーバは名前解決に使用される。また、名前解決サーバのリストは、名前解決サーバに対する優先順位、問い合わせを行う際に用いるネットワークインターフェース、問い合わせの際に優先的に問い合わせを行うアドレス空間、ドメイン名の情報を有する。
DNS取捨選択部702は、名前解決サーバの選択の判定を行い、判定結果をもとにDNSテーブル701の更新を行う。VPN接続判定部704がVPN接続であると判定した場合に、DNS取捨選択部702は、既にDNSテーブル701に名前解決サーバが存在するかどうかを判定する。VPN接続判定部704がVPN接続でないと判定した場合に、DNS取捨選択部702は、VPN接続でないローカルなDNSを使用するかどうかを判定する。
DNS問い合わせ部703は、アドレス情報取得部705でアドレスが得られた名前解決サーバに対してDNSの逆引き、ネームサーバ(DNSサーバの別称)が存在するかどうかの確認を行う。DNSサーバに対しての逆引きについては後に図11から図14を参照して説明する。
VPN接続判定部704は、判定をしようとする名前解決サーバの情報を取得した先のネットワークがVPN接続かどうかを、ネットワーク接続部706に問い合わせ、確認する。
DNS問い合わせ部703は、アドレス情報取得部705でアドレスが得られた名前解決サーバに対してDNSの逆引き、ネームサーバ(DNSサーバの別称)が存在するかどうかの確認を行う。DNSサーバに対しての逆引きについては後に図11から図14を参照して説明する。
VPN接続判定部704は、判定をしようとする名前解決サーバの情報を取得した先のネットワークがVPN接続かどうかを、ネットワーク接続部706に問い合わせ、確認する。
アドレス情報取得部705は、ネットワークに接続した際に、IPアドレス、経路情報、名前解決サーバのアドレス、ドメインの情報を取得し、これらを取得したネットワークインターフェースごとに格納し設定する。
ネットワーク接続部706は、アプリケーションやOSに対してネットワーク接続環境を提供する。ネットワーク接続部706は、VPN接続、または、通常接続(VPN接続でない接続)によりネットワークに接続する。
ネットワークドライバ707は、ネットワークに物理的に接続した際に、アプリケーションやOSに対してネットワーク接続環境(ネットワークインターフェース)を提供する。
VPN制御部708は、VPN接続を行い、物理的にネットワークに接続しているようにアプリケーションやOSにみせ、ネットワーク接続環境(ネットワークインターフェース)を提供する。
ネットワークドライバ707は、ネットワークに物理的に接続した際に、アプリケーションやOSに対してネットワーク接続環境(ネットワークインターフェース)を提供する。
VPN制御部708は、VPN接続を行い、物理的にネットワークに接続しているようにアプリケーションやOSにみせ、ネットワーク接続環境(ネットワークインターフェース)を提供する。
次に、図7のサーバ判定装置の動作の具体的な一例について図8を参照して説明する。
1.Host Cがネットワークドライバ707によってネットワークに接続する。
2.Host Cのアドレス情報取得部705が、ネットワークドライバ707のネットワークインターフェース(IFa)を経由してIPアドレス(IPa)、経路情報(ROUTEa)、名前解決サーバ(DNSa:ここではDNS Bに相当)、ドメイン(DOMAINa)の情報を取得する。
3.Host CのVPN接続判定部704がVPN接続でないことを確認する。
4.Host CのDNS取捨選択部702はローカルなDNSを使用するかどうかの設定を確認し、設定に基づきDNSテーブル701を更新する(名前解決サーバDNSaの情報をDNSテーブル701に入れる)。
5.Host CがVPN制御部708によってネットワークに接続する。図8の例ではVPN接続の先はRouter Aとする。
6.Host Cのアドレス情報取得部705がVPN制御部708のネットワークインターフェース(IFaa)を経由してIPアドレス(IPaa)、経路情報(ROUTEaa)、名前解決サーバ(DNSaa:ここではDNS Aに相当)、ドメイン(DOMAINaa)の情報を取得する。
7.Host CのVPN接続判定部704はVPN接続であることを確認する。
1.Host Cがネットワークドライバ707によってネットワークに接続する。
2.Host Cのアドレス情報取得部705が、ネットワークドライバ707のネットワークインターフェース(IFa)を経由してIPアドレス(IPa)、経路情報(ROUTEa)、名前解決サーバ(DNSa:ここではDNS Bに相当)、ドメイン(DOMAINa)の情報を取得する。
3.Host CのVPN接続判定部704がVPN接続でないことを確認する。
4.Host CのDNS取捨選択部702はローカルなDNSを使用するかどうかの設定を確認し、設定に基づきDNSテーブル701を更新する(名前解決サーバDNSaの情報をDNSテーブル701に入れる)。
5.Host CがVPN制御部708によってネットワークに接続する。図8の例ではVPN接続の先はRouter Aとする。
6.Host Cのアドレス情報取得部705がVPN制御部708のネットワークインターフェース(IFaa)を経由してIPアドレス(IPaa)、経路情報(ROUTEaa)、名前解決サーバ(DNSaa:ここではDNS Aに相当)、ドメイン(DOMAINaa)の情報を取得する。
7.Host CのVPN接続判定部704はVPN接続であることを確認する。
8.Host CのDNS問い合わせ部703はDNSテーブル701に名前解決サーバDNSxsが存在するかどうかの確認を行う。名前解決サーバDNSxsが存在しない場合は、DNS取捨選択部702が無条件で取得した名前解決サーバの情報をDNSテーブル701に入れる。この例では、名前解決サーバDNSaaの情報をDNSテーブル701に入れる。名前解決サーバDNSxsが存在する場合は、DNS問い合わせ部703が、取得した名前解決サーバDNSaaに対して同じく取得したIPアドレスIPaaの逆引きを行う。
9.逆引きが失敗する場合、名前解決サーバDNSaaはIPアドレスIPaaの名前を管理していないとして、DNSテーブル701の更新を行わず終了する。逆引きが成功する場合、名前解決サーバDNSxsを用いて同様にIPアドレスIPaaの逆引きを繰り返し行い、成功しかつ名前解決サーバDNSaaがIPaaについて返す結果と同じケースがある場合にはDNSテーブル701の更新を行わずに終了する。その他の場合には、DNSテーブル701に名前解決サーバDNSaaとIPアドレスIPaaを含むネットワークの範囲とネットワークインターフェースIFaaを関連付けて入れる。
10.ドメイン(DOMAINaa)の情報を取得している場合は、DNS問い合わせ部703が名前解決サーバDNSaaに対してDOMAINaaのネームサーバかを問い合わせ可能かどうかの確認を行う。DOMAINaaのネームサーバが見つからない場合、DNSテーブル701を更新せず終了する。
11.ネームサーバが見つかる場合、名前解決サーバDNSxsを用いて同様にドメインDOMAINaaのネームサーバを問い合わせ、成功しかつ名前解決サーバDNSaaがドメインDOMAINaaについて返す結果と同じケースがある場合にはDNSテーブル701の更新を行わずに終了する。その他の場合には、DNSテーブル701に名前解決サーバDNSaaとドメインDOMAINaaとネットワークインターフェースIFaaを関連付けて格納する。
次に、ネットワークにVPN接続する場合と、ネットワークにVPN接続でなく通常に接続する場合とにわけて、それぞれのフローチャートについて図9、図10を参照して説明する。
名前解決サーバの情報が必要かどうかを判断するということは、接続しているネットワーク(VPN接続先も含む)から提供された名前解決サーバが処理を行うかどうかを判断するということである。
名前解決サーバの情報が必要かどうかを判断するということは、接続しているネットワーク(VPN接続先も含む)から提供された名前解決サーバが処理を行うかどうかを判断するということである。
ネットワークにVPN接続でなく通常に接続する場合(ステップS901)には、アドレス情報取得部705が、接続先のネットワークから、IPアドレスIPa、経路情報ROUTEa(アドレス)を取得し設定する(ステップS902)。また、アドレス情報取得部705が、接続先のネットワークから、名前解決サーバDNSaのアドレス、ドメイン名DOMAINaのドメイン名を取得する(ステップS902)。
DNS取捨選択部702が、既にDNSテーブル701に名前解決サーバDNSxsが存在するかどうかを判定する(ステップS903)。ステップS903で名前解決サーバDNSxsが存在する場合には、DNS取捨選択部702が、DNS問い合わせ部703が名前解決サーバDNSaに対しIPアドレスIPaの逆引きが可能であるかどうかを判定する(ステップS904)。逆引きが可能であると判定された場合には、DNS取捨選択部702が、DNS問い合わせ部703が名前解決サーバDNSxsでIPアドレスIPaの逆引きが可能であるかどうかを判定する(ステップS905)。
ステップS903で名前解決サーバDNSxsが存在しないと判定された場合には、DNS取捨選択部702が、名前解決サーバDNSaをDNSテーブル701のリストに加える(ステップS906)。ステップS904でIPアドレスIPaの逆引きが可能でないと判定された場合には、DNS取捨選択部702が、名前解決サーバDNSaをDNSテーブル701のリストに加えない(ステップS907)。
ステップS905でIPアドレスIPaの逆引きが可能でないと判定された場合には、DNS取捨選択部702が、IPアドレスIPaのアドレス空間の名前を解決するときに名前解決サーバDNSaを優先的に使用するように、名前解決サーバDNSaをDNSテーブル701のリストに加える(ステップS908)。
次に、DNS取捨選択部702が、DNS問い合わせ部703が名前解決サーバDNSaにドメイン名DOMAINaのネームサーバが問い合わせ可能であるかどうかを判定する(ステップS909)。ネームサーバが問い合わせ可能であると判定された場合には、DNS取捨選択部702が、DNS問い合わせ部703がDNSテーブル701に存在する名前解決サーバDNSxsにドメイン名DOMAINaのネームサーバを問い合わせ、DNSxsとこのネームサーバとが同一であるかどうかを判定する(ステップS910)。
次に、DNS取捨選択部702が、DNS問い合わせ部703が名前解決サーバDNSaにドメイン名DOMAINaのネームサーバが問い合わせ可能であるかどうかを判定する(ステップS909)。ネームサーバが問い合わせ可能であると判定された場合には、DNS取捨選択部702が、DNS問い合わせ部703がDNSテーブル701に存在する名前解決サーバDNSxsにドメイン名DOMAINaのネームサーバを問い合わせ、DNSxsとこのネームサーバとが同一であるかどうかを判定する(ステップS910)。
ステップS909でネームサーバが問い合わせ可能でないと判定された場合、または、ステップS812で同一であると判定された場合には、DNS取捨選択部702が、DNSテーブル701のリストにドメイン名DOMAINaを入れない(ステップS911)。
ステップS910で同一でないと判定された場合には、DNS取捨選択部702が、ドメイン名DOMAINaの名前空間を解決するときに、名前解決サーバDNSaを優先的に使用するように、名前解決サーバDNSaをDNSテーブル701のリストに加える(ステップS912)。
次に、ネットワークにVPN接続する場合について図10を参照して説明する。以下、既に説明したステップと同様なものは同一の番号を付してその説明を省略する。
ネットワークにVPN接続する場合(ステップS1001)には、図10に示すように、ステップS902で取得する情報と同様な情報をVPN接続先のネットワークから取得する(ステップS1002)。
ネットワークにVPN接続する場合(ステップS1001)には、図10に示すように、ステップS902で取得する情報と同様な情報をVPN接続先のネットワークから取得する(ステップS1002)。
DNS取捨選択部702がVPN接続でないローカルなDNSを使用するかどうかを判定する(ステップS1003)。ステップS1003でVPN接続でないローカルなDNSを使用しないと判定された場合にはステップS907に進み、ステップS1003でVPN接続でないローカルなDNSを使用すると判定された場合にはステップS902に進む。
次に、図9のフローチャートに示した動作の具体的な4つの例について、図11、図12、図13、図14を参照して説明する。また、図10のフローチャートに示した動作の具体的な1つの例について図11を参照して説明する。
<第1の例:VPN接続先の名前解決サーバを判定の結果、(逆引きができない場合に)使用しないとする場合>図11
1.Host CがNetwork Bに接続して、
IPアドレス :192.168.100.10
経路情報 :192.168.100.1
名前解決サーバ:192.168.100.2
ドメイン名 :outer−xxx.net
を取得する。
1.Host CがNetwork Bに接続して、
IPアドレス :192.168.100.10
経路情報 :192.168.100.1
名前解決サーバ:192.168.100.2
ドメイン名 :outer−xxx.net
を取得する。
2.直接Network Bに接続しているのでHost CのDNSテーブル701に格納されている名前解決サーバのエントリはなく、この段階でHost Cは名前解決サーバ:192.168.100.2をDNSテーブル701に格納する。
3.Host CがVPN接続を行いNetwork Aに参加する。VPNの手法については問わないが、ここではIPアドレスの設定等が必要なL2/L3 VPNを仮定する。
4.Host Cは、VPN接続を経由してNetwork Aに参加し、
IPアドレス :192.168.0.100
経路情報 :192.168.0.1
名前解決サーバ:202.10.0.1
ドメイン名 :N/A(“not available”の略称)
を取得する。
IPアドレス :192.168.0.100
経路情報 :192.168.0.1
名前解決サーバ:202.10.0.1
ドメイン名 :N/A(“not available”の略称)
を取得する。
5.既に、Network Bに接続したときに取得した名前解決サーバがDNSテーブル701に存在するため、DNSテーブル701に格納する必要があるかどうかの検証を行う。
6.Host Cが取得した名前解決サーバ:202.10.0.1に対して、VPN接続して取得したIPアドレス:192.168.0.100の逆引きを行う。
具体的には、RFC1034[RFC1034]、RFC1035[RFC1035]に従いHost CはIPアドレス:192.168.0.100に対応するポインタ(PTR)RRを求めるクエリを名前解決サーバ:202.10.0.1に対して発行する。
PTRレコードを求めるため、クエリの内容はIPアドレスを逆順にし、in−addr.arpaドメインを足した、100.0.168.192.in−addr.arpa.というFQDN(Fully Qualified Domain Name完全に記述したドメイン名)が実際に名前解決サーバに問い合わせられる。
ただし、正引きを行う場合は上記のような処理を行わず、FQDNとして与えられた名前をそのまま用い、Aレコードを求めるクエリを発行する。
名前解決サーバは、該当するレコードが存在すれば、PTRレコードにFQDN情報を入れて返す。該当するレコードがなければPTRレコードは返らないことになる。
具体的には、RFC1034[RFC1034]、RFC1035[RFC1035]に従いHost CはIPアドレス:192.168.0.100に対応するポインタ(PTR)RRを求めるクエリを名前解決サーバ:202.10.0.1に対して発行する。
PTRレコードを求めるため、クエリの内容はIPアドレスを逆順にし、in−addr.arpaドメインを足した、100.0.168.192.in−addr.arpa.というFQDN(Fully Qualified Domain Name完全に記述したドメイン名)が実際に名前解決サーバに問い合わせられる。
ただし、正引きを行う場合は上記のような処理を行わず、FQDNとして与えられた名前をそのまま用い、Aレコードを求めるクエリを発行する。
名前解決サーバは、該当するレコードが存在すれば、PTRレコードにFQDN情報を入れて返す。該当するレコードがなければPTRレコードは返らないことになる。
7.名前解決サーバ:202.10.0.1は図11ではNetwork Aの名前解決に用いられていないものなので、100.0.168.192.in−addr.arpa.(192.168.0.100)のレコードを持っていないためPTRレコードは返らない。
8.PTRレコードが返らないことをもって、名前解決サーバ:202.10.0.1はIPアドレス:192.168.0.100だけでなく、Network Aの名前解決に用いられていないと判断し、また、既にDNSテーブル701にエントリがあり、そちらだけ用いていれば十分と判断できるので、名前解決サーバ:202.10.0.1を新たにDNSテーブル701に追加しない。
以上の処理によって、VPN接続を行いながら、常に名前解決サーバは192.168.100.2を使うことが可能になる。
<第2の例:VPN接続先の名前解決サーバを判定の結果、(同一の名前空間を解決しているので不要としている場合)使用しないとする場合>図12
1.Host CがNetwork Bに接続して、
IPアドレス :192.168.100.10
経路情報 :192.168.100.1
名前解決サーバ:101.100.1.1
ドメイン名 :outer−xxx.net
を取得する。
1.Host CがNetwork Bに接続して、
IPアドレス :192.168.100.10
経路情報 :192.168.100.1
名前解決サーバ:101.100.1.1
ドメイン名 :outer−xxx.net
を取得する。
2.直接Network Bに接続しているのでHost CのDNSテーブル701に格納されている名前解決サーバのエントリはなく、この段階でHost Cは名前解決サーバ:101.100.1.1をDNSテーブル701に格納する。
3(第1の例と同様).Host CがVPN接続を行いNetwork Aに参加する。VPNの手法については問わないが、ここではIPアドレスの設定等が必要なL2/L3 VPNを仮定する。
4.Host Cは、VPN接続を経由してNetwork Aに参加し、
IPアドレス :202.10.100.100(グローバルアドレス)
経路情報 :202.10.100.1
名前解決サーバ:202.10.0.1
ドメイン名 :example.net
を取得する。
IPアドレス :202.10.100.100(グローバルアドレス)
経路情報 :202.10.100.1
名前解決サーバ:202.10.0.1
ドメイン名 :example.net
を取得する。
5(第1の例と同様).既に、Network Bに接続したときに取得した名前解決サーバがDNSテーブル701に存在するため、DNSテーブル701に格納する必要があるかどうかの検証を行う。
6.新たに取得した名前解決サーバ:202.10.0.1に対して、VPN接続して取得したIPアドレス:202.10.100.100の逆引きを行う。
具体的には、RFC1034[RFC1034]、RFC1035[RFC1035]に従いHost CはIPアドレス:202.10.100.100に対応するポインタ(PTR)RRを求めるクエリを名前解決サーバ:202.10.0.1に対して発行する。
PTRレコードを求めるため、クエリの内容はIPアドレスを逆順にし、in−addr.arpaドメインを足した、100.100.10.202.in−addr.arpa.というFQDNが実際に名前解決サーバに問い合わせられる。
具体的には、RFC1034[RFC1034]、RFC1035[RFC1035]に従いHost CはIPアドレス:202.10.100.100に対応するポインタ(PTR)RRを求めるクエリを名前解決サーバ:202.10.0.1に対して発行する。
PTRレコードを求めるため、クエリの内容はIPアドレスを逆順にし、in−addr.arpaドメインを足した、100.100.10.202.in−addr.arpa.というFQDNが実際に名前解決サーバに問い合わせられる。
ただし、正引きを行う場合は上記のような処理を行わず、FQDNとして与えられた名前をそのまま用い、Aレコードを求めるクエリを発行する。
名前解決サーバは、該当するレコードが存在すれば、PTRレコードにFQDN情報を入れて返す。該当するレコードがなければPTRレコードは返らない。
名前解決サーバは、該当するレコードが存在すれば、PTRレコードにFQDN情報を入れて返す。該当するレコードがなければPTRレコードは返らない。
7.名前解決サーバ:202.10.0.1は図12ではNetwork Aの名前解決に用いられており、100.100.10.202.in−addr.arpa.(202.10.100.100)のレコードを持っているためPTRレコードにFQDNレコードが入って返る。
8.逆引きが可能なため(PTRレコードが返る)、DNSテーブル701にある名前解決サーバ:101.100.1.1に対して、VPN接続して取得したIPアドレス:202.10.100.100の逆引きを行う。具体的な手順は、第2の例の上記「6」と同様である。
9.名前解決サーバ:101.100.1.1にグローバルアドレス:202.10.100.100の逆引きを行った結果、解決でき、PTRレコードにFQDNレコードが入って返る。
ここで名前解決サーバ:202.10.0.1に逆引きで問い合わせた結果と同じ結果が得られる場合は、101.100.1.1をあえて使用しなくても、既にDNSテーブル701に存在する202.10.0.1を使用すれば十分であるため、101.100.1.1をDNSテーブル701に入れない。
ここで名前解決サーバ:202.10.0.1に逆引きで問い合わせた結果と同じ結果が得られる場合は、101.100.1.1をあえて使用しなくても、既にDNSテーブル701に存在する202.10.0.1を使用すれば十分であるため、101.100.1.1をDNSテーブル701に入れない。
以上の処理によって、VPN接続を行う場合にも、同一の名前解決サーバを使用することができる。
<第3の例:VPN接続先の名前解決サーバを判定の結果(プライベートアドレス空間の名前解決を行っているDNSサーバが存在する場合)、アドレス、ドメインを関連付けてDNSテーブル701に保存する場合>図13
1(第1の例と同様).Host CがNetwork Bに接続して、
IPアドレス :192.168.100.10
経路情報 :192.168.100.1
名前解決サーバ:192.168.100.2
ドメイン名 :outer−xxx.net
を取得する。
1(第1の例と同様).Host CがNetwork Bに接続して、
IPアドレス :192.168.100.10
経路情報 :192.168.100.1
名前解決サーバ:192.168.100.2
ドメイン名 :outer−xxx.net
を取得する。
2(第1の例と同様).直接Network Bに接続しているのでHost CのDNSテーブル701に格納されている名前解決サーバのエントリはなく、この段階でHost Cは名前解決サーバ:192.168.100.2をDNSテーブル701に格納する。
3(第1の例と同様).Host CがVPN接続を行いNetwork Aに参加する。VPNの手法については問わないが、ここではIPアドレスの設定等が必要なL2/L3 VPNを仮定する。
4.Host Cは、VPN接続を経由してNetwork Aに参加し、
IPアドレス :192.168.0.100
経路情報 :192.168.0.1
名前解決サーバ:192.168.0.10
ドメイン名 :private−home.net
を取得する。
IPアドレス :192.168.0.100
経路情報 :192.168.0.1
名前解決サーバ:192.168.0.10
ドメイン名 :private−home.net
を取得する。
5(第1の例と同様).既に、Network Bに接続したときに取得した名前解決サーバがDNSテーブル701に存在するため、DNSテーブル701に格納する必要があるかどうかの検証を行う。
6.Host Cが新たに取得した名前解決サーバ:192.168.0.10に対して、VPN接続して取得したIPアドレス:192.168.0.100の逆引きを行う。
具体的には、RFC1034[RFC1034]、RFC1035[RFC1035]に従いHost CはIPアドレス:192.168.0.100に対応するポインタ(PTR)RRを求めるクエリを名前解決サーバ:192.168.0.10に対して発行する。
PTRレコードを求めるため、クエリの内容はIPアドレスを逆順にし、in−addr.arpaドメインを足した、100.0.168.192.in−addr.arpa.というFQDNが実際に名前解決サーバに問い合わせられる。
ただし、正引きを行う場合は上記のような処理を行わず、FQDNとして与えられた名前をそのまま用い、Aレコードを求めるクエリを発行する。
名前解決サーバは、該当するレコードが存在すれば、PTRレコードにFQDN情報を入れて返す。該当するレコードがなければPTRレコードは返らない。
ただし、正引きを行う場合は上記のような処理を行わず、FQDNとして与えられた名前をそのまま用い、Aレコードを求めるクエリを発行する。
名前解決サーバは、該当するレコードが存在すれば、PTRレコードにFQDN情報を入れて返す。該当するレコードがなければPTRレコードは返らない。
7.名前解決サーバ:192.168.0.10はprivate−home.netの管理をしており192.168.0.0/24の名前の解決ができるので、100.0.168.192.in−addr.arpa.(192.168.0.100)のレコードを持っているためPTRレコードにFQDNレコードが入って返る。
8.逆引きが可能(PTRレコードが返る)なため、DNSテーブル701にある名前解決サーバ:192.168.100.2に対して、VPN接続して取得したIPアドレス:192.168.0.100の逆引きを行う。具体的な手順は上記第2の例の「6」と同様である。
9.名前解決サーバ:192.168.100.2はプライベートネットワークであるprivate−home.netのドメインの名前を解決できず(IPアドレス:192.168.0.100の逆引きはできない)PTRレコードは返らない。
ここで名前解決サーバ:192.168.0.10は192.168.0.0/24の名前の解決ができるもとして、DNSテーブル701に、192.168.0.0/24と192.168.0.10を関連付けて入れる。
ここで名前解決サーバ:192.168.0.10は192.168.0.0/24の名前の解決ができるもとして、DNSテーブル701に、192.168.0.0/24と192.168.0.10を関連付けて入れる。
10.以後、VPN接続を行っている場合に、192.168.0.0/24のアドレスの逆引きに関しては名前解決サーバ:192.168.0.10が優先的に使用される。
11.名前解決サーバ:192.168.0.10に対して、VPN接続して取得したドメインprivate−home.netの問い合わせを行う。
具体的には、RFC1034[RFC1034]、RFC1035[RFC1035]に従いHost Cはドメイン名private−home.netを問い合わせる。
名前解決サーバがそのドメインの管理をしている場合には、SOAレコードが返ってくる。返らなければ、ドメイン名private−home.netは名前解決サーバに関連付けない。
具体的には、RFC1034[RFC1034]、RFC1035[RFC1035]に従いHost Cはドメイン名private−home.netを問い合わせる。
名前解決サーバがそのドメインの管理をしている場合には、SOAレコードが返ってくる。返らなければ、ドメイン名private−home.netは名前解決サーバに関連付けない。
12.名前解決サーバ:192.168.0.10はprivate−home.netの管理をしており192.168.0.0/24の名前の解決ができるので、SOAレコードが返ってくる。
13.ドメイン名の解決が出来た場合(SOAレコードが返る場合)、DNSテーブル701にある名前解決サーバ:192.168.100.2に対して、同様にドメインprivate−home.netの解決を試みる。
手順としては第3の例の上記「11」と同様の手順だが、SOAレコードおよびNSレコードの確認をする。
名前解決サーバ:192.168.100.2はドメインprivate−home.netの管理をしてないので、SOAレコードは返らない。
ここで、SOAレコードが返る場合には、SOAレコードの内容が、上記第3の例の「11」と返る内容と同じである場合には、ドメイン名private−home.netはDNSテーブル701に関連付けて入れない。
また、NSレコードが返る場合には、NSレコードの内容が、上記第3の例の「11」で返されるSOAレコードの名前解決サーバと同じである場合には、ドメイン名private−home.netはDNSテーブル701に関連付けて入れない。
手順としては第3の例の上記「11」と同様の手順だが、SOAレコードおよびNSレコードの確認をする。
名前解決サーバ:192.168.100.2はドメインprivate−home.netの管理をしてないので、SOAレコードは返らない。
ここで、SOAレコードが返る場合には、SOAレコードの内容が、上記第3の例の「11」と返る内容と同じである場合には、ドメイン名private−home.netはDNSテーブル701に関連付けて入れない。
また、NSレコードが返る場合には、NSレコードの内容が、上記第3の例の「11」で返されるSOAレコードの名前解決サーバと同じである場合には、ドメイン名private−home.netはDNSテーブル701に関連付けて入れない。
14.名前解決サーバ:192.168.100.2はプライベートネットワークであるprivate−home.netのドメインの解決ができないとして、名前解決サーバ:192.168.0.10をドメインprivate−home.netに対して使用するように、DNSテーブル701にprivate−home.netと192.168.0.10を関連付けて入れる。
15.以後、VPN接続を行っている場合に、private−home.netを含む名前に関しては名前解決サーバ:192.168.0.10が優先的に使用される。
<第4の例:VPN接続先の名前解決サーバを判定の結果(逆引きができない場合に)、使用しないとする場合Router AがDNSのProxyを行い、一見Network Aの内部に名前解決サーバが存在するように見える場合>図14
仮想的に内部のアドレスを名前解決サーバとして見せているだけなので、通常Router AがDNS Proxyする場合は、Router Aのアドレスと同じになる。このため、ネットワークの構成は一見異なるが、判定手順は、第1の例の場合と同じになる。
仮想的に内部のアドレスを名前解決サーバとして見せているだけなので、通常Router AがDNS Proxyする場合は、Router Aのアドレスと同じになる。このため、ネットワークの構成は一見異なるが、判定手順は、第1の例の場合と同じになる。
<第5の例:VPN接続先の名前解決サーバのみを信用する場合>図11
1(第1の例と同様).Host CがNetwork Bに接続して、
IPアドレス :192.168.100.10
経路情報 :192.168.100.1
名前解決サーバ:192.168.100.2
ドメイン名 :outer−xxx.net
を取得する。
1(第1の例と同様).Host CがNetwork Bに接続して、
IPアドレス :192.168.100.10
経路情報 :192.168.100.1
名前解決サーバ:192.168.100.2
ドメイン名 :outer−xxx.net
を取得する。
2.直接Network Bに接続しているのでHost CのDNSテーブル701に格納されている名前解決サーバのエントリはない。このときHost CはVPN接続を行った結果Network Bに接続したのではないということをVPN制御部708に問い合わせて知っている。
Host CがVPN接続先の名前解決サーバしか信用しない設定としている場合は、名前解決サーバ:192.168.100.2をDNSテーブル701に格納せず、名前解決サーバとして使用しない。
Host CがVPN接続先の名前解決サーバしか信用しない設定としている場合は、名前解決サーバ:192.168.100.2をDNSテーブル701に格納せず、名前解決サーバとして使用しない。
3.Host CがVPN接続を行いNetwork Aに参加する。VPNの手法については問わないが、ここではIPアドレスの設定等が必要なL2/L3 VPNを仮定する。このときHost Cは名前解決サーバを使わずVPN接続する必要があるためVPN接続先についてはあらかじめIPアドレス:192.168.0.1を知っている必要がある。
4(第1の例と同様).Host Cは、VPN接続を経由してNetwork Aに参加し、
IPアドレス :192.168.0.100
経路情報 :192.168.0.1
名前解決サーバ:202.10.0.1
ドメイン名 :N/A
を取得する。
IPアドレス :192.168.0.100
経路情報 :192.168.0.1
名前解決サーバ:202.10.0.1
ドメイン名 :N/A
を取得する。
5.Host CのDNSテーブル701に格納されている名前解決サーバのエントリはなく、VPN接続して取得した名前解決サーバ:202.10.0.1をDNSテーブルに格納する。
6.VPN接続中は、常に信頼できる名前解決サーバ:202.10.0.1を使うことが可能になる。
以上の処理によって、公衆アクセスサービスなどで、名前解決サーバを騙るフィッシングや、悪意のあるサイトへ誘導するなどの攻撃を回避することが可能になる。
以上に示した実施形態によれば、ネットワークに接続し、このネットワークのIPアドレス、DNSサーバのアドレスを取得し、このアドレスのDNSサーバに対しIPアドレスの逆引きができるか、DNS利用リストにあるDNSサーバに対しIPアドレスの逆引きができるか、によって、DNS利用リストにDNSサーバのアドレスを付加するかどうか決定することにより、優先順位や接続先に応じて問い合わせを行うDNSサーバを切り替え使えるためのリストを自動的に作成することができる。したがって、一般のユーザにも利便性が高いサーバ判定装置、方法及びプログラムを提供することができる。
また、本実施形態によれば、ネットワークに接続し、この接続先のドメイン名、DNSサーバのアドレスを取得し、このアドレスのDNSサーバとドメイン名のDNSサーバとが同一であるかどうかを判定することによって、DNS利用リストに、取得したDNSサーバのアドレスを付加するかどうかを決定することにより、優先順位や接続先に応じて問い合わせを行うDNSサーバを切り替え使えるためのリストを自動的に作成することができる。したがって、一般のユーザにも利便性が高いサーバ判定装置、方法及びプログラムを提供することができる。
また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態のサーバ判定装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD±RWなど)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態のサーバ判定装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。
また、記憶媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーションシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本願発明における記憶媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明における記憶媒体に含まれ、媒体の構成は何れの構成であってもよい。
また、記憶媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーションシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本願発明における記憶媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明における記憶媒体に含まれ、媒体の構成は何れの構成であってもよい。
なお、本願発明におけるコンピュータまたは組み込みシステムは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
701…DNSテーブル、702…DNS取捨選択部、703…DNS問い合わせ部、704…VPN接続判定部、705…アドレス情報取得部、706…ネットワーク接続部、707…ネットワークドライバ、708…VPN制御部。
Claims (12)
- ネットワークに接続した場合に、VPN(Virtual Private Network)接続しているかどうかを判定する第1判定手段と、
接続先のネットワークから提供されるDNS(Domain Name System)サーバのアドレスと、接続先のネットワークのIP(Internet Protocol)アドレスとを取得する取得手段と、
前記第1判定手段でVPN接続していると判定された場合に、前記アドレスが取得されたDNSサーバに対して、前記取得されたIPアドレスの逆引きが可能かどうかを判定する第2判定手段と、
利用することが可能なDNSサーバのアドレスを含むDNS利用リストと、
前記第2判定手段で逆引きが可能であると判定された場合に、前記DNS利用リストに含まれているDNSサーバのいずれか1つに対して前記取得されたIPアドレスの逆引きが可能かどうかを判定する第3判定手段と、
前記第3判定手段で逆引きが可能でないと判定された場合に、前記取得されたDNSサーバのアドレスを前記DNS利用リストに付加する付加手段と、を具備することを特徴とするサーバ判定装置。 - 前記取得手段は、接続先のドメイン名を取得し、
前記サーバ判定装置は、
前記第1判定手段でVPN接続していると判定された場合に、前記アドレスが取得されたDNSサーバに、前記取得されたドメイン名のDNSサーバが問い合わせることが可能かどうかを判定する第4判定手段と、
前記第4判定手段で問い合わせることが可能であると判定された場合に、前記DNS利用リストに含まれているDNSサーバと、前記取得されたドメイン名のDNSサーバとが同一であるかどうかを判定する第5判定手段と、を具備し、
前記付加手段は、前記第5判定手段で同一でないと判定された場合に、前記アドレスが取得されたDNSサーバのアドレスを前記DNS利用リストに付加することを特徴とする請求項1に記載のサーバ判定装置。 - ネットワークに接続した場合に、VPN(Virtual Private Network)接続しているかどうかを判定する第1判定手段と、
接続先のネットワークから提供されるDNS(Domain Name System)サーバのアドレスと、接続先のドメイン名とを取得する取得手段と、
前記第1判定手段でVPN接続していると判定された場合に、前記アドレスが取得されたDNSサーバに、前記取得されたドメイン名のDNSサーバが問い合わせることが可能かどうかを判定する第2判定手段と、
利用することが可能なDNSサーバのアドレスを含むDNS利用リストと、
前記第2判定手段で問い合わせることが可能であると判定された場合に、前記DNS利用リストに含まれているDNSサーバと、前記取得されたドメイン名のDNSサーバとが同一であるかどうかを判定する第3判定手段と、
前記第3判定手段で同一でないと判定された場合に、前記アドレスが取得されたDNSサーバのアドレスを前記DNS利用リストに付加する付加手段と、を具備することを特徴とするサーバ判定装置。 - 前記取得手段は、接続先のネットワークのIP(Internet Protocol)アドレスを取得し、
前記サーバ判定装置は、
前記第1判定手段でVPN接続していると判定された場合に、前記アドレスが取得されたDNSサーバに対して、前記取得されたIPアドレスの逆引きが可能かどうかを判定する判定する第4判定手段と、
前記第4判定手段で逆引きが可能であると判定された場合に、前記DNS利用リストに含まれているDNSサーバのいずれか1つに対して前記取得されたIPアドレスの逆引きが可能かどうかを判定する第5判定手段と、を具備し、
前記付加手段は、前記第5判定手段で逆引きが可能でないと判定された場合に、前記取得されたDNSサーバのアドレスを前記DNS利用リストに付加することを特徴とする請求項3に記載のサーバ判定装置。 - ネットワークに接続した場合に、VPN(Virtual Private Network)接続しているかどうかを判定し、
接続先のネットワークから提供されるDNS(Domain Name System)サーバのアドレスと、接続先のネットワークのIP(Internet Protocol)アドレスとを取得し、
VPN接続していると判定された場合に、前記アドレスが取得されたDNSサーバに対して、前記取得されたIPアドレスの逆引きが可能かどうかを判定し、
利用することが可能なDNSサーバのアドレスを含むDNS利用リストを用意し、
逆引きが可能であると判定された場合に、前記DNS利用リストに含まれているDNSサーバのいずれか1つに対して前記取得されたIPアドレスの逆引きが可能かどうかを判定し、
前記DNS利用リストに含まれているDNSサーバのいずれか1つに対して逆引きが可能でないと判定された場合に、前記取得されたDNSサーバのアドレスを前記DNS利用リストに付加することを特徴とするサーバ判定方法。 - 前記取得することは、接続先のドメイン名を取得することを含み、
前記サーバ判定方法は、
VPN接続していると判定された場合に、前記アドレスが取得されたDNSサーバに、前記取得されたドメイン名のDNSサーバが問い合わせることが可能かどうかを判定し、
問い合わせることが可能であると判定された場合に、前記DNS利用リストに含まれているDNSサーバと、前記取得されたドメイン名のDNSサーバとが同一であるかどうかを判定し、
前記付加することは、同一でないと判定された場合に、前記アドレスが取得されたDNSサーバのアドレスを前記DNS利用リストに付加することであることを特徴とする請求項5に記載のサーバ判定方法。 - ネットワークに接続した場合に、VPN(Virtual Private Network)接続しているかどうかを判定し、
接続先のネットワークから提供されるDNS(Domain Name System)サーバのアドレスと、接続先のドメイン名とを取得し、
VPN接続していると判定された場合に、前記アドレスが取得されたDNSサーバに、前記取得されたドメイン名のDNSサーバが問い合わせることが可能かどうかを判定し、
利用することが可能なDNSサーバのアドレスを含むDNS利用リストと、
問い合わせることが可能であると判定された場合に、前記DNS利用リストに含まれているDNSサーバと、前記取得されたドメイン名のDNSサーバとが同一であるかどうかを判定し、
同一でないと判定された場合に、前記アドレスが取得されたDNSサーバのアドレスを前記DNS利用リストに付加することを特徴とするサーバ判定方法。 - 前記取得することは、接続先のネットワークのIP(Internet Protocol)アドレスを取得することを含み、
前記サーバ判定方法は、
VPN接続していると判定された場合に、前記アドレスが取得されたDNSサーバに対して、前記取得されたIPアドレスの逆引きが可能かどうかを判定する判定し、
逆引きが可能であると判定された場合に、前記DNS利用リストに含まれているDNSサーバのいずれか1つに対して前記取得されたIPアドレスの逆引きが可能かどうかを判定し、
前記付加することは、前記DNS利用リストに含まれているDNSサーバのいずれか1つに対して逆引きが可能でないと判定された場合に、前記取得されたDNSサーバのアドレスを前記DNS利用リストに付加することであることを特徴とする請求項7に記載のサーバ判定方法。 - コンピュータを、
ネットワークに接続した場合に、VPN(Virtual Private Network)接続しているかどうかを判定する第1判定手段と、
接続先のネットワークから提供されるDNS(Domain Name System)サーバのアドレスと、接続先のネットワークのIP(Internet Protocol)アドレスとを取得する取得手段と、
前記第1判定手段でVPN接続していると判定された場合に、前記アドレスが取得されたDNSサーバに対して、前記取得されたIPアドレスの逆引きが可能かどうかを判定する第2判定手段と、
利用することが可能なDNSサーバのアドレスを含むDNS利用リストと、
前記第2判定手段で逆引きすることが可能であると判定された場合に、前記DNS利用リストに含まれているDNSサーバのいずれか1つに対して前記取得されたIPアドレスの逆引きが可能かどうかを判定する第3判定手段と、
前記第3判定手段で逆引きが可能でないと判定された場合に、前記取得されたDNSサーバのアドレスを前記DNS利用リストに付加する付加手段として機能させるためのサーバ判定プログラム。 - 前記取得手段は、接続先のドメイン名を取得し、
前記サーバ判定プログラムは、
前記第1判定手段でVPN接続していると判定された場合に、前記アドレスが取得されたDNSサーバに、前記取得されたドメイン名のDNSサーバが問い合わせることが可能かどうかを判定する第4判定手段と、
前記第4判定手段で問い合わせることが可能であると判定された場合に、前記DNS利用リストに含まれているDNSサーバと、前記取得されたドメイン名のDNSサーバとが同一であるかどうかを判定する第5判定手段として機能させるためのものであり、
前記付加手段は、前記第5判定手段で同一でないと判定された場合に、前記アドレスが取得されたDNSサーバのアドレスを前記DNS利用リストに付加することを特徴とする請求項9に記載のサーバ判定プログラム。 - コンピュータを、
ネットワークに接続した場合に、VPN(Virtual Private Network)接続しているかどうかを判定する第1判定手段と、
接続先のネットワークから提供されるDNS(Domain Name System)サーバのアドレスと、接続先のドメイン名とを取得する取得手段と、
前記第1判定手段でVPN接続していると判定された場合に、前記アドレスが取得されたDNSサーバに、前記取得されたドメイン名のDNSサーバが問い合わせることが可能かどうかを判定する第2判定手段と、
利用することが可能なDNSサーバのアドレスを含むDNS利用リストと、
前記第2判定手段で問い合わせることが可能であると判定された場合に、前記DNS利用リストに含まれているDNSサーバと、前記取得されたドメイン名のDNSサーバとが同一であるかどうかを判定する第3判定手段と、
前記第3判定手段で同一でないと判定された場合に、前記アドレスが取得されたDNSサーバのアドレスを前記DNS利用リストに付加する付加手段として機能させるためのサーバ判定プログラム。 - 前記取得手段は、接続先のネットワークのIP(Internet Protocol)アドレスを取得し、
前記サーバ判定プログラムは、
前記第1判定手段でVPN接続していると判定された場合に、前記アドレスが取得されたDNSサーバに対して、前記取得されたIPアドレスの逆引きが可能かどうかを判定する判定する第4判定手段と、
前記第4判定手段で逆引きが可能であると判定された場合に、前記DNS利用リストに含まれているDNSサーバのいずれか1つに対して前記取得されたIPアドレスの逆引きが可能かどうかを判定する第5判定手段として機能させるためのものであり、
前記付加手段は、前記第5判定手段で逆引きが可能でないと判定された場合に、前記取得されたDNSサーバのアドレスを前記DNS利用リストに付加することを特徴とする請求項11に記載のサーバ判定プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006117040A JP2007295024A (ja) | 2006-04-20 | 2006-04-20 | サーバ判定装置、方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006117040A JP2007295024A (ja) | 2006-04-20 | 2006-04-20 | サーバ判定装置、方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007295024A true JP2007295024A (ja) | 2007-11-08 |
Family
ID=38765234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006117040A Abandoned JP2007295024A (ja) | 2006-04-20 | 2006-04-20 | サーバ判定装置、方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007295024A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103237089A (zh) * | 2013-05-16 | 2013-08-07 | 广东睿江科技有限公司 | 基于dns轮询方式网页的修复方法、装置和服务器 |
-
2006
- 2006-04-20 JP JP2006117040A patent/JP2007295024A/ja not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103237089A (zh) * | 2013-05-16 | 2013-08-07 | 广东睿江科技有限公司 | 基于dns轮询方式网页的修复方法、装置和服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11563681B2 (en) | Managing communications using alternative packet addressing | |
US11063819B2 (en) | Managing use of alternative intermediate destination computing nodes for provided computer networks | |
US20200145298A1 (en) | Providing virtual networking functionality for managed computer networks | |
US20230082172A1 (en) | Providing extendible network capabilities for managed computer networks | |
US12003380B2 (en) | Providing virtual networking device functionality for managed computer networks | |
JP5480265B2 (ja) | セキュアなリソース名前解決 | |
JP5480264B2 (ja) | キャッシュを使用したセキュアなリソース名前解決 | |
US9736016B2 (en) | Managing failure behavior for computing nodes of provided computer networks | |
JP5937078B2 (ja) | マルチテナントリレーを使用する仮想ネットワークの提供 | |
US9749181B2 (en) | Managing communications for modified computer networks | |
US9210041B1 (en) | Using virtual networking devices to manage network configuration | |
US8224931B1 (en) | Managing use of intermediate destination computing nodes for provided computer networks | |
US10084851B1 (en) | Managing use of intermediate destination hardware devices for provided computer networks | |
US9356860B1 (en) | Managing external communications for provided computer networks | |
US20130111040A1 (en) | Auto-Split DNS | |
JP2007295024A (ja) | サーバ判定装置、方法およびプログラム | |
JP4013967B2 (ja) | 名前解決サーバおよびパケット転送装置 | |
JP4269343B2 (ja) | 名前解決サーバおよびパケット転送装置 | |
JP2009206876A (ja) | サービス公開システム、通信中継装置、およびサービス公開装置 | |
JP5041381B2 (ja) | 名前解決システム、名前解決サーバ、名前解決方法及び名前解決プログラム | |
Ali et al. | DNS Using BIND and DHCP | |
Horley et al. | IPv6 and DNS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070928 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091215 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20100107 |