しかし、NAT+IPマスカレードの特性上、同じサブネットでは名前解決で問題が起こることがあります。どんな問題かというと、
①同じサブネットにあるクライアント機で、稼働しているサーバ(hoge.com)にアクセスしようとする
②外部のDNSサーバから 「“hoge.com”のIPアドレスは、”200.100.100.10”だよ」と名前解決情報がクライアント側に渡される
③そのIPアドレスで再度アクセスを試みる
ここで問題が起こります。教えられた”200.100.100.10” はそのサブネットのWAN側のIPアドレスなので、アクセスできません。同じサブネット内のサーバにアクセスするには、プライベートIPアドレスの”192.168.11.10”でアクセスしなければなりません。
つまり、WANに設置されたDNSサーバを利用すると、同じサブネット内のパソコンからはアクセスすることができないのです。
この問題における解決策はいくつかあります。
・WAN空間のプロキシサーバを利用する
・LAN内では常にプライベートIPアドレスを利用する
・hostsファイルを利用する
・LAN専用のDNSサーバを構築する
今回は、hostsファイルを利用した名前解決を紹介します。
hostsファイルを利用する
hostsファイルは、FQDNとIPアドレスとの対照を記述したテキストファイルです。通常、hostsファイルは、外部のDNSサーバよりも先に参照されます。
サーバ情報
ホスト名:hoge.com
IPアドレス:192.168.11.10
■MacOS(クライアント)から、サーバ(hoge.com)への名前解決
1. MacOSのターミナルを起動
2. 下のコマンドをたたいて、記述
$ vi /etc/hosts
192.168.11.10 hoge.com |
■Windows XP(クライアント)から、サーバ(hoge.com)への名前解決
1. C:¥windows¥system32¥drivers¥etc¥hosts を開く
2. 下記を追加
192.168.11.10 hoge.com |
これでhostsの設定は終わりです。
注意すべきことは、hostsファイルを設定したPCをサブネットマスクの外へ持ち出すときは、設定を無効にしておくことです。外部からhoge.comにアクセスしても、名前解決としてプライベートアドレスが渡されるので期待通りのアクセスができなくなります。
参考)
自宅内DNSサーバーの構築
http://www.obenri.com/_dnsserver/index.html
0 件のコメント:
コメントを投稿