ローカルループバックアドレス「127.0.0.1」「::1」「localhost」とは?Tech TIPS

「127.0.0.1」「::1」はローカルループバックアドレスと呼ばれ、自分自身を指す特別なIPアドレスである。「localhost」という名前でも参照できる。自分自身の上で動作しているサービスへ接続する場合は、これらのIPアドレスを利用できる。

» 2022年10月26日 05時00分 公開

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Tech TIPS」のインデックス

連載目次

ローカルループバックアドレス「127.0.0.1」「::1」「localhost」とは?

 TCP/IPネットワークでは、自ホストを表すための「ローカルループバックアドレス」(もしくは単に「ループバックアドレス」)という特別なIPアドレスが利用されることがある。本Tech TIPSでは、これについてWindows OSおよびWindowsネットワークを前提として簡単に解説する。

 Windowsネットワークに登場する他のIPアドレスについては、連載「基礎から学ぶWindowsネットワーク」の「3.さまざまなIPアドレス」が参考になるだろう。

ローカルループバックアドレスとは?

 ローカルループバックアドレスとは、自分自身を表す特別なIPアドレスの1つであり、TCP/IPが有効なコンピュータでは常に利用可能なIPアドレスである。一般的には以下のIPアドレスが利用される。

  • IPv4の場合: 127.0.0.1
  • IPv6の場合: ::1(0000:0000:0000:0000:0000:0000:0000:0001)

 IPv4の場合、IPアドレスの最上位のバイト(最上位の8bit)の内容が「127」でありさえすればよいので、「127.0.0.1〜127.255.255.254」の範囲内ならばどのIPアドレスでも利用できる(「127.0.0.0」と「127.255.255.255」の2つはブロードキャストアドレスのため除外される)。例えば「127.0.0.2」でもよいし、「127.1.2.3」でもよい。ただし、一般的な用途では「127.0.0.1」だけが利用される。

ローカルループバックアドレス「127.0.0.1」「::1」の確認方法

 TCP/IPネットワークが有効になっていると、「127.0.0.1」「::1」は必ず定義されているはずである。Windows OSではTCP/IPは必ず組み込まれており、またIPv4はもとよりIPv6も有効である。そのため、デフォルトでは「127.0.0.1」「::1」ともに必ず利用できるはずだ。

 例えば、pingコマンドをこれらのIPアドレス宛てに実行すると、以下のように応答が返ってくる(pingコマンドの使い方はTech TIPS「「pingでネットワークトラブルの原因を調査する」参照)。

ping 127.0.0.1 ……IPv4のローカルループバックアドレス宛てのping
ping ::1 ……IPv6のローカルループバックアドレス宛てのping



IPv4のローカルループバックアドレス「127.0.0.1」にpingを送信 IPv4のローカルループバックアドレス「127.0.0.1」にpingを送信

IPv6のローカルループバックアドレス「::1」にpingを送信 IPv6のローカルループバックアドレス「::1」にpingを送信

 ネットワークインタフェースに割り当てられているIPアドレスと違い、「127.0.0.1」「::1」は、ipconfigコマンドや、[設定]アプリの[ネットワークとインターネット]、コントロールパネルの[ネットワークとインターネット]−[ネットワーク接続]などで確認できない。

 そこで「netstat」コマンドを以下のように実行すると、このIPアドレスでリッスンしているいくつかのポートが(デフォルトでは)存在するので、それで確認できる。

netstat -an ……リッスンしているポートの表示



「netstat」コマンドで「127.0.0.1」「::1」のリッスンを確認する 「netstat」コマンドで「127.0.0.1」「::1」のリッスンを確認する

「127.0.0.1」「::1」の利用方法

 「127.0.0.1」「::1」は、自分自身を指すIPアドレスである。そのため、自分自身のサービスが動作しているかどうかを確認したり、自分自身のコンピュータ上で動作しているサービスへ接続したりする場合に利用できる。先の例のように、pingで接続したり、ファイル共有へ接続したり、Webサーバが動作しているならWebブラウザで接続したり、といった使い方をする。

 外部のコンピュータから接続する場合と違って、自分自身に割り当てられているIPアドレスを知っている必要はなく、常に「127.0.0.1」や「::1」というIPアドレスに接続すればよい。これにより、常に自分自身へ接続することが保証されている。

 ただし、このような使い方が可能になるためには、対象のアプリケーションが「127.0.0.1」「::1」(もしくは任意のアドレスを表す「0.0.0.0」「::」)に対してリッスンしている必要がある。

 前述の「netstat -an」コマンドの実行例でいえば、「ローカルアドレス」列がTCPの「0.0.0.0:445」や「127.0.0.1:843」であるポートには、「127.0.0.1」を宛先に指定して接続できる。同様に「[::]:49671」「[::1]:49670」には「::1」宛てで接続可能だ。一方、「172.16.80.146:139」のポートに対しては、「127.0.0.1」宛てでは接続できない。

「127.0.0.1」「::1」でリッスンする

 一般的には、どのポートがローカルループバックアドレス経由で接続できるかは気にする必要はない。ただし、Windows OS上で稼働するWebサーバやファイアウォールなどを設定する場合には、意識しておく必要があるだろう。

 例えば以下のように設定されたWebサーバ(Windows OSのIIS)では、ローカルコンピュータ上のWebブラウザから、「http://127.0.0.1/」を指定しても、接続できずにエラーとなる。IISが「127.0.0.1」でリッスンしていないからだ。

ローカルループバックアドレスではアクセスできないIISのWebサーバの設定例 ローカルループバックアドレスではアクセスできないIISのWebサーバの設定例

 ローカルループバックアドレスを使って接続したければ、ネットワークインタフェースのIPアドレス(上記の例では「172.16.80.146」)だけでなく、「127.0.0.1」「::1」に対しても明示的にリッスンするように設定する。

ローカルループバックアドレスでもアクセスできるIISのWebサーバの設定例 ローカルループバックアドレスでもアクセスできるIISのWebサーバの設定例

 「*」あるいは「未使用のIPアドレスすべて」を指定することでも、「127.0.0.1」「::1」をリッスンできる(この場合、全てのネットワークインタフェースに割り当てられたIPアドレスもリッスン対象となる)。

「localhost」=「::1」または「127.0.0.1」

 「127.0.0.1」「::1」というIPアドレスには、「localhost」という単純なホスト名が割り当てられている(ドメイン名は付かない。localhostという単一ラベルの名前としてのみ有効)。

 例えば、localhostに対してpingコマンドを実行すると、デフォルトでは「::1」に対してpingが送信される。Windows OSのネットワーク関連の設定により、IPv6よりIPv4が優先されている環境では、「127.0.0.1」に名前解決されることもある。

ping localhost



ローカルループバックアドレスのホスト名「localhost」にpingを送信 ローカルループバックアドレスのホスト名「localhost」にpingを送信

 また、「http://[::1]/」は「http://localhost/」としてアクセスできるし、ローカルコンピュータ上のSSHサーバに接続するには、「ssh localhost」とすればよい。

 ただし、サーバアプリケーション側で「127.0.0.1」でのリッスンのみ設定している場合、「localhost」宛てではデフォルトで「::1」に名前解決されるため、アクセスに失敗することがある。その場合は、「::1」でリッスンする設定も追加するとよいだろう。

 「localhost」は通常、外部のDNSサーバが参照できない状況でも、「127.0.0.1」または「::1」に名前解決される。例えば、ネットワークインタフェースが全くLANなどに接続できない状況で「ping localhost」と実行すると、通常は「::1」あるいは「127.0.0.1」に名前解決され、応答が来る。そのため、外部のDNSサーバへの参照を確認する際には、「localhost」ではなく、外部のホスト名を指定すべきだろう。

■更新履歴

【2022/10/26】Windows 10/11やIPv6に対応しました。

【2006/10/14】初版公開。


「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。