新規作成  編集  差分  v6活用研究会's Wiki  ページ一覧  検索  更新履歴  編集履歴  RSS  ログイン

FreeBSDでIPv6メモ

接続形態

  • 弘前大学のv6アドレスは 2001:2f8:d0::0/48
  • 岩手大学のv6アドレスは 2001:2f8:c2::0/48
  • 弘前大学のv6ネットワークまでv4の中にトンネルを掘る
    • 弘前大学のトンネル接続ルータ
      • v4 アドレス aaa.aaa.aaa.aaa
      • v6 アドレス 2001:2f8:AAA::1
    • 岩手大学のトンネル接続ルータ
      • v4 アドレス bbb.bbb.bbb.bbb/24
      • v6 アドレス 2001:2f8:AAA::2/126

前準備

  • FreeBSD 5.2.1 を使用
  • rl0, rl1 二つのインタフェースを持っている
    • rl0 IPv4用 (弘大のトンネリングルータ向け)
    • rl1 IPv6用 (学内向け)

/etc/rc.conf に以下を記述

ipv6_enable="YES"
network_interfaces="rl0 lo0"
ipv6_network_interfaces="rl1 lo0"
ifconfig_rl0="inet bbb.bbb.bbb.bbb  netmask 255.255.255.0"
ipv6_ifconfig_rl1="2001:2f8:c2:BBB::1"

インタフェースの状況を確認

% ifconfig -a

でrl1に設定したv6のリンクローカルアドレスがついていればOK。

gif (generic tunnel interface)の設定

# ifconfig gif0 create

でgif0インタフェースを作成

# /usr/sbin/gifconfig gif0 bbb.bbb.bbb.bbb aaa.aaa.aaa.aaa

でトンネルを作成…しても再起動するとなくなっちゃうんで。/etc/rc.confに

gif_interfaces="gif0"
gifconfig_gif0="bbb.bbb.bbb.bbb aaa.aaa.aaa.aaa"

を書いておく。gif0にv6アドレスをつけなきゃいけないんで rc.confを以下のように書き換え。

ipv6_network_interfaces="rl1 lo0"
               ↓
ipv6_network_interfaces="rl1 lo0 gif0"

トンネリング用のv6アドレスはgif0に設定。(/etc/rc.conf)

ipv6_ifconfig_gif0="2001:2f8:AAA::2/126"

ルーティングの設定

知らないアドレスへのパケットはgif0から弘大に投げる。(/etc/rc.conf)

ipv6_static_routes="default"
ipv6_route_default="default -interface gif0"

ステートフルアドレスの自動設定

ネットワークに接続された機器に自動的にアドレスを割り当てる(というより、ネットワークアドレスを教えてあげる)仕組み(RA: ルータアドバタイズメント)を動かす。

/etc/rc.conf に

rtadvd_enable="YES"
rtadvd_interface="rl1"

とすればrl1インタフェースでその機能が有効になる。

クライアントノードPC(FreeBSD)で即座にRAを受け取りたい場合は

# rtsol

でOK。

おまけ

自分にとっての覚書なんですが,誰かの役に立つかもしれませんので一応ここに書いておきます。

一つのインタフェースに複数のIPアドレスを設定

一つのインタフェースに複数のIPアドレスを設定する場合は alias を最後につけて ifconfig を実行する。

# ifconfig インタフェース down
# ifconfig インタフェース inet6 v6アドレス/マスク長 alias
# ifconfig インタフェース up

ちなみに消すときは

# ifconfig インタフェース inet6 delete v6アドレス

でOK。

anycastも大丈夫!?

anycast を設定するときは alias のあとに anycast を付け加える。 (aliasじゃなくanycastアドレスをつけることはない…よね)

# ifconfig インタフェース inet6 v6アドレス/マスク長 alias anycast

TCP Wrapper に v6 アドレスを設定

いままではv4でしかsshでのログインができない設定だったことに今頃気付いたので v6 アドレスからもログインできるように hosts.allow を変更した。

sshd: [2001:2f8:c2:BBBB::]/64 :allow

とすればOK。もちろん

sshd: ALL : deny

を書いておくのを忘れないように ;D。

同一リンクにあるすべてのノードとの接続性確認

ping6 -I インタフェース名 ff02::1

とすることで,指定したインタフェースと同一リンクにあるノードとの接続性を確認できる。ff02::1はリンクローカル・オールノードマルチキャストアドレスという。

更新日時:2005/02/21 23:27:47
キーワード:
参照:[v6活用研究会's Wiki]