Linuxでhostsファイルを変更および管理する方法

あなたとウェブの間の小さなゲートウェイとして機能するあなたのコンピュータ上の単一のファイルがあります。これはhostsファイルと呼ばれます。 LinuxでWebサイトをブロックしたり、パーソナライズされたWebショートカットを作成したりする必要がある場合は、ファイルに数行を追加または微調整するだけです。

この投稿では、hostsファイルを安全に編集および変更する方法に関する包括的なガイドとともに、hostsファイルについて詳しく説明します。

Linux Hostsファイルとは何ですか?

ホストファイルは、すべてのオペレーティングシステムがホスト名(WebアドレスまたはURLとも呼ばれます)をIPアドレスに変換するために使用するプレーンテキストファイルです。 wikipedia.orgなどのホスト名を入力すると、システムはhostsファイルを調べて、適切なサーバーに接続するために必要なIPアドレスを取得します。

hostsファイルを開くと、インターネット全体のディレクトリがそこにないことがすぐにわかります。代わりに、数行しかない場合があります。それだけです。何が得られますか?

結局のところ、システムは、ネットワーク設定で定義さたDNSサーバー(通常はISPのDNSサーバー)でサイトを検索する前に、まずhostsファイルをチェックします。

これは、hostsファイルを使用して、DNSサーバーが提供できないもの(ローカルネットワーク上の場所のエイリアスなど、ローカルネットワーク内にDNSサーバーが設定されている場合にのみ可能)を追加できることを意味します。 DNSサーバーが通常提供するIPアドレスを上書きします。

たとえば、wikipedia.orgを要求すると、DNSサーバーはウィキペディアのIPアドレスをコンピューターに返します。ただし、そのコンピューターでWikipediaをブロックする場合は、hostsファイルにエントリを追加して、wikipedia.orgがWikipediaの実際のIPアドレスとは異なる他のIPアドレスを指していることをコンピューターに通知できます。

DNSがオンラインになる前は、このファイルにはインターネット全体のすべてのホスト名とIPアドレスが含まれていました。システム管理者は、このファイルの更新されたコピーを中央リポジトリから定期的にダウンロードします。 1980年代初頭までに、ネットワークがまだほとんど大学や研究所に限定されていたとしても、ますます多くのホストがオンラインになるため、管理者が追いつくことはほとんど不可能でした。そのため、DNSが作成されました。

これにより、パブリックインターネットや数台以上のマシンを処理する場合、hostsファイルはほとんど廃止されましたが、ローカルマシンやWi-Fiなどの小規模なローカルネットワークの管理には最適です。

現在、このファイルには通常、インストール時にLinuxマシン用に選択したホスト名と、ネットワークを使用するために最低限必要なローカルホストが定義されています。

LinuxHostsファイルの場所

Linuxでは、hostsファイルは/ etc / hostsの下にあります。プレーンテキストファイルなので、お好みのテキストエディタを使用してhostsファイルを開くことができます。

ホストファイルはシステムファイルであるため、変更を保存するには管理者権限が必要です。 nanoなどのLinux端末ベースのテキストエディタを使用してファイルを編集するには、スーパーユーザーアクセスが必要です。

例えば:

 sudo nano /etc/hosts

geditなどのグラフィカルテキストエディタを使用するには:

 gksu gedit /etc/hosts

ファイルの編集が終了したら、エディターを終了します。 nanoでは、 Ctrl + Xyの順に押して、変更の上書きを確認します。ファイルを編集する前にファイルのバックアップコピーを保存しておくことをお勧めします。これにより、ネットワークアクセスが混乱する可能性があるため、間違えた場合にファイルを復元できます。

ホストファイルのバックアップを作成するには、そのコピーを作成するだけです。 .oldのようなサフィックスを追加して、これがファイルの古いコピーであることを思い出してください。

 sudo cp /etc/hosts /etc/hosts.old

ホストファイルにサイトを追加する方法

hostsファイルでは、各エントリに独自の行があります。構文は単純です。ホスト名を変換するIPアドレスを入力し、キーボードのTabキーを押してから、ホスト名を入力します。

たとえば、ウィキペディアをブロックするには、次のように入力します(スペースではなくTabキーを使用することを忘れないでください)。

 127.0.0.1     wikipedia.org

127.0.0.1は、常に自分のシステムを指すループバックIPアドレスです。 Webはマシンに保存されていないため、ブラウザはサイトが見つからないと表示します。現在、効果的にブロックされています。

ターミナルに不安を感じる場合は、 Linux Mintのドメインブロッカーアプリケーションmintnannyとも呼ばれます)を確認してください。指定したホスト名が127.0.0.1を指すエントリがhostsファイルに追加されます。ただし、他のことを行うには、テキストエディタで変更を加える必要があります。

ダウンロード: ドメインブロッカー(無料)

Hostsファイルにショートカットを作成する

ホストファイルが役立つもう1つの方法は、小規模なオフィスやホームネットワーク上に覚えやすいマシンの名前を作成することです。

ホームネットワーク上に(たとえば、IPアドレスが192.168.1.10の)コンピューターがあり、便利な機能を備えた単純なWebサイトまたはファイルサーバーがある場合は、hostsファイルに次のように入力できます。

 192.168.1.10     homeserver

次に、ブラウザを開いて次のように入力すると、次のようになります。

 http://homeserver

これで、コンピューターは自動的に192.168.1.10にリダイレクトされます。 IPアドレスを検索するよりもはるかに簡単です。 Wi-Fiルーターの構成メニューを使用して、ネットワーク上の任意のマシンにIPアドレスを永続的に割り当てることができます。

または、hostsファイルを使用して、Web上の特定のサイトへのショートカットを作成することもできます。上記の例のように、 nslookupなどのコマンドを使用してWebサイトのIPアドレスを見つけ、目的のショートカットと一緒にhostsファイルに追加します。ほとんどの主要なWebサイトには複数のIPアドレスがあるため、これはGoogleやNetflixなどのサイトでは機能しない可能性があります。

ホストファイルの潜在的な問題

そのため、hostファイルに変更を加える方法を確立しましたが、GoogleChromeを使用しているときに問題が発生する可能性があります。このWebブラウザーは、次の2つの方法のいずれかを実行しない限り、hostsファイルを無視する傾向があります。

  1. 各アドレスの先頭にhttp://と入力します。たとえば、hostsファイルでウィキペディアがブロックされている場合、アドレスバーにwikipedia.orgと入力するだけで、Chromeはブロックを回避します。ただし、アドレスバーにhttp://wikipedia.orginと入力すると、hostsファイルに従います。
  2. Chromeの設定で[ウェブサービスを使用してナビゲーションエラーを解決する]オプションを無効にすると、毎回最初にhttp://と入力する必要がなくなります。これはとにかく行う価値のあるいくつかのGoogleChromeプライバシーのヒントの1つです。

Hostsファイルをどのように変更しますか?

hostsファイルは、コンピューター上の特定のWebサイトへのアクセスをブロックするだけでなく、覚えやすいホームサーバーの名前を作成する簡単な方法を提供します。

子供がいる場合は、少なくともスーパーユーザーアクセスがない限り、表示したくないサイトをブロックしたり、画面時間を制限したりするための大雑把ですが効果的な方法です。 Linuxでインターネットアクセスと利用時間を制限できるツールは他にもあります。