Linux で IPv6-in-IPv4 を設定し, ルータとして使用する方法をまとめる.
ここでは, Redhat EL 6 を例にして説明する.
Hurricane Electric では,
/64 セグメントと /48 セグメントを割り当ててトンネリングするサービスを無料で提供している.
このサービスで IPv6 アドレスを取得して,
Linux マシンをルータとして使用する.
構成
ホスト Host1, Host2 があり,
Host1 はインターネットに接続されており,
Host1-Host2 間は LAN で接続されている.
Host1 のインターネット側のデバイスは eth1,
LAN 側のデバイスは eth0 と割り当てている.
トンネリングの設定
まずは, Host1 で IPv6-in-IPv4 の設定を行う.
Hurricane Electric で /64 アドレスを取得すると,
丁寧に設定方法を教えてもらえる.
ifconfig sit0 up
ifconfig sit0 inet6 tunnel ::xx.xx.xx.xx
ifconfig sit1 up
ifconfig sit1 inet6 add 20xx:xxxx:xxxx:xxxx::2/64
ip route add ::/0 dev sit1
少し設定方法を変えてしまったが,
これで設定が完了. ping6 で接続されているか確認する.
ping6 www.kame.net
この設定をパーマネントに反映させる方法はまだ調べていない.
アドバータイズの設定
yum install radvd
cat >/etc/radvd.conf <<EOF
interface eth0
{
AdvSendAdvert on;
prefix 20yy:yyyy:yyyy:1::1/64
{
AdvOnLink on;
AdvAutonomous on;
};
};
EOF
ifconfig eth0 add 20yy:yyyy:yyyy:1::1/64
service radvd start
20yy:yyyy:yyyy:1::1
の部分には,
/48 セグメントの中の /64 セグメントを選んで設定する.
パケットフォワーディングの設定
sudo tee /proc/sys/net/ipv6/conf/all/forwarding <<<1
ip6tables -I FORWARD 1 -p tcp -j ACCEPT -m state --state ESTABLISHED,RELATED # 確立された tcp パケットを許可
ip6tables -I FORWARD 2 -j ACCEPT -i eth0 -o sit1 -p tcp -m tcp --dport http # http ポートへの接続を許可
# ip6tables -I FORWARD 3 -j ACCEPT -i eth0 -o sit1 # LAN からインターネットへの全てのパケットを許可 (設定してもよい)
# ip6tables -I FORWARD 4 -j ACCEPT -o eth0 -i sit1 # インターネットから LAN への全てのパケットを許可 (設定するべきでない)
0 件のコメント:
コメントを投稿