#概要
仕事場での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はなぜ上記操作なしに設定することが可能なのだろうか・・・。