IPv6
IPv6でいろいろやったことを書いておく。
私自身のためのメモなので、あまり参考にしないでください…
いい方法あったら逆に教えてください。
まず、USAGIなkernelとcommandをいれる。
v6 over v4 tunnelを張ってもらえるよう手配する(人によってはこれがむずかしいかも)
以下のようなscriptを起動時に実行する。
なお、このような面倒な設定はrouterだけに必要で、ちゃんと設定されていれば、
同じネットワークのマシンはv6を有効にするだけでアドレスがもらえてrouteが設定される。
ちなみに私の場合は実際にはADSLで、2枚差しをしているのでもっと変なことをやっている……
#! /bin/sh
# rc.ipv6 -- setup ipv6 tunnel
ifconfig=/sbin/ifconfig
route=/sbin/route
ip=/usr/local/v6/sbin/ip
## local IP address
PREFIX=3ffe:xxxx:xxxx:xxxx # prefix部
ADDRESS=:1 # host部
PREFIX_LEN=64 # prefixの長さ
## gateway IP address
TUNNEL_IPV4=xxx.xxx.xxx.xxx # tunnel先のv4 address
TUNNEL_IPV6_PREFIX=3ffe:xxxx:xxxx:xxxx # tunnel先のprefix
TUNNEL_IPV6_ADDRESS=xxxx:xxxx:xxxx:xxxx # tunnel先のhost部
TUNNEL_IPV6_PREFIX_LEN=64 # tunnel先のprefixの長さ
# fire up ipv6 module
/sbin/modprobe -q -k ipv6 # staticにしてればいらない
echo -n "IPv6 settings: "
# old style
#$ifconfig eth0 inet6 add $PREFIX:$ADDRESS/$PREFIX_LEN
#$ifconfig sit0 inet6 up tunnel ::$TUNNEL_IPV4
#$ifconfig sit1 up
#$route -A inet6 add 2000::/3 dev sit1
# new style
$ip tunnel add tunnel mode sit remote $TUNNEL_IPV4 ttl 255
$ip link set tunnel up
$ip addr add $PREFIX:$ADDRESS/$PREFIX_LEN dev tunnel
$ip route add 2000::/3 dev tunnel
## radvdやzebraでRouter Advertisementを流す
# start up radvd
#if [ -x /usr/local/v6/sbin/radvd ]; then
# echo -n "radvd "
# /usr/local/v6/sbin/radvd
#fi
# start up zebra
if [ -x /usr/local/sbin/zebra ]; then
echo -n "zebra "
/usr/local/sbin/zebra &
fi
echo "done."
radvdの設定は例えば次のようになる。
# /usr/local/v6/etc/radvd.conf
interface eth0
{
AdvSendAdvert on;
prefix 3ffe:xxxx:xxxx:xxxx::0/64
{
AdvOnLink on;
AdvAutonomous on;
};
};
(C)Copyright 2001 by Sian <sian@big.or.jp>
Last modified: Thu Feb 26 23:03:54 JST 2004