6to4 with cisco 1812J

Cisco 1812J で 6to4 Tunnel 作って IPv6 接続可能にしておこう企画。

6to4って?

設定はこの辺を参考に。

1812J

設定

1812Jのコンフィグはこんな感じになる。

ipv6 general-prefix 6TO4PREFIX 6to4 FastEthernet0
ipv6 unicast-routing
ipv6 cef

interface Tunnel2002
 description 6to4_tunnel
 no ip address
 no ip redirects
 ipv6 address 6TO4PREFIX ::0:0:0:0:1/128
 ipv6 enable
 ipv6 traffic-filter TU2002-IN in
 ipv6 traffic-filter TU2002-OUT out
 ipv6 mtu 1280
 tunnel source FastEthernet0
 tunnel mode ipv6ip 6to4
 tunnel path-mtu-discovery
!
ipv6 route 2002::/16 Tunnel2002
ipv6 route ::/0 2002:C058:6301::1
  • Fa0 はグローバルIPを持つ。
    • ただし DHCP で割り当てられる。このルータ自体は宅鯖向けに24時間起動してるのでトラブらない限りIPはリリースされないはず。
  • "ipv6 general-prefix 6to4 " を使うと指定したインタフェース(今回は Fa0) のアドレスをもとに 6to4 アドレスを自動的に作ってくれる。
1812J(config)#ipv6 general-prefix 6TO4PREFIX ?
  6to4                Create 6to4 prefix from IPv4 address
  X:X:X:X::X/<0-128>  IPv6 prefix
  • MTU 1280 にしてるのは念のため(MTUブラックホール回避)
  • IPv6 default は 6to4 relay anycast address → 2002:C058:6301::1 (192.88.99.1 = C0.58.63.01) に向ける。
  • Tunnel で "ipv6 enable" して link local ついてるんだけどたぶんなくて良い。
テスト

www.kame.net とか ipv6.google.com に ping/traceroute ipv6 してリプライがあれば OK。2001:200::/23 が WIDE Project なのでその辺を経由しているらしい。Tokyo6to4 みると経路上に 2001:200:0:b000::2 というルータが存在すれば、Tokyo6to4 のリレールータ ってかいてあるけど、これも WIDE から出してるのね。

1812J#traceroute ipv6 www.kame.net
Type escape sequence to abort.
Tracing the route to orange.kame.net (2001:200:DFF:FFF1:216:3EFF:FEB1:44D7)

  1 2001:200:0:B008:192:88:99:1 4 msec 4 msec 4 msec
  2 2001:200:0:B005::1 268 msec 4 msec 4 msec
  3 2001:200:0:B002::1 8 msec 12 msec 8 msec
  4 2001:200:0:FE00::9C4:11 16 msec 12 msec 28 msec
  5 2001:200:0:1802:20C:DBFF:FE1F:7200 16 msec 8 msec 4 msec
  6 ve42.foundry4.nezu.wide.ad.jp (2001:200:0:11::66) 4 msec 16 msec 20 msec
  7 cloud-net1.wide.ad.jp (2001:200:0:1C0A:218:8BFF:FE43:D1D0) 8 msec 8 msec 12 msec
  8 orange.kame.net (2001:200:DFF:FFF1:216:3EFF:FEB1:44D7) 16 msec 12 msec 4 msec
1812J#ping ipv6 www.kame.net
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:200:DFF:FFF1:216:3EFF:FEB1:44D7, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/10/20 ms
1812J#

どこの relay 使っているか見るなら 192.88.99.1 に traceroute する。

1812J#traceroute 192.88.99.1

Type escape sequence to abort.
Tracing the route to 192.88.99.1

  1  *  *  *
(略)
  7 203.181.98.13 4 msec 8 msec 4 msec
  8 ix-ote207.kddnet.ad.jp (118.155.197.134) 8 msec
    ix-ote207.kddnet.ad.jp (118.155.197.6) 4 msec
    ix-ote207.kddnet.ad.jp (118.155.197.134) 8 msec
  9 as38646.dix-ie.jp (202.249.2.195) 4 msec 0 msec 4 msec
 10 203.178.148.2 12 msec 12 msec 8 msec
 11 192.88.99.1 12 msec 8 msec 16 msec
1812J#

Whois で relay の前のアドレス引くと、"203.178.148.0/28" でこれ Tokyo6to4 Prject ですね。

3750

さて。1812J の下に 3750 がいて宅内ネットワークの内部ルーティングをやっているので、3750 も IPv6 Dual Stack してあげないといけない。

参照

設定

まず SDM Template を IPv4/v6 Dual に切り替える。

3750#sh sdm prefer ?
  access              Access bias
  default             Default bias
  dual-ipv4-and-ipv6  Support both IPv4 and IPv6
  ipe                 IPe bias
  routing             Unicast bias
  vlan                VLAN bias
  |                   Output modifiers
  <cr>

3750#

現在のテンプレートの確認と変更。

3750#show sdm prefer
Load for five secs: 5%/0%; one minute: 5%; five minutes: 5%

 The current template is "desktop default" template.
 The selected template optimizes the resources in
 the switch to support this level of features for
 8 routed interfaces and 1024 VLANs.

  number of unicast mac addresses:                  6K
  number of IPv4 IGMP groups + multicast routes:    1K
  number of IPv4 unicast routes:                    8K
    number of directly-connected IPv4 hosts:        6K
    number of indirect IPv4 routes:                 2K
  number of IPv4 policy based routing aces:         0
  number of IPv4/MAC qos aces:                      0.5K
  number of IPv4/MAC security aces:                 1K

3750#
3750(config)#sdm prefer dual-ipv4-and-ipv6 default
Changes to the running SDM preferences have been stored, but cannot take effect
until the next reload.
Use 'show sdm prefer' to see what SDM preference is currently active.
3750(config)#end
3750#reload

変更した後、再起動が必要なので注意。再起動後に再度確認。

3750#sh sdm prefer
Load for five secs: 9%/0%; one minute: 5%; five minutes: 3%

 The current template is "desktop IPv4 and IPv6 default" template.
 The selected template optimizes the resources in
 the switch to support this level of features for
 8 routed interfaces and 1024 VLANs.

  number of unicast mac addresses:                  2K
  number of IPv4 IGMP groups + multicast routes:    1K
  number of IPv4 unicast routes:                    3K
    number of directly-connected IPv4 hosts:        2K
    number of indirect IPv4 routes:                 1K
  number of IPv6 multicast groups:                  1.125k
  number of directly-connected IPv6 addresses:      2K
  number of indirect IPv6 unicast routes:           1K
  number of IPv4 policy based routing aces:         0
  number of IPv4/MAC qos aces:                      0.5K
  number of IPv4/MAC security aces:                 1K
  number of IPv6 policy based routing aces:         0
  number of IPv6 qos aces:                          0.625k
  number of IPv6 security aces:                     0.5K

3750#

あとは通常の IPv6 設定を入れてやる。

ipv6 general-prefix 6TO4PREFIX 2002:XXXX:XXXX::/48
ipv6 unicast-routing

interface VlanXXX
 ipv6 address 6TO4PREFIX ::X/64
 ipv6 enable
 ipv6 nd ra suppress
!
ipv6 route ::/0 2002:XXXX:XXXX::X
  • generate-prefix は 1812J で生成したのをコピー。
  • IPv6 default route は上流(1812J) へ

6TO4PREFIX とそれに相当するところは DHCP のアドレス変わったら書き換えないといけないので要注意かな。まあ本来 fixed global IPv4 あるところで使うものだろうし。

確認

最終的に、内部のPCから IPv6 使えるようになっていれば良い。

root@linux /
$ ping6 -c3 ipv6.google.com
PING ipv6.google.com(2404:6800:8007::63) 56 data bytes
64 bytes from 2404:6800:8007::63: icmp_seq=1 ttl=57 time=137 ms
64 bytes from 2404:6800:8007::63: icmp_seq=2 ttl=57 time=139 ms
64 bytes from 2404:6800:8007::63: icmp_seq=3 ttl=57 time=141 ms
--- ipv6.google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 137.120/139.234/141.072/1.681 ms

あと、Windows から www.kame.net みたけど泳いでくれない場合は6to4の利用方法 - Tokyo6to4 にあるポリシーテーブルの変更をやること。



[追記] 2011/03/06

この記事書いた時点で 亀は泳いだけどネギは振らなかったのですよ。ネギの方は IPv6 で接続しにいったあげくうまくいかなくて IPv4 にフォールバックしてた。最初 MTU の問題かと思ったのだけどそもそも出口で 1280 にしてるし、なにかな…というのを今日の日付変わったあたりで調査し始めてようやくわかった。

Global Interface の ACL で ip protocol 41 が permit されてなかった。ログみると "%SEC-6-IPACCESSLOGNP: list FA0-IN denied 41 192.88.99.3 -> x.x.x.x, X packets" とかモロモロ出てた。ネギは戻りの経路が違うのかな…。

あと、書いてなかったけど ICMP 系も最初閉じててうまくいってなかったりしたので、この辺のフィルタ関連は要注意だな…。