IPv6 の IPアドレス
パソコン(OSX)上の Apache を起動して、
Webブラウザから php スクリプトを指定すると、
その中の、
$_SERVER["REMOTE_ADDR"];
が、
::1
と表示されました。
何だこれ?IPv6のアドレスっぽいけど。
IPv4とIPv6のIPアドレス表記は違うのは知っているけど、
アドレスは128ビットあるから、もっと長い表記になりそうだけど、、
IPv6 のアドレスはあまり見たこと無いので、
確信が持てないので色々調査しました。
ifconfig を見てみると、
loopback の所に、::1 という表記がありました。
IPv6 のループバック用の表記なんですね。きっと。
勉強不足でした。IPv6 も勉強しないと。
lo0: flags=8049
inet6 fe80::1%lo0 prefixlen 64 scopeid 0×1
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fd70:9d12:ba83:f6cc:21f:f3ff:fe4d:eea0 prefixlen 128
でも、127.0.0.1 という IPv4 アドレスも表示されているのに、
なんで、IPv6 用のアドレスが、
$_SERVER["REMOTE_ADDR"];
で表示されるという疑問が残ります。
apache が IPv6 を優先してしまうのか?
ということで、調査すると、httpd.conf 内の、
Listen ポートが
Listen 80
このようになってました。
そこで、
Listen 0.0.0.0:80
と直してみました。そして、
sudo apachectl restart
してみると、
$_SERVER["REMOTE_ADDR"];
に、ちゃんと IPv4 のアドレスが設定されていました。
もちろん、127.0.0.1 です。
IPv6 の勉強は、
10年以上前に参加した勉強会以来まともに勉強していないので、
そろそろまともに勉強しないとダメですね。
時代遅れになる。( ̄(エ) ̄)ゞ
IPv6 対応の機器やOSもたくさんリリースされていますが、
なかなか、IPv4 からインターネットの主役を奪えないですね。
機器やOS、その他ソフトウェアも、
サポートしているだけで運用されていない、
という状態だと思います。
テレビの電波の、地デジへの移行の様に、
期日を決めて、国主導で行わないとなかなか進まないですよね。
でも、今の政権では、事業仕分けで仕分けられそうな気がします。
IPアドレスが枯渇してら何がイケないんですか?
なんて言い出しそうで、期待はできません。(*゜▽゜)ノ
今度、情報通信審議会のページ見てみよう。



コメントはまだありません。