問題の解説がCiscoの挙動と違うようなので検証した。
疑問: port-channelにメンバポートを組み入れる際、メンバポートのVLANはpo側に合わせないといけないのではないか?
結論:
- Arista cEOSではメンバポートの設定VLANではなくpoのVLAN設定が使われる。
- Cisco IOSXEではメンバポートとpoのVLAN設定が異なると、
メンバポートがsuspend
になる - Cisco NXOSではメンバポートとpoのVLAN設定が異なると、
コマンドが入らない
共通設定
RT1, RT2間をeth1,2の2本のLinkでつなぐ。poをvlan100として、メンバをvlan200,300としておき、各ルータのvlan 100同士でpingが飛ぶかを確認。図はIOS-XEの例。
cEOSでの検証
環境はContainerLab上の EOS 4.33.1.1F
Config
vlan 100,200,300
!
interface Port-Channel10
switchport trunk allowed vlan 100
switchport mode trunk
port-channel min-links 2
!
interface Ethernet1
switchport trunk allowed vlan 200
switchport mode trunk
channel-group 10 mode active
!
interface Ethernet2
switchport trunk allowed vlan 300
switchport mode trunk
channel-group 10 mode active
!
interface Vlan100
ip address 192.168.0.1/24
! RT2側は0.2
結果
ceos1#ping 192.168.0.2 repeat 1
PING 192.168.0.2 (192.168.0.2) 72(100) bytes of data.
80 bytes from 192.168.0.2: icmp_seq=1 ttl=64 time=2.69 ms
show vlan
ceos1#show vlan
1 default active
100 VLAN0100 active Cpu, Po10
200 VLAN0200 active
300 VLAN0300 active
Cisco IOS-XE
CML2のIOSXE 17.15.1
Config
vlan 100,200,300
!
interface Port-channel10
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 100
switchport mode trunk
!
interface Ethernet0/1
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 200
switchport mode trunk
channel-group 10 mode active
!
interface Ethernet0/2
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 300
switchport mode trunk
channel-group 10 mode active
!
interface Vlan100
ip address 192.168.0.1 255.255.255.0
! RT2は192.168.0.2
表示
*Feb 1 15:29:17.763: %LINEPROTO-5-UPDOWN: Line protocol on Interface Port-channel10, changed state to down
*Feb 1 15:29:42.658: %ETC-5-CANNOT_BUNDLE2: Et0/1 is not compatible with Po10 and will be suspended (vlan mask is different)
*Feb 1 15:29:42.658: %ETC-5-CANNOT_BUNDLE2: Et0/2 is not compatible with Po10 and will be suspended (vlan mask is different)
結果: NG
rt1#ping 192.168.0.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.0.2, timeout is 2 seconds:
.....
show int: 以下のようにpoに参加できずsuspendになる。
rt1#show int status
Port Name Status Vlan Duplex Speed Type
Et0/1 suspended trunk full auto 10/100/1000BaseTX
Et0/2 suspended trunk full auto 10/100/1000BaseTX
Po10 notconnect 1 full auto 10/100/1000BaseTX
show etherchannel
rt1#show etherchannel 10 summary
I - stand-alone s - suspended
10 Po10(SD) LACP Et0/1(s) Et0/2(s)
直す。両方でconfig修正。
int range eth 0/1-2
switchport trunk allowed vlan 100
入れた瞬間のlog
*Feb 1 15:36:24.999: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/1, changed state to up
*Feb 1 15:36:24.999: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/2, changed state to up
*Feb 1 15:36:28.847: %LINK-5-UPDOWN: Interface Port-channel10, changed state to up
*Feb 1 15:36:29.847: %LINEPROTO-5-UPDOWN: Line protocol on Interface Port-channel10, changed state to up
結果
rt1#ping 192.168.0.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.0.2, timeout is 2 seconds:
.!!!!
NX-OS
そもそもvlan設定が違うと入らない。
(config-if)# interface port-channel10
(config-if)# switchport
(config-if)# switchport mode trunk
(config-if)# switchport trunk allowed vlan 100
(config)# int eth 1/33
(config-if)# switchport
(config-if)# switchport trunk allowed vlan 200
(config-if)# switchport mode trunk
(config-if)# channel-group 10 mode active
Command failed: Port not compatible
Port allowed VLAN list : Port-channel VLAN list doesn't match the interface VLAN list
合わせると入る。
(config-if)# int eth 1/33
(config-if)# switchport trunk allowed vlan 100
(config-if)# channel-group 10 mode active
(config-if)#