1. ホーム >
  2. サービス・ソリューション >
  3. IPv6 >
  4. OCN IPv6 トンネル接続サービス >
  5. 技術情報 >
  6. 各機種の設定例 FreeBSD 3.X + KAME

OCN IPv6 トンネル接続サービス 各機種の設定例
FreeBSD 3.X + KAME

FreeBSD 3.X + KAME

FreeBSD+kame のマシンをトンネルサーバとして、トンネリング実験に参加する場合のトンネルサーバの設定手順や確認方法について、以下に説明いたします。

実験パートナ様が利用されるIPv6アドレスや、トンネル接続用のIPv4アドレスについては以下の通りとします。

ご利用IPv6アドレス 2001:218:xxx::/48
トンネリング接続IPv4アドレス 210.aaa.bbb.ccc
OCN側のトンネル接続IPv4アドレス 210.163.36.3
実験パートナ様トンネルマシン --- … --- OCN側トンネルマシン
210.aaa.bbb.ccc   210.163.36.3

作業の大まかな流れは次のようになります。

  • 1. トンネルの設定
  • 2. デフォルト経路の設定
  • 3. トンネルのupの確認
  • 4. 経路設定の確認

では、各ステップについて説明します。今回は FreeBSD-3.3 + kame-19991213-freebsd33-stable を利用しています。

1. トンネルupの確認

gifconfig コマンドでトンネルインタフェースを gif0 を設定します。

# gifconfig gif0 inet 210.aaa.bbb.ccc 210.163.36.3

(ただし gifconfig = /usr/local/v6/sbin/gifconfig)

2. トンネルインタフェースの設定

トンネルのインタフェースに対して ff02::1 を宛先とした ping6 コマンドを実行します。 ("ff02::1" というアドレスは「当該リンク上のすべてのノード」を意味するマルチキャストアドレスです。)

以下の例のように、2種類のリンクローカルアドレスから応答があれば、トンネルが up していることになります。

% /usr/local/v6/sbin/ping6 -I gif0 ff02::1
PING6(56=40+8+8 bytes) fe80::260:efff:fe20:9925 --> ff02::1
16 bytes from fe80::260:efff:fe20:9925@lo0, icmp_seq=0 hlim=64 time=0.207 ms
16 bytes from fe80::2c0:4fff:fe15:f4b0@gif0, icmp_seq=0 hlim=64 time=18.26 ms(DUP!)
16 bytes from fe80::260:efff:fe20:9925@lo0, icmp_seq=1 hlim=64 time=0.148 ms
16 bytes from fe80::2c0:4fff:fe15:f4b0@gif0, icmp_seq=1 hlim=64 time=17.131 ms(DUP!)
16 bytes from fe80::260:efff:fe20:9925@lo0, icmp_seq=2 hlim=64 time=0.147 ms
16 bytes from fe80::2c0:4fff:fe15:f4b0@gif0, icmp_seq=2 hlim=64 time=18.782 ms(DUP!)
16 bytes from fe80::260:efff:fe20:9925@lo0, icmp_seq=3 hlim=64 time=0.226 ms
16 bytes from fe80::2c0:4fff:fe15:f4b0@gif0, icmp_seq=3 hlim=64 time=15.526 ms(DUP!)
^C
--- ff02::1 ping6 statistics ---
4 packets transmitted, 4 packets received, +4 duplicates, 0% packet loss
round-trip min/avg/max = 0.147/8.803/18.782 ms

3. デフォルト経路の設定

デフォルト経路をトンネルに向けてスタティックに設定します。

# route add -inet6 add default -interface gif0

(ただしroute = /usr/local/v6/sbin/route)

トンネルマシンのブート時にトンネルと経路の設定が行われるように(1)、(2) で設定したコマンドを "/usr/local/v6/etc/rc.net6" などに記述しておきます。 (rc.net6 は rc.net6.sample をコピーし、ご自分の環境に合わせて設定した上でご利用ください。)

4. 経路設定の確認

デフォルト経路をトンネルに向けてスタティックに設定します。

IPv6のグローバルアドレスに対して、ping6 を実行し接続性を確認します。IPv6OCNトンネリング実験では、接続性を確認して頂くためのアドレスとして、2001:218::1 を準備しております。

以下のように ping6 が成功すれば、経路が正しく設定されていることになります。(1種類のリンクローカルアドレスからしか応答が無い場合は、トンネルの相手から返事が戻ってきておりません)

% /usr/local/v6/sbin/ping6 2001:218::1
PING6(56=40+8+8 bytes) 2001:218:xxx:yyy:zzz:xxx:yyy:zzz -->2001:218::1
16 bytes from 2001:218::1, icmp_seq=0 hlim=63 time=17.96 ms
16 bytes from 2001:218::1, icmp_seq=1 hlim=63 time=15.492 ms
16 bytes from 2001:218::1, icmp_seq=2 hlim=63 time=16.035 ms
16 bytes from 2001:218::1, icmp_seq=3 hlim=63 time=18.16 ms
^C
--- 2001:218::1 ping6 statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 15.492/16.911/18.16 ms

DNSサーバへの問い合わせができるなら、以下のようにホスト名を指定して実行することもできます。

% /usr/local/v6/sbin/ping6 www.ocn.v6.ntt.net.
PING6(56=40+8+8 bytes) 2001:218:xxx:yyy:zzz:xxx:yyy:zzz --> 2001:218::80
16 bytes from 2001:218::80, icmp_seq=0 hlim=63 time=16.302 ms
16 bytes from 2001:218::80, icmp_seq=1 hlim=63 time=18.441 ms
16 bytes from 2001:218::80, icmp_seq=2 hlim=63 time=16.986 ms
^C
--- www.ocn.v6.ntt.net. ping6 statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 16.302/17.243/18.441 ms

ping6 の代わりに traceroute6 コマンドを用いることもできます。また、"netstat -r" によりdefault経路が設定されたことを確認することができます。(netstat = /usr/local/v6/bin/netstat)