Ubuntu や Debian 系の Linux を扱っていて、「/etc/hosts」に見慣れない 127.0.1.1 の行を見たことがある人は多いでしょう。127.0.0.1 が「localhost」を指すことは誰でも知っていますが、127.0.1.1 とは何なのでしょうか。
これは単なる偶然の数字ではなく、TCP/IP の仕様と Ubuntu の設計思想が交差する興味深い部分です。
この記事では、127.0.1.1 の意味、歴史的背景、技術的根拠、そして運用上の判断基準を整理して解説します。
ループバックアドレスの仕組み
TCP/IP において、127.0.0.0/8 全体がループバックアドレスとして予約されています。
つまり、127.0.0.1 だけでなく、127.0.1.1 や 127.9.9.9 なども、どれを使っても同じく「自分自身」を指します。この範囲の宛先に送られたパケットは、外部ネットワークには一切出ません。OS の内部ネットワークスタックで完結します。
一般的には、127.0.0.1 が慣例的に「localhost」として使用されます。それは歴史的な慣用であり、技術的にはループバックネットワーク全体の代表にすぎません。したがって、Ubuntu の 127.0.1.1 もループバックの一部です。
Ubuntu が 127.0.1.1 を採用した理由
Ubuntu(および Debian)は、インストール時に /etc/hosts に次のような設定が自動で行われます。
127.0.0.1 localhost
127.0.1.1 ubuntuここでの「ubuntu」は、/etc/hostname に記載されたホスト名です。この 2 行の構成は、ネットワークがまだ起動していない段階でもシステムが自分のホスト名を解決できるようにするための設計です。
起動時、ネットワークインターフェースがまだ有効になっていない状態でも、いくつかのプロセス(特に GNOME や systemd 関連)は「自分のホスト名を IP に解決できること」を前提として動作します。もしこれができないと、ログ生成や認証、さらには GUI セッションの起動に影響が出ることがあります。
しかし、固定 IP を持たないノート PC や仮想マシンでは、その時点で使える実アドレスが存在しないことがあります。そのため、Debian 系はループバック範囲内の別アドレス(127.0.1.1)を「ホスト名解決用の仮アドレス」として採用しました。
つまり、127.0.1.1 は ネットワーク非依存でホスト名を解決するための一時的かつ安全な手段 なのです。
127.0.1.1 の技術的背景と設計思想
この設計は Debian のリファレンスマニュアルにも明記されています。
一部のソフトウェア(例:GNOME、古いデスクトップアプリケーション)は、システムのホスト名が「完全修飾ドメイン名(FQDN)」として解決できることを前提にしています。しかし、固定 IP を持たないマシンでは DNS に登録できないため、ローカルで対応するしかありません。
その解決策として、「127.0.1.1 host_name」という行を /etc/hosts に加える方式が選ばれました。
127.0.0.1 は localhost に専用化し、ホスト名とは分離します。これにより、localhost とホスト名が混在してアプリケーションが混乱することを防げます。
この設計は“美しい正統派ネットワーク構成”というより、現実的な互換性対応の側面が強いものです。
実際の運用での扱い方
では、127.0.1.1 をどう扱うのが良いでしょうか。
実際の運用では、Ubuntu はサーバーとして扱われることが多く、固定 IP を使用するため、前述までの条件に該当しません。このため、127.0.1.1 は削除して、以下のようにしても問題ありません。
127.0.0.1 ubuntu私の場合、127.0.1.1 は残しています。好みですが、あえて理由付けするとすれば、127.0.1.1 は Ubuntu のデフォルトであり、意図を正しく理解せずに削除することで別の問題に当たる可能性を防止することです。
127.0.0.1 localhost
127.0.1.1 ubuntuよくある誤解と注意点
- 127.0.1.1 は特別なアドレスではない。
127.0.0.0/8 の一部であり、通信的には 127.0.0.1 と同じくローカルで完結します。 - セキュリティリスクはない。
ループバック範囲は外部から到達できません。誤設定しない限り、外部への露出はありません。 - 「127.0.1.1 を削除すると速くなる」などの誤情報に注意。
実際にはパフォーマンスへの影響は皆無です。 - 他ディストリビューションとの違い
Red Hat や Arch などは、固定 IP を前提としているため 127.0.1.1 行を採用していません。そのため、Debian / Ubuntu 系に特有の設計と理解しておくと混乱しません。
参考情報
この記事は、以下の ask Ubuntu の内容を整理したものです。



