あるホスト名とIPAddressを対応させたいとき、
Linuxならば/etc/hostsにあるファイルにそのペアを書き込めばいい。
(例えばこのページを参照:信州大学 7.2 ネットワークの設定)
たとえば、自分自身に「http://localhost」とブラウザに打ち込むと
アクセスできるのは/etc/hostsファイルに「127.0.0.1」と
そのホスト名がペアで登録されているからである。
そのことは、たとえばシェルで
「cat /etc/hosts」とやれば見ることができる。
MacもLinuxベースのOSなので、
ターミナルを起動して、同じように打てばそのファイルを見ることができる。
ちなみに「cat」というのはファイルを表示するためのコマンドである。
バイト先でIPアドレスが「192.168.1.50」になっているサーバーに
「http://hogehoge/」というホスト名でアクセスしたい。
Linuxならばvi(テキストエディタ)などで/etc/hostsファイルを開いて、
そこに「192.168.1.50 hogehoge」と一行追加すればよい。
では、Macでそれをやるにはどうしたらいいか?
この場合、Linuxと同じようにはいかない。
viなどをつかって/etc/hostsファイルを書き換えても、
何故か元に戻ってしまうからである。
MacではNetinfo ManagerかDSCLを使わねばならない。
もし使っているOSがMac OS 10.4場合は「Netinfo Manager」という
Macにデフォルトで入っているソフトを使います。
その使い方については以下のページできちんと解説されているので、
そちらを参考にしてください。
/etc/hostsファイルの代わりに・・・
使っているOSがMac OS 10.5の場合はdsclという
コマンドラインソフトを使います。
何故、Netinfo Managerを使わないかというと、
OS 10.5以降はNetinfo Managerが含まれていないからです。
参考:Mac OS X 10.5: 以前「NetInfo マネージャ」にあったいくつかの機能の代わりにコマンドラインユーティリティ "dscl" を使用してください
以下で、dsclを使ったhost nameの登録の仕方を簡単に説明します。
まず、ターミナルを起動します。
そして、以下のように入力します。
そうすると、パスワードを聞かれるので、
そのMacの管理者権限のパスワードを入力してください。
戸惑うかもしれませんが、Macを起動して
ログインするときのパスワードで大抵はOKです。
そうすると次のようになります。
Password:
Entering interactive mode... (type "help" for commands)
>
「sudo」というのは「superuserでDoする」という意味だと
(僕は勝手に)解釈していますが、
すなわち、管理者権限でそのコマンドを実行するという意味です。
sudo抜きの「dscl」だけを打ち込んでも
dsclは起動しますが、管理者権限をもっていないため、
ホスト名を追加するという処理ができません。
なので、sudoを使います。
sudoはLinuxを日常的に使う人にとってはおなじみのコマンドでしょう。
インタラクティブモードで起動したら、
「hogehoge」というホスト名を「192.168.1.50」に対して設定するために、
以下のように入力してエンターを押します。
これで、登録OKです。
次のように打つことで確認ができます。
-readall /Local/Default/Hosts/ (これでそのフォルダ内のファイルの中身全てを見られる)
これできっと「http://hogehoge」とブラウザのアドレスバーに入力するだけで、
「192.168.1.50」にアクセスできるようになったでしょう。
ところで、何故「/Local/Default/Hosts/」に登録したのかは
自分でもあまりよくわかっていません。
試行錯誤したら、ここにしか登録できなかったからです。
dsclを起動して、「ls」と打ってみてください。
そうすると
Local
Search
Contact
という反応があると思います。
調べてみたところ、hostsファイルらしきものは
BSD/local/Hosts
Local/Default/Hosts
この内、データを書き込めたのはLocal/Default/Hostsのほうのみでした。
なので、
-create /Local/Default/Hosts/hogehoge IPAddress 192.168.1.50
としたのです。