この記事は、Debian10Busterシステムで/etc/hostsファイルを編集する方法について説明しています。ただし、最初にHostsファイルが何であるかを見てみましょう。
Hostsファイルについて
すべてのオペレーティングシステムは、ホスト名をIPアドレスに変換するために、ホストファイルをマシン上に保持します。ホスト名を入力してWebサイトを開くと、システムはhostsファイルを読み取り、対応するIPを確認してから開きます。 hostsファイルは、Debianのetcフォルダにある単純なテキストファイルです。
外観は次のとおりです。
私たちが述べたことから、このファイルには非常に長いIPと対応するホスト名のリストが含まれていると思われるかもしれません。しかし、それは真実ではありません。 hostsファイルには数行しか含まれていません;
- 最初の部分には、デフォルトで、ローカルホストとマシンのホスト名とIPアドレスが含まれています。これは、必要な変更を加えるために通常変更する部分です。
- 2番目の部分には、IPv6対応のホストに関する情報が含まれており、これらの行を編集することはほとんどありません。
アドレスを入力するたびに、システムはhostsファイルの存在を確認します。そこに存在する場合は、対応するIPに移動します。ホスト名がhostsファイルで定義されていない場合、システムはインターネットのDNSサーバーをチェックして、対応するIPを検索し、それに応じてリダイレクトします。
Hostsファイルを編集する理由
ホストファイルを編集することで、次のようなことを実現できます。
- ウェブサイトをブロックする
- 攻撃を処理するか、いたずらを解決する
- ローカルサーバー上の場所のエイリアスを作成する
- DNSサーバーが提供するアドレスを上書きする
- ネットワークトラフィックへのアクセスを制御する
Hostsファイルを編集する方法は?
/ etc/hostsにあるhostsテキストファイルはスーパーユーザーとしてのみ編集できます。まず、DebianターミナルのVIエディタ、Nanoエディタ、geditなどのテキストエディタで開く必要があります。次に、必要な変更を加えてファイルを保存し、これらの変更を有効にします。
まず、次のようにアプリケーションランチャー検索でターミナルを開きます。
Debianアプリケーションランチャーには、Super/Windowsキーを使用してアクセスできます。
この記事では、Nanoエディターを使用してhostsファイルを編集します。ホストファイルを開くには、次のコマンドを入力してください。
$ sudo nano /etc/hosts
または
$ sudo gedit /etc/hosts
(gedit用)
前述のように、IPアドレスとホスト名が定義されているhostsファイルの最初の部分を編集します。 hostsファイルを利用する次の2つの方法について説明します。
- ウェブサイトをブロックする
- エイリアスを介してリモートコンピュータにアクセスする
/ etc/hostsファイルを使用してWebサイトをブロックする
ローカルホストのIPまたはデフォルトルートにリダイレクトすることで、Webサイトをブロックできます。
たとえば、google.comをブロックする場合は、ファイルに次のテキストを追加できます。
127.0.0.1 www.google.com
これで、Google Webサイトを開くと、システムはホストファイルからローカルホスト(127.0.0.1)のIPを取得し、DNSサーバーからのGoogleIPの代わりにローカルホストにリダイレクトします。
または
0.0.0.0 www.google.com
これで、Google Webサイトを開くと、システムはhostsファイルからデフォルトルート(0.0.0.0)のIPを取得し、DNSサーバーからのGoogleIPではなくそのIPにリダイレクトします。
編集したファイルは次のようになります。 ctrl + Xを押してから、ファイル名プロンプトにyを入力して、変更を保存してください。
ブラウザからwww.google.comを開こうとすると、次のようなエラーメッセージが表示されます。
最近のブラウザでは、後で定義するだけでブロックを回避することがあるため、hostsファイルでホスト名google.comだけでなく、完全なアドレスwww.google.comを定義していることに注意してください。
エイリアスを介してリモートコンピュータにアクセスする
ここで、アクセスしたいローカルネットワークにサーバーがあるとします。ローカルDNSで定義されていない限り、通常、サーバーにアクセスするにはサーバーのIPを入力する必要があります。 IPを何度も入力しないようにする方法のひとつは、次のようにhostsファイルでサーバーにエイリアスを割り当てることです。
192.168.1.10 myserver
IPはアクセスしたいサーバーの場所に対応し、myserverは使用したい新しいエイリアスです。
ファイルを保存してアドレスバーにmyserverと入力すると、リモートサーバーにリダイレクトされます。
ホストファイルに非常に簡単な変更を加えることで、必要に応じてネットワークトラフィックをカスタマイズし、リダイレクトできることを学びました。また、hostsファイルをデフォルトに戻すことで、ネットワーク攻撃やいたずらを取り除くこともできます。