どうも、('A`)です。
あーあ、明日いよいよ虫歯を抜く事になりました。既に先週の金曜日から脳外科で処方
されている薬(プレタール)の服用を止めています。これでちゃんと抜歯の時に止血されると
良いのですか・・・時々頭の中で「何かが」引っかかる感覚が出てきているので、ちょっと心配。
皆さんも歯は大事にしてくださいね。脳梗塞や心筋梗塞、それと意外なのは骨粗鬆症の
治療薬を服用している場合でも、抜歯の際にお医者様と相談する必要があるのですよ。
(なんかBP系治療薬とかいう薬を服用している人は注意です。)
えーと、今日は前回のデュアルスタックサーバ構築の続きです。
エース( ,_ノ` )y━・~~~から色々聞いてみましたので、それを元に日記で書いていきますね。
今回はPIEの技術スタッフにお願いして以下のIPv6のアドレスをもらいました。
サーバはbanana3242というT-Bananaサーバを使って設定してもらいました。
(OSはFreeBSD 7.2R amd64を使いました。)
Host : banana3242.maido3.com
IP Address(IPv4) : 206.223.149.155
IP Address(IPv6) : 2607:f0a0:0:f::10
さて、あんまり自信が無いのですが、ちょっとアドレスについて説明らしきものを
してみますね。
今回 2607:f0a0:0:f::10 というアドレスを割り当ててもらったのですが、これは
ちゃんと書くと 2607:f0a0:0:f::10/64 となります。
「/64」の部分は「プレフィックス長」というのを表わします。
簡単にイメージしてもらうなら、電話番号の市外局番の部分という風に考えて
もらえると判りやすいかも。。。
たとえば電話番号だと市外局番と市内局番に分かれていますよね。
下に北海道の警察本部とその電話番号を書いてみました。
(おい、いいのかよ・・・?と言わないで。具体的な例が欲しかったので
大目に見て下さい。)
ここで()で書かれている部分が市外局番で北海道のどの地区かが判ります。
例えば011なら北海道の札幌市、0138だと北海道の旭川市函館市、という具合にです。
(あー、函館と旭川間違えちゃった。スレで指摘してくれた方、ゴメンなさいね。)
北海道警察本部 札幌市 (011)251-0110
北海道警察函館方面本部 函館市 (0138)31-0110
北海道警察旭川方面本部 旭川市 (0166)35-0110
北海道警察釧路方面本部 釧路市 (0154)25-0110
北海道警察北見方面本部 北見市 (0157)24-0110
IPアドレスも実はプレフィックスで指定された「ネットワーク部」でおおまかな
場所を特定し、それ以外の部分「ホスト部」で細かい場所を特定して辿りついて
いるのですよ。
そうだ、みなさんはIPアドレスってどうやって割り当ててもらっているか判りますか?
それは地域インターネットレジストリ(ARINとかAPNICとかあります。)という処があって
そこに申請して割り当ててもらうのです。
この地域インターネットレジストリがIPアドレスの管理を行っているのです。
(PIEでもDavid社長がARINに申請して使えるIPを増やしてもらったりします。)
で、('A`)がIPv6に苦手意識を持つ遠因の1つに「判りにくい記述の仕方」という点があります。
今回割り当ててもらったアドレス 2607:f0a0:0:f::10 って省略しないで記述すると、
2607:f0a0:0000:000f:0000:0000:0000:0010となります。
で、"0"が続くブロックはまとめて"::"で省略して書く事ができます。
ただし注意しなければいけないのは"::"はアドレスの中で使用出来るのは1回だけ、
なのです。
さて長々と判ったような判っていないような説明を書いてますが、FreeBSDでIPv6を記述するところは、
/etc/hosts と /etc/rc.conf の2つです。
今回はこんな感じで書きました。
[/etc/hosts]
::1 localhost localhost.maido3.com
127.0.0.1 localhost localhost.maido3.com
206.223.149.155 banana3242.maido3.com banana3242
206.223.149.155 banana3242.maido3.com.
2607:f0a0:0:f::10 banana3242.maido3.com banana3242
2607:f0a0:0:f::10 banana3242.maido3.com.
[/etc/rc.conf]
----(IPv4部分)-----
defaultrouter="206.223.149.2"
ifconfig_em0="inet 206.223.149.155 media 10BaseT/UTP mediaopt full-duplex netmask 255.255.255.0"
----(IPv4部分)-----
----(IPv6部分)-----
ipv6_enable="YES"
ipv6_network_interface="YES"
ipv6_ifconfig_em0="2607:f0a0:0:f::10/64"
ipv6_ifconfig_em0_alias0="2607:f0a0:0:f::11/64"
ipv6_defaultrouter="2607:f0a0:0:f::"
----(IPv6部分)-----
IPv6を有効にするには ipv6_enable="YES" を記述します。
で、不思議な事が1点あったので報告しておきます。
PIEの技術者がサーバをインストールしてからsysinstallコマンドでIPv6のネットワーク
設定をおこなった時に以下のパラメータが/etc/rc.confに記述されました。
ipv6_network_interface="YES"
でも、これって、違うような・・・・
man rc.confでrc.confに記述できるパラメータを調べてみると、ここの記述がこの様に
書かれていました。
(原文ママ)
ipv6_network_interfaces
(str) This is the IPv6 equivalent of network_interfaces.
Instead of setting the ifconfig variables as
ifconfig_<interface> they should be set as
ipv6_ifconfig_<interface>. Aliases should be set as
ipv6_ifconfig_<interface>_alias<n>. ipv6_prefix_<interface>
does something. Interfaces that do not have a
ipv6_ifconfig_<interface> setting will be auto configured by
rtsol(8) if the ipv6_gateway_enable is set to ``NO''. Note
that the IPv6 networking code does not support the
/etc/start_if.<interface> files.
もしこの記述の説明通りだとすると、本来なら
ipv6_network_interface="em0" となるはずなのです。
でもそういう記述でなくてもうごいてるんですよね。不思議だ。
em0で使用するIPv6のアドレスを以下の様に指定します。
ipv6_ifconfig_em0="2607:f0a0:0:f::10/64"
2607:f0a0:0:f::11 を追加で利用できる様に alias0としてNIC(em0)に追加しています。
ipv6_ifconfig_em0_alias0="2607:f0a0:0:f::11/64"
IPv6用のデフォルトルータのアドレスを指定します。
(このアドレスはネットワーク管理者から聞いて設定するものです。)
ipv6_defaultrouter="2607:f0a0:0:f::"
FreeBSDだと必要な設定がこれだけでいけるので、助かります。
で、あと気をつけないといけない点としてはApacheのバージョンです。
Apache 2系(2.0.x又は2.2.x)を使っている場合にはApache側でIPv6に対応しています。
しかし、Apache 1.3系の場合にはIPv6対応パッチを適用してApacheを入れなおさないと
いけません。
で、httpd.conf でListen行を指定する個所がありますが、
Listen 80
と記述しておくと、良いでしょう。
T-BananaサーバではApacheは2系なので、VirtualHost部で以下の設定をすると、
異なった環境で色んなページを見せる事ができます。
[IPv4/IPv6で同じページをみせる場合]
<VirtualHost *:80>
ServerName dualstack.maido3.com
ServerAlias www.dualstack.maido3.com
ServerAdmin dualstack@banana3242.maido3.com
DocumentRoot /home/dualstack/public_html
SuexecUserGroup dualstack users
LogFormat "/var/httpd/dualstack/access_log %h %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"
</VirtualHost>
この部分は以下のページを見せる為に設定しています。
http://dualstack.maido3.com/
[IPv4でアクセスした人に見せるページ]
<VirtualHost 206.223.149.156:80>
ServerName ipv4ipv6.maido3.com
ServerAdmin dualstack@banana3242.maido3.com
DocumentRoot /home/dualstack/public_html/ipv4
SuexecUserGroup dualstack users
</VirtualHost>
[IPv6でアクセスした人に見せるページ]
<VirtualHost [2607:f0a0:0:f::11]:80>
ServerName ipv4ipv6.maido3.com
ServerAdmin dualstack@banana3242.maido3.com
DocumentRoot /home/dualstack/public_html/ipv6
SuexecUserGroup dualstack users
</VirtualHost>
この部分は以下のページを見せる為に設定しています。
http://ipv4ipv6.maido3.com/
このページだとIPv4経由でアクセスすると/home/dualstack/public_html/ipv4に
設置されたぼかし(モザイク)入りの画像のページが表示されます。
IPv6経由でアクセスすると/home/dualstack/public_html/ipv6に設置された
ぼかしが無い画像のページが表示されます。
さてさて、ちょっとはしょった感じでデュアルスタックサーバ構築の説明をしてきましたが、
('A`)は来週29日(正確には日本時間で6/30)に8.0のBETA版が出るかどうか首を長くして
待っている状態です。
予定では6/25にコードフリーズですから、ね。
BETA版が出たら、早速社内のサーバに入れてブンブンまわしてみようと思います。
それでは、また。
|