6to4を使ったIPv6接続には成功していたけど、 radvd を使ったルータ以外のPCのIPv6接続には失敗していた。 色々と試した結果、tun6to4には、2002:XXXX:XXXX:0000::1を設定し、 自宅サーバには 2002:XXXX:XXXX:0001::1を設定する。 radvd には、2002:XXXX:XXXX:0001:****:****:****:**** を使うように設定した。
(( ネットワーク構成 )) +------------------------+ Internet--[router]--+ 192.168.1.2 | (IPv4) | 2002:XXXX:XXXX:0001::1 +--[radvd] | (eth0) | | (tun6to4) | ::192.88.99.1-[tun]-+ 2002:XXXX:XXXX:0000::1 | (IPv6) +------------------------+
interfaceファイルは、ルータから取得した2002:XXXX:XXXX形式のファイルから、 address部にバッククオートを使って設定した。
(( /etc/network/interfaces )) auto tun6to4 iface tun6to4 inet6 v4tunnel endpoint any address `/bin/cat /var/run/DDNS.ipv6`::1 netmask 16 gateway ::192.88.99.1 local 192.168.1.2 # DynamicDNSのアドレス更新 # /var/run/DDNS.ipv6 = 2002:XXXX:XXXXを生成 pre-up /etc/DDNS/mydns-jp.sh # eth0内のアドレスを割り当て post-up /sbin/ip addr add \ `/bin/cat /var/run/DDNS.ipv6`:1::1/64 dev eth0 # 2002:XXXX:XXXXを使ったradvd.confを生成 post-up /etc/network/script/update-radvd.pl # radvdを再起動 post-up /etc/init.d/radvd reload pre-down /sbin/ip addr del \ `/bin/cat /var/run/DDNS.ipv6`:1::1/64 dev eth0
ちなみに、radvd.conf ファイルの生成には、以下のようなスクリプトを用いた。 6to4 による IPv6 対応ルーター設定によれば、わざわざこんなことをしなくても、Base6to4Interface という 設定を使えばいいのだけど、我が家の場合はルータを間に挟んでいるため、 IPv4なルータ(外側)のIPアドレスが取れないので、このようなスクリプトを使うしかない…
(( /etc/network/script/update-radvd.pl ))
#!/usr/bin/perl
my $dir = "/etc/network/script" ;
my $rconf = "/etc/radvd.conf" ;
my $rtemp = "$dir/radvd.conf.template" ;
my $ddip6 = "/var/run/DDNS.ipv6" ;
my $ip6h = "" ;
if ( -f $ddip6 ) {
open( FH , $ddip6 ) or die( "Can't open $ddip6\n" ) ;
$ip6h = ;
close( FH ) ;
if ( $ip6h =~ s/^(2002:[0-9A-Z]+:[0-9A-Z]+)$/$1/i ) {
open( FHD,">$rconf" ) or die( "Can't open $rconf\n" ) ;
open( FHS,"$rtemp" ) or die( "Can't open $rtemp\n" ) ;
while( ) {
s/<IPV6>/$ip6h/ if ( /^\s+prefix\s+<IPV6>/ ) ;
print FHD $_ ;
}
close( FHS ) ;
close( FHD ) ;
}
}
(( /etc/network/script/radvd.conf.template ))
interface eth0
{
AdvSendAdvert on;
AdvManagedFlag on;
AdvOtherConfigFlag on;
prefix <IPV6>:1::/64
{
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
};
無事、http://www.kame.net/ のDancingカメさんも http://[2001:200:dff:fff1:216:3eff:feb1:44d7]のURLであれば、 サーバ&radvdクライアントなPCでも、うまく踊ってくれました。