ようやくL2が安定したようなので、DHCPv6をもう少し試してみます。
DHCPv6理解していません!なので試すだけ。
vyattaをDHCPv6 serverにする場合と、vyattaをDHCPv6-relayにする場合を試してみた。
iPhone(IOS5)もMac(Lion)もとりあえずアドレス取得とDNS serverの取得もできました。
しかし、ブラウザとか使ってアクセスすると一時アドレスを使っている。。。
DHCPv6で割り当てられたアドレスを使ってくれない。。。そんなもの?
iPhoneもWindows7も、Lion君も同じだったので、一時アドレスが強いってこと?
うーん。これじゃ意味がないんだよな。。。
とりあえず、メモ。
■vyattaをDHCPv6 serverにする
RAでm/oフラグをon/onにします。
interfaces {
...
bridge br2 {
...
ipv6 {
...
router-advert {
...
managed-flag true
other-config-flag true
prefix 2001:470:xxx:yyy::/64 {
...
}
...
}
}
}
}
service {
...
dhcpv6-server {
shared-network-name homev6 {
subnet 2001:470:xxx:yyy::/64 {
address-range {
start 2001:470:xxx:yyy:beef::100 {
stop 2001:470:xxx:yyy:beef::200
}
}
domain-search pman.biz
name-server 2001:470:zzz::111
}
}
...
}
m/oフラグをoff/onにした場合は、DNS serverのアドレスを取得できませんでした。
IPv6アドレスは割り当てられないのは、mフラグがoffなので良いのでしょう。。
パケットを見ていると、clientからmessage type: Information Requestが飛んで、
ReplyのパケットにDNS Serverアドレスの情報が空っぽ。。。
※どちらが悪いのか、またはこれが正しいのかは謎。。。調べる気はまだない。
m/oフラグをon/onにした場合は、DNS serverのアドレスも取得できました。
パケットを見ていると、clientからmessage type: solicit飛んで、Replyのパケットに
IPv6アドレスとDNS Serverの情報が入っていました。
これが正しい動きなのかな。。。
■vyattaをDHCPv6 Relayにする (DHCPv6サーバは別サーバ上でiscのdhcp 4.2.3を稼働)
interfaces {
...
bridge br2 {
...
ipv6 {
...
router-advert {
...
managed-flag true
other-config-flag true
prefix 2001:470:xxx:yyy::/64 {
...
}
...
}
}
}
}
service {
...
dhcpv6-relay {
listen-interface br2 {
}
upstream-interface eth1 {
address 2001:470:zzz::111
}
}
...
}
DHCPサーバ(4.2.3)の/usr/local/etc/dhchpd6.confは、こんな感じ
...
subnet6 2001:470:zzz::/64 {
deny unknown-clients;
}
subnet6 2001:470:xxx:yyy::/64 {
range6 2001:470:xxx:yyy::beef:100 2001:470:xxx:yyy::beef:200;
option dhcp6.domain-search "pman.biz";
option dhcp6.name-servers 2001:470:zzz::111;
}
こちらも当然、m/oフラグは同じ挙動。。。m/oフラグはon/onにしないとダメみたい。
Lionの/etc/resolv.confにIPv6のDNS serverも加わっている!
$ cat /etc/resolv.conf # # Mac OS X Notice # # This file is not used by the host name and address resolution # or the DNS query routing mechanisms used by most processes on # this Mac OS X system. # # This file is automatically generated. # search pman.biz nameserver 192.168.xxx.111 nameserver 2001:470:zzz::111
iPhoneで確かめる方法がわからないけど、DNS serverのアドレスが割当たっているのがなんとかわかる。。。

DHCPv6アドレスを使ってアクセスするようにするにはどうすればいいんでしょう。。。
クライアントに手を入れるなんてことは避けたい。。。
DHCPv6でstaticにIPv6アドレス振る方法も後々試そう。。。