自宅に、IPv6接続のためのトンネルサービスを提供してくれているFreenet6より、
gogoNETに移管したといったようなメールが届く。ということで、gogoNETに改めて登録し、
IPv6接続を久々に試してみる。
以前は、tspc なるIPv6トンネル用のパッケージをインストールしていたけど、
gogoNETでは、gw6c なるソフトを提供している。ダウンロードして試そうとしたが、
Debian/sid であれば、gw6c なるパッケージがすでに提供されていた。ということで、
"aptitude install gw6c"を実行する。
ただ、sid ベースなのか、設定ファイルがうまく自動でつくられないのか、ボチボチと設定が必要な様子。
(( install ))
# aptitude install gw6c
# zcat /usr/share/doc/gw6c/examples/gw6c.conf.sample.gz
> /etc/gw6c/gw6c.conf
# cd /etc/gw6c/
# vi gw6c.conf
(( /etc/gw6c/gw6c.conf ))
# デフォルトより変更したもののみ抜粋
userid=XXXXXXXX
passwd=YYYYYYYY
# freenet6.netの利用登録が必要
server=authenticated.freenet6.net
auth_method=any
host_type=router
prefixlen=64
if_prefix=eth0
# AAAAアドレスを参照するために必要?
dns_server=ns1.freenet6.net
# template/linux.sh のあるPATH
gw6_dir=/usr/share/gw6c
if_tunnel_v6v4=sit0
if_tunnel_v6udpv4=tun
if_tunnel_v4v6=
template=linux
log_stderr=1 # 動作確認用
(( 実際に接続させる ))
# /etc/init.d/gw6c start
Starting Gateway6 Client : gw6cGateway6 Client v6.0-RELEASE ...
Built on ///Linux gonzo 2.6.30-1-686 #1 SMP ...
The Gateway6 redirection list is [ amsterdam.freenet6.net, montreal.freenet6.net ].
The optimized Gateway6 redirection list is [ montreal.freenet6.net, amsterdam.freenet6.net ].
# 初めて接続する時は、下記のような確認画面が現れた...(yを入力した)
montreal.freenet6.net is an unknown host, do you want to add its key?? (Y/N) y
(( 繋がったかどうかを確認 ))
# ping6 ipv6.google.com
PING ipv6.google.com(tx-in-x68.google.com) 56 data bytes
64 bytes from tx-in-x68.google.com: icmp_seq=1 ttl=50 time=419 ms
ということで、設定を色々と触る必要があったけど、ひとまず動き出す。
ルータモードで動かしているので、次はradvdの設定。やり方は同じなのかな....
追記:radvdの起動は、template/linux.sh に記載されており、radvd.conf を自動的に生成し、
勝手に起動してくれるみたい。
このため、/etc/radvd.conf は削除しておく。
ひとまず、これで周辺のPCに、アドレスが配給されていることは確認できた。
一般的に、radvd の動作の際、自分の吐きだすルーティング情報を読み込まないように、
"echo 0 > /proc/sys/net/ipv6/conf/all/accept_ra"を設定するといった記載があるが、
確認をすると、accept_ra は1のままであった。そこで、template/linux.sh に以下の処理を追記する。
# (不要なのかなぁ...)
(( /usr/share/gw6c/template/linux.sh ))
interface $TSP_HOME_INTERFACE
{
:
};
EOF
# 以下の2行を追加
Exec $sysctl -w net.ipv6.conf.all.accept_ra=0
Exec $sysctl -w net.ipv6.conf.all.accept_redirects=0
# Start the radvd daemon.
:
現状では、radvdでIPv6アドレスを受け取ったWindows機が、外部にはつながっていない。
# どうも、ip6tables の FORWARD の設定で radvd で配給した
# アドレスを許可していないのが原因。
# さて、freenet6からもらえるアドレスは動的だし、どう設定しようか...
さらに追記:Windows機が繋がらないのは、やはりFORWARD設定のせい。
freenet6からのアドレスは、/40であれば、固定なので、
"saddr( 2001:05c0:1100::0/40 ) ACCEPT"の設定を追加したら、うまく動き出す。