OSPFv3の前に、RIPngの続き。
IPv6-R0#show ipv6 route
IPv6 Routing Table - default - 5 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP
H - NHRP, D - EIGRP, EX - EIGRP external, ND - ND Default
NDp - ND Prefix, DCE - Destination, NDr - Redirect, O - OSPF Intra
OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2, ON1 - OSPF NSSA ext 1
ON2 - OSPF NSSA ext 2, la - LISP alt, lr - LISP site-registrations
ld - LISP dyn-eid, a - Application
C FD00:0:115:1313::/64 [0/0]
via Vlan1, directly connected
L FD00:0:115:1313::FF/128 [0/0]
via Vlan1, receive
R FD00:0:115:A860::/64 [120/3]
via FE80::226:99FF:FEC8:287C, Vlan1
R FD00:0:115:C700::/126 [120/2]
via FE80::226:99FF:FEC8:287C, Vlan1
L FF00::/8 [0/0]
via Null0, receive
IPv6-R0#show ipv6 route FD00:0:115:A860::/64
Routing entry for FD00:0:115:A860::/64
Known via "rip HajimetenoRIPng", distance 120, metric 3
Route count is 1/1, share count 0
Routing paths:
FE80::226:99FF:FEC8:287C, Vlan1
Last updated 00:54:26 ago
IPv6-R0#
OSPFは、とりあえず全インターフェースでしゃべらせる。ディスタンスで全部経路が書き換わるので、あとはデフォルトルートの再配信・・・は外部に向けてのルートがないのでR0でNullで落とすか。R1で載せてR2でテーブルを確認しよう。
さて、イージス先生の解説はこちら。
http://www.infraexpert.com/study/ipv6z16.html
年も変わったであらためて書くが、この場はこのblogタイトルや説明の通り、誤3で四苦八苦なネタしかないので、きちんと学ぼうとする人は、イージス先生(正しくは「ネットワークエンジニアとして」さん)のWebコンテンツなりほかの教材を丁寧に学習なさいますように。
イージス先生の解説に戻って。v3がv2から変わった点はそう多くなく、
・LSAのタイプ8およびタイプ9
・ネイバーやネクストホップをリンクローカルアドレスで認識
・おしゃべり対象をサブネット毎でなくインターフェース毎で設定
が目立った違いであるようだ。ほかに、プロトコル番号がネクストヘッダの番号というとらえ方になっていたり、また、IPsecで認証できたりもするようだが。後者は先々の課題。
それから、IPv6なのでマルチキャストのアドレスは当然異なるが末尾の値はOSPFv2と同じ。
話はちょっと逸れるが引用一つ。技評で以前掲載されていた高木氏の実践的技術コラムから
タイプ2ネットワークLSAはなぜ必要か?
http://gihyo.jp/admin/serial/01/net_prac_tech/0012
さておき設定。
IPv6-R0(config)#ipv6 router ospf 6277
IPv6-R0(config-rtr)#exit
IPv6-R0(config)#int
IPv6-R0(config)#interface vlan 1
IPv6-R0(config-if)#ipv6 ospf 6277 ?
area Set the OSPF area ID
IPv6-R0(config-if)#ipv6 ospf 6277 area ?
<0-4294967295> OSPF area ID as a decimal value
A.B.C.D OSPF area ID in IP address format
IPv6-R0(config-if)#ipv6 ospf 6277 area 17219190 ?
instance Set the OSPF instance
<cr>
IPv6-R0(config-if)#ipv6 ospf 6277 area 17219190
IPv6-R0(config-if)#
IPv6-R3(config)#ipv6 router ospf 6277 ?
<cr>
IPv6-R3(config)#ipv6 router ospf 6277
IPv6-R3(config-rtr)#ma
IPv6-R3(config-rtr)#maximum-paths 15
IPv6-R3(config-rtr)#?
area OSPF area parameters
auto-cost Calculate OSPF interface cost according to bandwidth
bfd BFD configuration commands
default Set a command to its defaults
default-information Distribution of default information
default-metric Set metric of redistributed routes
discard-route Enable or disable discard-route installation
distance Administrative distance
distribute-list Filter networks in routing updates
event-log OSPF Event Logging
exit Exit from IPv6 routing protocol configuration mode
graceful-restart Graceful-restart options
ignore Do not complain about specific event
interface-id Source of the interface ID
log-adjacency-changes Log changes in adjacency state
maximum-paths Forward packets over multiple paths
no Negate a command or set its defaults
passive-interface Suppress routing updates on an interface
queue-depth OSPF Hello/Router process queue depth
redistribute Redistribute IPv6 prefixes from another routing
protocol
router-id router-id for this OSPF process
summary-prefix Configure IPv6 summary prefix
timers Adjust routing timers
IPv6-R3(config-rtr)#
IPv6-R3(config-rtr)#exit
IPv6-R3(config)#interface vlan 1
IPv6-R3(config-if)#end
IPv6-R3#
IPv6-R3#conf t
Enter configuration commands, one per line. End with CNTL/Z.
IPv6-R3(config)#
IPv6-R3(config)#int fa
IPv6-R3(config)#int fastEthernet 1
IPv6-R3(config-if)#ipv6 ospf area 17219190
^
% Invalid input detected at '^' marker.
IPv6-R3(config-if)#ipv6 ospf 6277 area 17219190
IPv6-R3(config-if)#exit
IPv6-R3(config)#int
IPv6-R3(config)#interface vlan
IPv6-R3(config)#interface vlan 1
IPv6-R3(config-if)#ipv6 ospf 6277 area 192168960
IPv6-R3(config-if)#
IPv6-R3(config-if)#
IPv6-R3(config-if)#end
IPv6-R2(config)#ipv6 router ospf ?
<1-65535> Process ID
IPv6-R2(config)#ipv6 router ospf 6277
IPv6-R2(config-rtr)#max
IPv6-R2(config-rtr)#maximum-paths 7
IPv6-R2(config-rtr)#exit
IPv6-R2(config)#interface vlan 1
IPv6-R2(config-if)#ipv6 ospf 6277 area 17219190
IPv6-R2(config-if)#exit
Jan 5 14:02:45.179: %OSPFv3-5-ADJCHG: Process 6277, Nbr 192.255.255.255 on Vlan1 from LOADING to FULL, Loading Done
IPv6-R2(config)#interface fastEthernet 0
IPv6-R2(config-if)#ipv6 ospf 6277 area 17219190
IPv6-R2(config-if)#
Jan 5 14:02:59.391: %OSPFv3-5-ADJCHG: Process 6277, Nbr 192.168.96.254 on FastEthernet0 from LOADING to FULL, Loading Done
IPv6-R2(config-if)#
ルータIDを敢えて設定していないので、IPv4のインターフェースアドレスのひとつがIPv6のOPSFでも使われていて、少々マギラワシイ。
そして、別の1台にも同様の作業をする中で
IPv6-RC0(config)#ipv6 unicast-routing
IPv6-RC0(config)#ipv6 router ospf 6277
IPv6-RC0(config-rtr)#maximum-paths 19
IPv6-RC0(config-rtr)#exit
IPv6-RC0(config)#interface fastEthernet 1
IPv6-RC0(config-if)#ipv6 ospf 6277 area 17219190
% OSPFv3: No IPV6 enabled on this interface
IPv6-RC0(config-if)#ipv6 address fd00:0:115:c700::6/126
IPv6-RC0(config-if)#ipv6 ospf 6277 area 17219190
IPv6-RC0(config-if)#end
ユニキャストルーティング、OSPFプロセス、マキシマムパス(必要時)、インターフェース(ここでは前後してアドレス設定も)にプロセスとエリア、これらが最低限で動作はするが、ルータidがv4のアドレスしかも実インタフェースのアドレスではどうにも。そこでループバック追加。
IPv6-RC0#conf t
Enter configuration commands, one per line. End with CNTL/Z.
IPv6-RC0(config)#interface ?
Async Async interface
Auto-Template Auto-Template interface
BRI ISDN Basic Rate Interface
BVI Bridge-Group Virtual Interface
CDMA-Ix CDMA Ix interface
CTunnel CTunnel interface
Dialer Dialer interface
FastEthernet FastEthernet IEEE 802.3
Group-Async Async Group interface
LISP Locator/ID Separation Protocol Virtual Interface
Lex Lex interface
LongReachEthernet Long-Reach Ethernet interface
Loopback Loopback interface
Multilink Multilink-group interface
Null Null interface
Tunnel Tunnel interface
Vif PGM Multicast Host interface
Virtual-Dot11Radio Virtual dot11 interface
Virtual-PPP Virtual PPP interface
Virtual-Template Virtual Template interface
Virtual-TokenRing Virtual TokenRing
Vlan Vlan IEEE 802.1q
range interface range command
vmi Virtual Multipoint Interface
IPv6-RC0(config)#interface loopback ?
<0-2147483647> Loopback interface number
IPv6-RC0(config)#interface loopback 6277
IPv6-RC0(config-if)#i
Jan 5 14:25:51.426: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback6277, changed state to up
IPv6-RC0(config-if)#
IPv6-RC0(config-if)#ipv6 address ?
WORD General prefix name
X:X:X:X::X IPv6 link-local address
X:X:X:X::X/<0-128> IPv6 prefix
autoconfig Obtain address using autoconfiguration
dhcp Obtain a ipv6 address using dhcp
IPv6-RC0(config-if)#ipv6 address autoconfig
IPv6-RC0(config-if)#end
IPv6-RC0#
IPv6-RC0#
Jan 5 14:26:15.471: %SYS-5-CONFIG_I: Configured from console by console
IPv6-RC0#
IPv6-RC0#show ipv6 int brief
BRI0 [administratively down/down]
unassigned
BRI0:1 [administratively down/down]
unassigned
BRI0:2 [administratively down/down]
unassigned
FastEthernet0 [down/down]
unassigned
FastEthernet1 [up/up]
FE80::223:4FF:FEE9:5269
FD00:0:115:C700::6
FastEthernet2 [up/down]
unassigned
FastEthernet3 [up/down]
unassigned
FastEthernet4 [up/down]
unassigned
FastEthernet5 [up/down]
unassigned
FastEthernet6 [up/down]
unassigned
FastEthernet7 [up/down]
unassigned
FastEthernet8 [up/down]
unassigned
FastEthernet9 [up/up]
unassigned
Loopback6277 [up/up]
FE80::223:4FF:FEE9:5268
NVI0 [administratively down/down]
unassigned
Vlan1 [up/up]
FE80::223:4FF:FEE9:5268
FD00:0:115:A860:223:4FF:FEE9:5268
IPv6-RC0#
ループバックのアドレスを自動設定したところ、VLAN 1 のリンクローカルアドレスそのままとなった。そういう仕様かなるほど。
また、ループバックを設定したからといってOSPFのルータIDになるわけでもないので、
IPv6-RC0#show ipv6 ospf
Routing Process "ospfv3 6277" with ID 172.19.64.254
Event-log enabled, Maximum number of events: 1000, Mode: cyclic
Initial SPF schedule delay 5000 msecs
Minimum hold time between two consecutive SPFs 10000 msecs
Maximum wait time between two consecutive SPFs 10000 msecs
Minimum LSA interval 5 secs
Minimum LSA arrival 1000 msecs
LSA group pacing timer 240 secs
Interface flood pacing timer 33 msecs
Retransmission pacing timer 66 msecs
Number of external LSA 0. Checksum Sum 0x000000
Number of areas in this router is 1. 1 normal 0 stub 0 nssa
Graceful restart helper support enabled
Reference bandwidth unit is 100 mbps
Area 17219190
Number of interfaces in this area is 1
SPF algorithm executed 1 times
Number of LSA 3. Checksum Sum 0x01FF07
Number of DCbitless LSA 0
Number of indication LSA 0
Number of DoNotAge LSA 0
Flood list length 0
IPv6-RC0#
IPv6-RC0#
結局idは別途設定が必要と。 ただ、設定が必要とはいえ、
IPv6-RC0#conf t
Enter configuration commands, one per line. End with CNTL/Z.
IPv6-RC0(config)#ipv6 router ospf 6277
IPv6-RC0(config-rtr)#router-id ?
A.B.C.D OSPF router-id in IP address format
IPv6-RC0(config-rtr)#router-id 0.0.0.0
% OSPFv3: 0.0.0.0 is not a valid router-id
このv4アドレスライクな形式でしか入らんのがイマイチちぐはぐな。あるいは、敢えてv4と共通化しようという意図なのかもしれないが、どこかでしっかり(カネを貢いで)学べば手取り足取り教えてもらえるかも。あと、何気に0.0.0.0はダメなようだ、どうでもいいが。
IPv6-RC0(config-rtr)#router-id 5.5.5.5
IPv6-RC0(config-rtr)#end
IPv6-RC0#
IPv6-RC0#
Jan 5 14:28:46.550: %SYS-5-CONFIG_I: Configured from console by console
IPv6-RC0#
IPv6-RC0#show ipv6 ospf
Routing Process "ospfv3 6277" with ID 5.5.5.5
Event-log enabled, Maximum number of events: 1000, Mode: cyclic
Initial SPF schedule delay 5000 msecs
Minimum hold time between two consecutive SPFs 10000 msecs
Maximum wait time between two consecutive SPFs 10000 msecs
Minimum LSA interval 5 secs
Minimum LSA arrival 1000 msecs
LSA group pacing timer 240 secs
Interface flood pacing timer 33 msecs
Retransmission pacing timer 66 msecs
Number of external LSA 0. Checksum Sum 0x000000
Number of areas in this router is 1. 1 normal 0 stub 0 nssa
Graceful restart helper support enabled
Reference bandwidth unit is 100 mbps
Area 17219190
Number of interfaces in this area is 1
SPF algorithm executed 1 times
Number of LSA 3. Checksum Sum 0x00E4CE
Number of DCbitless LSA 0
Number of indication LSA 0
Number of DoNotAge LSA 0
Flood list length 0
IPv6-RC0#
それから、ここまでやってイージス先生の「わかりやすくするためリンクローカルアドレスを静的に設定」の意味がわかった。なるほど自動では把握し難いし教えがたいし管理も煩雑。設定も煩雑だが。
続いて、きちんとアドレス設計をしておらず単に設定をぶちこんでいるだけだが、アドレス集約を
IPv6-RJ0#conf t
Enter configuration commands, one per line. End with CNTL/Z.
IPv6-RJ0(config)#ipv6 router ospf 6277
IPv6-RJ0(config-rtr)#area 17219190 fd00:0:115::/48
^
% Invalid input detected at '^' marker.
IPv6-RJ0(config-rtr)#area 17219190 range fd00:0:115::/48
ユニークローカルユニキャストでも集約はできた。range というワードを使う点はv4と全く異なる。もっとも、ワイルドカードと比べようもないぐらいシンプルでわかりやすいので好ましい。
次に、イージス先生のところではLSAタイプの比較表がある。たいへんありがたい。ただ、この下の内容が少々唐突で説明もおかしいような気がするが、如何せん当方が無知すぎるので的ハズれの可能性大。
この点は、いちおうRFC4970を。
https://tools.ietf.org/html/rfc4970
動作状況のチェックについては
show ipv6 protocols
show ipv6 ospf
show ipv6 ospf int
show ipv6 ospf nei
show ipv6 ospf database
など。
また、以前、自分が無知すぎる故ペンディングになったWindowsにおけるリンクローカルアドレスの自動生成(EUI-64かランダムかあるいはほかの何か?)について。Windowsのシェルで変更の余地があるようなので次にコマンドのヘルプを。
C:\Windows\system32>netsh interface ipv6 ?
使用できるコマンドは次のとおりです:
このコンテキストのコマンド:
6to4 - 'netsh interface ipv6 6to4' コンテキストに変更します。
? - コマンドの一覧を表示します。
add - テーブルに構成エントリを追加します。
delete - テーブルから構成エントリを削除します。
dump - 構成スクリプトを表示します。
help - コマンドの一覧を表示します。
isatap - 'netsh interface ipv6 isatap' コンテキストに変更します。
reset - IP 構成をリセットします。
set - 構成情報を設定します。
show - 情報を表示します。
利用できるサブコンテキストは次のとおりです:
6to4 isatap
コマンドのヘルプを表示するには、コマンドの後にスペースを入れ、
? と入力してください。
C:\Windows\system32>netsh interface ipv6 set ?
使用できるコマンドは次のとおりです:
このコンテキストのコマンド:
set address - インターフェイスに IP アドレスまたはデフォルト ゲートウェイを設定します。
set compartment - コンパートメント構成パラメーターを変更します。
set dnsservers - DNS サーバーのモードおよびアドレスを設定します。
set dynamicportrange - 動的ポート割り当てに使用するポートの範囲を変更します。
set global - グローバル構成一般パラメーターを変更します。
set interface - IP のインターフェイス構成パラメーターを変更します。
set locality - locality の情報を表示します。
set neighbors - 近隣アドレスを設定します。
set prefixpolicy - プレフィックス ポリシー情報を変更します。
set privacy - プライバシー構成パラメーターを変更します。
set route - ルートのパラメーターを変更します。
set subinterface - サブインターフェイス構成パラメーターを変更します。
set teredo - Teredo 状態を設定します。
C:\Windows\system32>netsh interface ipv6 set global ?
使用法: set global [[defaultcurhoplimit=]<整数>]
[neighborcachelimit=]<整数>
[[routecachelimit=]<整数>] [[reassemblylimit=]<整数>]
[[icmpredirects=]enabled|disabled]
[[sourceroutingbehavior=]drop|forward|dontforward]
[[taskoffload=]enabled|disabled]
[[dhcpmediasense=]enabled|disabled]
[[mediasenseeventlog=]enabled|disabled]
[[mldlevel=]none|sendonly|all]
[[mldversion=]version1|version2|version3]
[[multicastforwarding=]enabled|disabled]
[[groupforwardedfragments=]enabled|disabled]
[[randomizeidentifiers=]enabled|disabled]
[[store=]active|persistent]
[[addressmaskreply=]enabled|disabled]
[[minmtu=]<整数>]
パラメーター:
タグ 値
defaultcurhoplimit - 送信したパケットの既定のホップ制限です。
neighborcachelimit - 近隣キャッシュ エントリの最大数です。
routecachelimit - ルート キャッシュ エントリの最大数です。
reassemblylimit - 再構築バッファーの最大サイズです。
icmpredirects - ICMP リダイレクト パケットに応答してパス キャ
ッシュが更新されたかどうかを示します。
sourceroutingbehavior - ソース ルートが指定されたパケットの動作を
決定します。ソース ルートが指定された IPv6
パケットの転送は、RFC 5095 でサポートが削除
されたため、今後は、forward と設定しても
dontforward と同じ結果となります。
taskoffload - タスク オフロードが有効かどうかを示します。
dhcpmediasense - メディア検出が有効かどうかを示します。
mediasenseeventlog - メディア検出ログが有効かどうかを示します。
mldlevel - マルチキャスト サポートのレベルです。none は
マルチキャスト パケットを送受信できないことを
示します。sendonly はマルチキャスト パケットの
送信はできても、受信はできないことを示します。
all は、マルチキャスト パケットを送受信できる
ことを示します。
mldversion - ホストでサポートされる最大 MLD バージョンです。
multicastforwarding - マルチキャスト パケットを転送できるかどうかを
示します。
groupforwardedfragments - フラグメントを転送する前にグループ化するか
どうかを示します。
randomizeidentifiers - インターフェイス識別子をランダム化するか
どうかを示します。
store - 次のいずれかの値を指定します:
active: 設定は次の起動時までしか適用されません。
persistent: 設定は固定されます。これは既定値です。
addressmaskreply - コンピューターが ICMP アドレス マスク パケットに
応答するかどうかを示します。
minmtu - 断片化を防ぐために設定する IP MTU の最小値。
MTU のサイズを小さくすると、パフォーマンスが
大幅に低下する可能性があります。
IPv4 の場合、値は 352 ~ 576 で可変
IPv6 の場合、値は 1280 で固定
注釈: グローバル構成一般パラメーターを変更します。
例:
set global 32 100 100000
C:\Windows\system32>netsh interface ipv6 set global randomizeidentifiers ?
パラメーターが間違っています。
C:\Windows\system32>netsh interface ipv6 set global randomizeidentifiers=enabled
OK
C:\Windows\system32>
C:\Windows\system32>netsh interface ipv6 set global randomizeidentifiers=disabled
OK
C:\Windows\system32>netsh interface ipv6 set global randomizeidentifiers=enabled
OK
C:\Windows\system32>
C:\Windows\system32>
C:\Windows\system32>
なお、これらのオプションの中には、Windowsにおける静的経路の設定を思わせるような「うそでしょ!?昨日の夜のことは何だったの!?」タイプの定義もあるようだ。昨今、スリープばかりでリブートしないユーザの場合はひょっとしたら気づくことが遅れるかもしれない。
0 件のコメント:
コメントを投稿