「Linux」の「hosts」ファイルを設定するには
今回は「「Linux」の「hosts」ファイルを設定するには」についてご紹介します。
関連ワード (Linuxノウハウ、特集・解説等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
「Linux」は非常に強力なOSであるだけでなく、市場で最も柔軟なOSの1つでもある。その柔軟性は一貫してLinuxの大きなセールスポイントとなっている。Linuxの動作に関して気に入らない点があれば、いつでも自分のニーズに合うようにカスタマイズすることが可能だ。
その非常に単純な例の1つが、Linuxの「hosts」ファイルだ。hostsファイルはLinuxだけに固有のものではないことに注意してほしい。「Windows」や「macOS」もhostsファイルを利用する。実は、macOSのhostsファイルはLinuxのhostsファイルとほぼ同じである。
hostsファイルを使用すると、IPアドレスをドメイン名に簡単にマッピングすることができる。どこかで聞いたことのある話だと思っている人もいるだろう。当然だ。それは、まさに今日のDNSが行っていることである。しかし、ARPANETの時代にはDNSがなかったので、IPアドレスをマッピングする手段が必要だった。そこで活躍したのがhostsファイルだった。しかし、今ではDNSがそれを処理してくれるようになったのに、なぜhostsファイルを使う必要があるのだろうか。
筆者が挙げることのできる最高の例は、LANベースのネットワーク環境で、完全なIPアドレスを入力しなくてもサーバーやデスクトップにアクセスできるようにしたい場合だ。例えば、以下のアドレスで定期的にアクセスするサーバーがLAN上にあるとしよう。
そのIPアドレスをhostsファイルでマッピングして、以下のように入力するだけで済むようにすることが可能だ。
入力する文字数が少なくなるわけではないが、サーバーのIPアドレスを記憶する必要がなくなる。代わりに、ニックネームを使用できる。これは、LAN上に多数のサーバーがある場合に、非常に便利だ。これらのニックネームは、ウェブブラウザーで使用することもできる。例えば、LAN内のサーバーに「Invoiceplan」(請求ソリューション)をインストールしており、そのサービスのドキュメントルートが/var/www/html/invoiceplaneである場合、サーバーのIPアドレスをニックネームであるinvoiceにマッピングして、ブラウザーのアドレスバーにinvoice/invoiceplaneと入力すればサービスが開くようにすることが可能だ。
設定はどのように行えばいいのだろうか。それは非常に簡単だ。以下で、手順を紹介する。
必要なのは、実行中のLinuxインスタンスとマッピングするいくつかのIPアドレスだけだ。ほかのものは必要ない。それでは、魔法のようなhostsファイルを実際に使用してみよう。
Linuxマシンにログインして、ターミナルウィンドウを開く。hostsファイルを開いて編集するために、sudo nano /ets/hostsというコマンドを入力する。
hostsファイルのそれぞれの行は、一意のIPアドレスのマッピングであり、以下の形式で記述される。
IPアドレス ニックネーム ドメイン名
例えば(ここでもInvoiceplaneの例を使用する)、192.168.1.11というIPアドレスを、invoiceplane.lanというドメイン名を持つInvoiceというニックネームにマッピングすることができる。そのエントリーは以下のようになる(ファイルの末尾に追加される)。
このエントリーをhostsファイルに保存すると、以下の3つの方法でそのサーバーにアクセスできるようになる。
ドメイン名のエントリーに関しては、1つ注意点がある。ウェブブラウザーでは、このエントリーを使用してサーバーにアクセスすることはできない(ウェブブラウザーで使用できるのは、IPアドレスとニックネームだけだ)。
必要なエントリーをhostsに追加したら、「Ctrl」+「X」キーのショートカットでファイルを保存して閉じる。ファイルの保存後、OSを再起動する必要はない。ネットワークサブシステムが変更を即座に検知するからだ。
Linuxを使い始めたばかりの人は、おそらく最初のうちはhostsファイルを使用する必要はないだろう。しかし、今後、Linuxを使い込んでいくにつれて、hostsファイルが不可欠な状況に遭遇することが増える可能性は高い。