Linuxの/ etc / hosts行にIPアドレスのみを含めることはできますか?

Linuxの/ etc / hosts行にIPアドレスのみを含めることはできますか?

/etc/hosts私はLinuxのファイルを注意深く観察しています。/etc/hosts追加、変更、削除など、いくつかのファイル操作を設計しました。

私はその内容をほとんど読んでおらず、/etc/hostsその内容が含まれていることを知っています<IP> <FQDNS separated by space>

私の質問は:入力行に/etc/hosts次のIPアドレスエントリのみを含める必要があるかどうかです。

:1            localhost
192.168.25.21 host1.support.com
192.168.25.22 host2.support.com
192.168.25.23
192.168.25.24
192.168.25.25 host5.support.com

答え1

これに対してはい、いいえと答えることは実際には不可能です。

Linux(カーネル)はホストファイルをまったく読みません。代わりに、DNS解決を使用するすべてのプログラムはファイル自体を読み取ります。

以前は、ホスト名解決の点でソフトウェアが異なる動作をする問題があり、その結果は次のとおりです。ユークリーブ別のことをするglibc。これらのファイルを読み取るための独自のコードがあり、すべてがまったく同じように動作するわけではありません。

基本ライブラリの用途をよく知っていても、しばしば例外が見つかります。たとえば、Google Chromeがホストファイルを読んでいないか、必ずしも尊重していないことを示唆する参照がたくさんあります。 1つの例外がある場所には通常、より多くの例外があります。

私のアドバイスは、システム内のすべてのプログラムがどのように機能するかを正確に知らない限り、IPだけを入力しないことです。

答え2

/etc/hostsIPv4またはIPv6アドレスのみを含むエントリは技術的に無効で意味がありませんが、さまざまなリゾルバルーチンがこの状況をどのように処理するかは実装によって異なります。

/etc/hostsまた、コメントと見なされるすべてのテキスト#とエイリアス(ニックネーム)だけでなく、コメント行も含めることができることに注意してください。 1つ以上のスペースおよび/またはタブは、スペースだけでなく行内のフィールドを区切るために使用されます。

たとえば、

# comment
192.168.1.100  foobar.mydomain.org  foo bar

関連情報