新Linux入門|127.0.0.1とlocalhostを理解する:ローカルループバックインターフェースの仕組みと役割

「127.0.0.1」や「localhost」は、インターネットに接続していなくても
自分のパソコン(=自分自身)と通信できる特別なネットワークの仕組みです。
これは「ローカルループバックインターフェース(lo)」と呼ばれます。

💻 ローカルループバックインターフェースとは?

ローカルループバックインターフェース(通常は lo)は、
自分のコンピュータが自分自身と通信するための仮想的なネットワーク装置です。
つまり、外部のLANケーブルやWi-Fiを使わずに、
システム内部でネットワーク通信をテストできるんです✨

項目内容
インターフェース名lo
IPv4アドレス127.0.0.1
IPv6アドレス::1
ホスト名localhost
通信範囲自分自身のPC内のみ(外部通信不可)

🗣️ポイント
この仕組みのおかげで、Webサーバーやデータベースを自分のPC上で動かして
「localhost」でアクセスできるんです。
たとえば、開発中のWebアプリをテストするときに大活躍します!

🌐 127.0.0.1 と localhost の関係

「127.0.0.1」と「localhost」は、実は同じ場所を指しています。
違いをまとめると、こんな感じ👇

表記種類意味
127.0.0.1IPアドレスIPv4で表した「自分自身」
::1IPアドレスIPv6で表した「自分自身」
localhostホスト名/etc/hosts により 127.0.0.1 に関連付けられている名前

💬ポイント
つまり、ブラウザで「http://127.0.0.1」と「http://localhost」は
まったく同じ場所(自分のPC) にアクセスしているんです。

⚙️ /etc/hosts ファイルとの関係

ローカル環境で「localhost」という名前を解決する仕組みは
/etc/hosts ファイルに書かれています。

内容を確認するには次のコマンドを使います👇

[suzuki@AlmaLinux ~]$ cat /etc/hosts

出力例

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

💡ポイント
ここで「127.0.0.1」と「localhost」が関連付けられていることがわかりますね!
これにより、アプリケーションが「localhost」と指定すると、
自動的に127.0.0.1へ通信がルーティングされます。

🖥️ loインターフェースの確認

実際にループバックインターフェースの状態を確認するには
ip address show コマンドを使います👇

[suzuki@AlmaLinux ~]$ ip address show lo

出力例

[suzuki@AlmaLinux ~]$ ip address show lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever

🔍ポイント

  • link/loopback → 仮想的なデバイスであることを示す
  • inet 127.0.0.1/8 → IPv4のループバックアドレス
  • inet6 ::1/128 → IPv6のループバックアドレス

🧪 動作確認コマンド

ping コマンドを使ってループバック通信をテストできます👇

[suzuki@AlmaLinux ~]$ ping 127.0.0.1

出力例

PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.050 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.040 ms
--- 127.0.0.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms

💬ポイント
ネットワーク機器を使わなくても通信が成功します!
これは「自分自身へ送った通信を、自分が受け取った」という証拠です✨

🧩 コマンドの解説

コマンド説明
cat /etc/hostshostsファイルの内容を表示
ip address show loloインターフェースの詳細を表示
ping 127.0.0.1自分自身との通信テスト

🧠 ループバックの特徴まとめ

特徴説明
仮想的なインターフェース実際のネットワーク機器を使用しない
IP範囲127.0.0.0~127.255.255.255(IPv4)
自己通信送信も受信も同一ホストで完結
用途サービス動作確認、アプリケーション開発、ネットワーク診断

✅ まとめ

  • 127.0.0.1 は自分自身を示す特別なIPアドレス
  • localhost は /etc/hosts により 127.0.0.1 に対応付けられたホスト名
  • loインターフェース はシステム内部通信専用の仮想デバイス
  • ping 127.0.0.1 でネットワークスタックの動作確認ができる

🌟ポイント
この仕組みを理解しておくと、ネットワークトラブルの原因切り分けや
サーバー構築のテストがグッとスムーズになりますよ😉