その他/ HostsLinuxの編集

Edit Etc Hosts Linux



さまざまな場合に、システム内のホストファイルを編集する必要があります。それは、ファイアウォールとして使用する、つまり、一部のネットワークトラフィックを制御する、ドメイン名を追加する、またはその機能をテストすることです。

ホストファイルは、ホスト名とIPアドレスの静的テーブルルックアップを含むローカルファイルまたはローカルDNSシステムです。 Windows、Linux、macOSを含むすべてのオペレーティングシステムで利用できます。







ローカルDNSシステムであるため、他のDNSシステムよりも優先され、認識されないドメインに適しています。



このクイックチュートリアルは、ファイルの内容と編集方法を理解するのに役立ちます。



ホストファイルを編集する方法

Linuxホストファイルは/ etcディレクトリに保存されています。つまり、コンテンツを変更するには、sudo権限またはrootユーザーが必要になります。





ホストファイルのエントリの一般的な構文は次のとおりです。

IP_address canonical_hostname [エイリアス...]

ホストファイルで指定されたIPアドレスは、指定されたドメインに解決される限り、IPv4またはIPv6アドレスのいずれかです。



ホストファイルのコメント

ホストファイルは、システムが無視するコメントもサポートします。それらはオクトソープ(#)で始まります。

たとえば、システムは次のエントリを無視します。

#次の行はコメントであり、システムによって無視されます
127.0.0.1ローカルホスト
:: 1 localhost

ホスト名の命名規則

現在、ホストファイルのホスト名に名前を付けるためのいくつかのルールがあり、システムが指定されたIPアドレスに解決できるようになっています。

ルールは次のとおりです。

  • ホスト名は、アスタリスクなどのワイルドカード文字を除いて、ハイフンまたは特殊文字で始めないでください。
  • 指定するホスト名には、英数字とマイナス記号(-)および/またはピリオド(。)のみを含める必要があります。
  • ホスト名は、英数字で開始および終了する必要があります。

ユースケース1の例

ホストファイルの編集例を紹介します。私の例では、ポート8000​​で実行されているローカルWebサイトがあり、ドメインdevelopment.localを使用したいと思います。

ドメインdevelopment.localは有効なドメインではないため、DNSに依存して解決することはできません。したがって、ホストファイルを次のように編集できます。

$ sudo nano / etc / hosts

最後に、以下に示すエントリを追加できます。

127.0.0.1 development.local * .local

ファイルを保存して閉じます。

最後に、ブラウザを開いてアドレスに移動します

http://development.local:8000。

ホスト名が正しい場合、指定されたポートでホストされているWebサイトがロードされます。

ユースケース2の例

次の使用例は、トラフィックを無効なIPアドレスにリダイレクトすることによってWebサイトをブロックすることです。たとえば、google.comをブロックするには、次のようにローカルホストにIPアドレスを追加します。

ノート: 上記の例では、ローカルホストを表すために16進IP表記を使用しました。

変更を確認するには、ブラウザを開いてgoogle.comに移動します

ご覧のとおり、インターネット接続が正常に機能しているにもかかわらず、アドレスが正しいアドレスに解決されません。

単純なpingは、以下に示すように、アドレスがlocalhostに解決されることも示しています。

ノート: / etc / hostsファイルへの変更は、アプリケーションがファイルをキャッシュするインスタンスを除いて、即座に機能します。

結論

このチュートリアルでは、Linuxでhostsファイルを編集し、それをローカルDNSまたはファイアウォールとして使用する方法について説明しました。ホストファイルの編集は、特にDNSサーバーがダウンしている場合に便利です。