IPv6RIPのとこはもう出来上がってるとします。
R4のIPv6 addressからR1のIPv4 addressに対してPingしたいとします。
で、ipv6 static routeは禁止です。
使っていいアドレスとして、172.16.123.10 と3555::35:3が与えられています。
R4のIPv6アドレスからR1のIPv4アドレスにPingできるようにしたいと。
まず問題の意味がよくわかりません。
ムカついてしまうくらい不親切です。
でも、設定するしかありません。
じゃあどうすればR4からR1にpingできるかとゆっくり考えてみます。
R4のipv6 interfaceからプロトコルの違うipv4 interfaceにpingして、
レスポンスをもらわなければなりません。
ここで登場するのがipv4-ipv6のNAT変換です。
ipv6アドレスからipv4アドレスに直接Pingを打つのは無理ですので、
どこかでipv6アドレスから、ipv4アドレスに変換してあげる必要があるわけですね。
トポロジをみてみると、ちょうどトランジットポイントにR3があります。
というわけで、こいつにipv6 natを設定していきます。
まず、与えられているアドレスである172.16.123.10と3555::35:3/96。
じーっと考えてみると、こいつらが実は結構なヒントであることがわかります。
こいつらはアドレスとして自由に使っていい訳ですから、
都合良くnat変換後のアドレスとして使ってやる訳ですね。
つまり、ipv6へのアクセス時はsourceアドレスを3555:35:3にします。
で、ipv4へのアクセス時はsourceアドレスを172.16.123.10にします。
こいつらを相互で変換してやれば、v4からv6への通信が成立するはずです。
まず、NAT用のprefixを登録してやる必要があります。
v6 natで使用するprefixを定義してやるわけですね。
ipv6 nat prefix 3555::/96
次にR3にNATの設定を入れていきます。
v4をv6に変換します。
ipv6 nat v4v6 source 172.16.123.1 3555::35:3
V4のsourceをV6に変換するので、ipv6 nat v4v6ですね。
これだけだと、R1からR4までは行けますが、R4から戻ってこれません。
もう一つipv6 natを設定します。
ipv6 nat v6v4 source 3555:35:5 172.16.123.10
V6のsourceをV4に変換ですね。
これでNATテーブルはどうなっているでしょうか。
R3#sh ipv6 nat tra
Prot IPv4 source IPv6 source
IPv4 destination IPv6 destination
--- --- ---
172.16.123.1 3555::35:3
--- 172.16.123.10 3500::35:5
--- ---
いい感じに変換されてます。
さて、R3とR4の間は地味にRIPngなので、
R4にはnat用のprefix 3555::/96を通知してやる必要がありますね。
何で通知してやるのがいいでしょう。
routing tableでもみてみましょう。
R3#sh ipv6 route
IPv6 Routing Table - 5 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
U - Per-user Static route
I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
C 3500::/96 [0/0]
via ::, FastEthernet0/0
L 3500::35:3/128 [0/0]
via ::, FastEthernet0/0
C 3555::/96 [0/0]
via ::, Null0
L FE80::/10 [0/0]
via ::, Null0
L FF00::/8 [0/0]
via ::, Null0
該当するウンコマンはconnectedで乗っかってますね。
じゃあ適当にconnectedでもredistしてやります。
redistしてからタバコにでも火をつけて、
R4の経路情報を確認します。
R4#sh ipv6 rou rip
IPv6 Routing Table - 5 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
U - Per-user Static route
I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
R 3555::/96 [120/2]
via FE80::C003:16FF:FE9D:0, FastEthernet0/0
ほー、もらってきてますなー。
いいですね。
ナイスゲットです。
では、R3に戻って、natをinterfaceに適用しておきましょう。
s0/0とf0/0の両方にipv6 natを適用します。
と、ココまで来たら成功するはずですから、
さっさとR4からpingを打ってみます。
verify!
R4#ping 3555::35:3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3555::35:3, timeout is 2 seconds:
.....
飛ばないんですよ。
何故なら。
R1が172.16.123.10に対してFRのmappingを書いてないんですね。
というわけで、いそいそとS0/0に対してstaticのマッピングを設定します。
そーすると...
R4#ping 3555::35:3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3555::35:3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/22/40 ms
飛びますね。
いいですね。
じゃあせっかくだし、R3でdebugでもしながらpingしてみます。
R3#debug ipv6 nat
IPv6 NAT-PT debugging is on
それではR4からPingしてみます。
R3#
*Mar 1 03:10:57.747: IPv6 NAT: icmp src (3500::35:5) -> (172.16.123.10), dst (3555::35:3) -> (172.16.123.1)
*Mar 1 03:10:57.783: IPv6 NAT: icmp src (172.16.123.1) -> (3555::35:3), dst (172.16.123.10) -> (3500::35:5)
実際は5発分同じメッセージが出てきてだいぶうざいですが、
いいですね。いい感じに変換されています。
さらにせっかくかくかくなので、R1からも打っときますか。
R3#
*Mar 1 03:12:55.919: IPv6 NAT: icmp src (172.16.123.1) -> (3555::35:3), dst (172.16.123.10) -> (3500::35:5)
*Mar 1 03:12:55.971: IPv6 NAT: icmp src (3500::35:5) -> (172.16.123.10), dst (3555::35:3) -> (172.16.123.1)
今度はちゃんと逆方向で変換されてますねー。
完成です!
0 件のコメント:
コメントを投稿