LoginSignup
16
14

More than 5 years have passed since last update.

MacのApacheで127.0.0.1以外のIPアドレスを使用する

Last updated at Posted at 2014-01-02

概要

仕事場でのWindows環境では、ローカルのApacheで127.0.0.1~127.0.0.4までが使用できていたが、なぜかMacでは127.0.0.2が使用できなかったため、自分なりに調べた結果をメモします。

るーぷばっくあどれす?

そもそも、127.0.0.1って何なんでしょう?
調べてみると、これはローカルループバックアドレスというもので、自分自身を表す仮想的なアドレスみたいです。

IPv4

使用可能なIPアドレスは127.0.0.0~127.255.255.255

127.0.0.0と127.255.255.255はブロードキャストアドレスのため、実質は127.0.0.1~127.255.255.254が使用可能

IPv6

使用可能なIPアドレスは0:0:0:0:0:0:0:1(::1)
※IPv6では連続する0を"::"で省略することが可能(1アドレス1度のみ)

IPv6では無駄を省くため(?)、指定可能なアドレスは1つのみのようです。

ifconfig?

IPv4で使用可能なのが127.0.0.1~127.255.255.254なのであれば、127.0.0.2なんて余裕じゃないか!
とか思いました。
ですが、調査していると下記のコマンドを入れるとできるとのこと

# ネットワーク環境のlo0に127.0.0.2を関連づける?
sudo ifconfig lo0 alias 127.0.0.2

ifconfigにて、lo0(ローカルループバック)というネットワーク環境に127.0.0.2を関連づけています。
これでMacが127.0.0.2を自身のホストとして認識していたんですね・・・。

これを追加することで無事に対応できました。

※永続的に関連付けられるわけではない為、PC起動毎に行う必要があります。

PC起動時に自動的に関連付けさせるには、ログインフックで上記スクリプトを実行すると良いみたいです。
参考:MacOSXのログインフック設定

結論

Macでは基本的には127.0.0.1のみがループバックアドレスとなる。
そのため、その他のIPアドレスを使用したいのなら

sudo ifconfig lo0 alias 127.~

にてlo0と関連づける必要がある。

そもそも、127.0.0.1以外をループバックアドレスとして設定する必要性はないんですよね。
ApacheのNameVirtualHostで名前指定してあげればいいだけだし。

宿題

なら、Windowsはなぜ上記操作なしに設定することが可能なのだろうか・・・。

16
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
14