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でも、うまく踊ってくれました。