今回はHSRPv2の設定を行ってIPv6のGW冗長設定をやってみたいと思います。
やることとしては、
1, ASWを設定する
2, DSWを設定する
– ここにHSRPv2の設定を入れる
3, もろもろ確認
使用機材:
* ASW : Catalyst 3560 x2
* DSW : Ctalyst 3750 x2

スイッチを設定する
###
### ASW1
###
# 基本設定
Switch>ena
Switch#conf t
Switch(config)#hostname ASW1
# トランクの設定
ASW1(config)#int range fastEthernet 0/1 - 6
ASW1(config-if-range)#switchport
ASW1(config-if-range)#switchport trunk encapsulation dot1q
ASW1(config-if-range)#switchport trunk allowed vlan 1,10,20
ASW1(config-if-range)#switchport mode trunk
ASW1(config-if-range)#no shutdown
ASW1(config-if-range)#exit
# アクセスポートの設定
ASW1(config)#int fastEthernet 0/7
ASW1(config-if)#switchport
ASW1(config-if)#switchport mode access
ASW1(config-if)#switchport access vlan 10
ASW1(config-if)#no shutdown
ASW1(config-if)#exit
ASW1(config)#int fastEthernet 0/8
ASW1(config-if)#switchport
ASW1(config-if)#switchport mode access
ASW1(config-if)#switchport access vlan 20
ASW1(config-if)#no shutdown
ASW1(config-if)#exit
# RSTPの設定
ASW1(config)#vtp mode transparent
ASW1(config)#vlan 10,20
ASW1(config-vlan)#exit
ASW1(config)#spanning-tree mode rapid-pvst
### アクセスポートにポートファストを設定しておかないと
### STPが収束するまでだいたい30秒ぐらい通信できなくなるので注意
ASW1(config)#int range fastEthernet 0/7 - 8
ASW1(config-if-range)#spanning-tree portfast
ASW1(config-if-range)#spanning-tree bpduguard enable
ASW1(config-if-range)#end
ASW1#write memory
###
### ASW2
###
# 基本設定
Switch>ena
Switch#conf t
Switch(config)#hostname ASW2
# トランクの設定
ASW2(config)#int range fastEthernet 0/1 - 6
ASW2(config-if-range)#switchport
ASW2(config-if-range)#switchport trunk encapsulation dot1q
ASW2(config-if-range)#switchport trunk allowed vlan 1,10,20
ASW2(config-if-range)#switchport mode trunk
ASW2(config-if-range)#no shutdown
ASW2(config-if-range)#exit
# アクセスポートの設定
ASW2(config)#int fastEthernet 0/7
ASW2(config-if)#switchport
ASW2(config-if)#switchport mode access
ASW2(config-if)#switchport access vlan 10
ASW2(config-if)#no shutdown
ASW2(config-if)#exit
ASW2(config)#int fastEthernet 0/8
ASW2(config-if)#switchport
ASW2(config-if)#switchport mode access
ASW2(config-if)#switchport access vlan 20
ASW2(config-if)#no shutdown
ASW2(config-if)#exit
# RSTPの設定
ASW2(config)#vtp mode transparent
ASW2(config)#vlan 10,20
ASW2(config-vlan)#exit
ASW2(config)#spanning-tree mode rapid-pvst
ASW2(config)#int range fastEthernet 0/7 - 8
ASW2(config-if-range)#spanning-tree portfast
ASW2(config-if-range)#spanning-tree bpduguard enable
ASW2(config-if-range)#end
ASW2#write memory
###
### DWS1
###
# 基本設定
Switch>ena
Switch#conf t
Switch(config)#hostname DSW1
# トランクの設定
DSW1(config)#int range gigabitEthernet 1/0/1 - 12
DSW1(config-if-range)#switchport
DSW1(config-if-range)#switchport trunk encapsulation dot1q
DSW1(config-if-range)#switchport trunk allowed vlan 1,10,20
DSW1(config-if-range)#switchport mode trunk
DSW1(config-if-range)#no shutdown
DSW1(config-if-range)#exit
# ポートチャネルの設定
DSW1(config)#int range gigabitEthernet 1/0/11 - 12
### activeにしとくことでチャネルグループのポートに以上があった場合に一定時間経過すると、
### 該当ポートをメンバーから外してトラフィックを別ポートへ切り替えるぽい
DSW1(config-if-range)#channel-group 1 mode active
DSW1(config-if-range)#exit
DSW1(config)#int port-channel 1
DSW1(config-if)#no shutdown
DSW1(config-if)#exit
# RSTPの設定
### VTPのアップデートは中継するけど、自身には反映しないモードっぽい
### 手動で設定するときには入れといた方が良さげ
DSW1(config)#vtp mode transparent
DSW1(config)#vlan 10,20
DSW1(config-vlan)#exit
DSW1(config)#spanning-tree mode rapid-pvst
DSW1(config)#spanning-tree vlan 1,10 root primary
DSW1(config)#spanning-tree vlan 20 root secondary
# HSRPの設定
DSW1(config)#ip routing
DSW1(config)#ipv6 unicast-routing
DSW1(config)#int vlan 10
DSW1(config-if)#ip address 192.168.10.1 255.255.255.0
DSW1(config-if)#ipv6 address 2001:db8:10::1/64
### HSRPのversion2を指定する
### Catalyst 3750 だとIPv4 と IPv6 の片方しか設定できなかった。。3850とかだとどっちも設定できるっぽいが持ってない。
DSW1(config-if)#standby version 2
### IPv6のGWになるIPアドレスはリンクローカルアドレスになる。
DSW1(config-if)#standby 6 ipv6 FE80::FE
### プライオリティは高い方がRootになる
### デフォルトは100の模様
DSW1(config-if)#standby 6 priority 110
DSW1(config-if)#no shutdown
DSW1(config-if)#exit
DSW1(config)#int vlan 20
DSW1(config-if)#ip address 192.168.20.1 255.255.255.0
DSW1(config-if)#ipv6 address 2001:DB8:20::1/64
DSW1(config-if)#standby version 2
DSW1(config-if)#standby 6 ipv6 FE80::FE
DSW1(config-if)#standby 6 priority 90
DSW1(config-if)#no shutdown
DSW1(config-if)#end
DSW1#write memory
### memo
* ipv6 コマンドが通らない場合は↓で有効化できるか試す
DSW1(config)#sdm prefer dual-ipv4-and-ipv6 routing
DSW1(config)#exit
DSW1#write memory
DSW1#reload
###
### DWS2
###
# 基本設定
Switch>ena
Switch#conf t
Switch(config)#hostname DSW2
# トランクの設定
DSW2(config)#int range gigabitEthernet 1/0/1 - 12
DSW2(config-if-range)#switchport
DSW2(config-if-range)#switchport trunk encapsulation dot1q
DSW2(config-if-range)#switchport trunk allowed vlan 1,10,20
DSW2(config-if-range)#switchport mode trunk
DSW2(config-if-range)#no shutdown
DSW2(config-if-range)#exit
# ポートチャネルの設定
DSW2(config)#int range gigabitEthernet 1/0/11 - 12
DSW2(config-if-range)#channel-group 1 mode active
DSW2(config-if-range)#exit
DSW2(config)#int port-channel 1
DSW2(config-if)#no shutdown
DSW2(config-if)#exit
# RSTPの設定
DSW2(config)#vtp mode transparent
DSW2(config)#vlan 10,20
DSW2(config-vlan)#exit
DSW2(config)#spanning-tree mode rapid-pvst
DSW2(config)#spanning-tree vlan 1,10 root secondary
DSW2(config)#spanning-tree vlan 20 root primary
# HSRPの設定
DSW2(config)#ip routing
DSW2(config)#ipv6 unicast-routing
DSW2(config)#int vlan 10
DSW2(config-if)#ip address 192.168.10.2 255.255.255.0
DSW2(config-if)#ipv6 address 2001:db8:10::2/64
DSW2(config-if)#standby version 2
DSW2(config-if)#standby 6 ipv6 FE80::FE
DSW2(config-if)#standby 6 priority 90
DSW2(config-if)#no shutdown
DSW2(config-if)#exit
DSW2(config)#int vlan 20
DSW2(config-if)#ip address 192.168.20.2 255.255.255.0
DSW2(config-if)#ipv6 address 2001:DB8:20::2/64
DSW2(config-if)#standby version 2
DSW2(config-if)#standby 6 ipv6 FE80::FE
DSW2(config-if)#standby 6 priority 110
DSW2(config-if)#no shutdown
DSW2(config-if)#end
DSW2#write memory
もろもろ確認
PC1 -> PC4 にPING6 を打つ。ちゃんとGWの設定できていれば、VLAN10とVLAN20で疎通が通るはず。
$ ping6 -c 5 2001:db8:20::1002
PING6(56=40+8+8 bytes) 2001:db8:10::1001 --> 2001:db8:20::1002
16 bytes from 2001:db8:20::1002, icmp_seq=0 hlim=63 time=0.814 ms
16 bytes from 2001:db8:20::1002, icmp_seq=1 hlim=63 time=0.907 ms
16 bytes from 2001:db8:20::1002, icmp_seq=2 hlim=63 time=1.026 ms
16 bytes from 2001:db8:20::1002, icmp_seq=3 hlim=63 time=0.904 ms
16 bytes from 2001:db8:20::1002, icmp_seq=4 hlim=63 time=0.890 ms
--- 2001:db8:20::1002 ping6 statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.814/0.908/1.026/0.068 ms
$
ちゃんと通りました。つづいてHSRPの状態を確認します。
ちゃんと設定した仮想IPがあるのが確認できます。仮想IPで折り返してるからちょっと見づらいですかね。
DSW1#show standby brief
P indicates configured to preempt.
|
Interface Grp Pri P State Active Standby Virtual IP
Vl10 6 110 Active local FE80::219:2FFF:FE56:6DC1
FE80::FE
Vl20 6 90 Active local FE80::219:2FFF:FE56:6DC2
FE80::FE
DSW1#
最後に障害テストをやってみようと思います。現在HSRPがアクティブなDSW1の電源を落とします。
先ほどと同様にPC1 -> PC4 にPING6を打ちつづけて、PING6が途切れない事を確認します。
DSW2#show standby brief
P indicates configured to preempt.
|
Interface Grp Pri P State Active Standby Virtual IP
Vl10 6 90 Active local unknown FE80::FE
Vl20 6 110 Active local unknown FE80::FE
DSW2#
$ ping6 -c 30 2001:db8:20::1002
PING6(56=40+8+8 bytes) 2001:db8:10::1001 --> 2001:db8:20::1002
16 bytes from 2001:db8:20::1002, icmp_seq=0 hlim=63 time=0.853 ms
16 bytes from 2001:db8:20::1002, icmp_seq=1 hlim=63 time=0.910 ms
16 bytes from 2001:db8:20::1002, icmp_seq=2 hlim=63 time=0.850 ms
16 bytes from 2001:db8:20::1002, icmp_seq=3 hlim=63 time=0.903 ms
16 bytes from 2001:db8:20::1002, icmp_seq=4 hlim=63 time=0.996 ms
16 bytes from 2001:db8:20::1002, icmp_seq=5 hlim=63 time=0.907 ms
16 bytes from 2001:db8:20::1002, icmp_seq=6 hlim=63 time=0.852 ms
16 bytes from 2001:db8:20::1002, icmp_seq=7 hlim=63 time=0.893 ms
16 bytes from 2001:db8:20::1002, icmp_seq=8 hlim=63 time=0.944 ms
16 bytes from 2001:db8:20::1002, icmp_seq=9 hlim=63 time=0.891 ms
16 bytes from 2001:db8:20::1002, icmp_seq=10 hlim=63 time=1.051 ms
16 bytes from 2001:db8:20::1002, icmp_seq=21 hlim=63 time=4.828 ms
16 bytes from 2001:db8:20::1002, icmp_seq=22 hlim=63 time=0.820 ms
16 bytes from 2001:db8:20::1002, icmp_seq=23 hlim=63 time=0.960 ms
16 bytes from 2001:db8:20::1002, icmp_seq=24 hlim=63 time=1.000 ms
16 bytes from 2001:db8:20::1002, icmp_seq=25 hlim=63 time=0.773 ms
16 bytes from 2001:db8:20::1002, icmp_seq=26 hlim=63 time=0.906 ms
16 bytes from 2001:db8:20::1002, icmp_seq=27 hlim=63 time=0.862 ms
16 bytes from 2001:db8:20::1002, icmp_seq=28 hlim=63 time=0.952 ms
16 bytes from 2001:db8:20::1002, icmp_seq=29 hlim=63 time=1.071 ms
--- 2001:db8:20::1002 ping6 statistics ---
30 packets transmitted, 20 packets received, 33.3% packet loss
round-trip min/avg/max/std-dev = 0.773/1.111/4.828/0.856 ms
$
HSRPの切り替え中は若干パケロスが発生しますが無事切り替わってます。以上で今回の検証を終わりたいとおもいます。
それではまた。