Posted on 5th 6月 2009No Responses
MacOS X でドメイン毎にDNSサーバを切り替える

Mac OS X(10.5) でドメイン毎に利用するDNSサーバを切り替えたい場合、/etc/resolver/ ディレクトリの中に、ドメイン名でファイルを作り、そこに resolv.conf の設定を加えれば良い。例えば、ドメイン名が「localenet.intra」というイントラネットのDNSサーバが 192.168.1.1 である場合、/etc/resolver/ ディレクトリの中に localenet.intra というファイルを作り、中身に nameserver 192.168.1.1 と書けばよい。

VPN等を使用してイントラネットにアクセスする場合、DNSサーバの設定をVPNの内側のネームサーバに設定し直すか、イントラネットのアクセスはIPアドレスで行うことになる。DNSサーバを切り替える場合、複数のVPNの場合は煩雑になるし、IPアドレスを覚えるのも限界がある。

MacOS X には、build-in でドメイン名によりDNSを切り替える仕組みがある。これを使えば、イントラネット等特定のドメイン名の名前解決には指定したネームサーバのみを指定することができる。

設定は、/etc/resolver/ ディレクトリ以下に解決したいドメイン名のファイルを作成する。ファイルの書式は /etc/resolv.conf と全く同じ。/etc/resolver/ ディレクトリがない場合は作成すれば良い。

例えば、localnet.intra というドメイン名を192.168.1.1 で解決したい場合は以下の様になる。

# mkdir /etc/resolver/
# echo nameserver 192.168.1.1 > /etc/resolver/localnet.intra

ファイルを作成した後、一旦ネットワークを接続し直すかリブートを行う。これで、localnet.intra ドメインの名前解決は、/etc/resolv.conf に書かれたネームサーバに問い合わせる前に、192.168.1.1 へ問い合わせるようになる。

この設定のドメインはhost/dig/nslookup などのユーティリテューでは名前解決できない場合もあるので、ping/ssh/telnetなどで確認した方が良い。

まとめ

  • MacOS X はドメイン毎に使用するネームサーバを指定できる(10.5でのみ確認)
  • 特定のドメインのネームサーバを指定するには、/etc/resolver/ ディレクトリの下にそのドメイン名と同じファイルを作成し、resolv.conf と同じ書式でネームサーバを指定する

参考

Comments
Leave a Response
XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
*