Cisco und Channeling

Was andere als Trunk (z.B. F5 Networks) oder Bonding (z.B. SuSe-Linux) bezeichnen (vereinfacht gesagt: zwei physikalische Kabel zu ein em logischen Kabel schnüren) heißt bei Cisco „Channeling“. Genaugenommen „EtherChannel“. – Und Trunking ist bei Cisco wenn man mehrere VLANs auf einen Port bindet.
Und was nützt es wenn der Server Channeling/Bonding macht aber der Switch nicht? Nix. Also: Switch konfigurieren.

 

Per Default macht Cisco nur das eigene properitäre PAgP-Protokoll. Die $Welt benutzt aber meist eher LACP. Man kann dem Ciscoswitch aber LACP beibringen.

Das Protokoll kann man allerdings nur für das jeweils ganze Modul, nicht für Ports einzeln, festlegen. Dies ist zu beachten wenn man mehrere Channels auf einem Modul hat. Das kann dann ggf. nämlich in Arbeit ausarten. 😉

 

CatOS:
Konfigurieren
Switch(enable) set port channel all distribution ip both
Switch(enable) set channelprotocol lacp <module_number>
Switch(enable) set port lacp-channel <Port1>,<Port2> <AdminKey>
Switch(enable) set port lacp-channel <Portrange> <AdminKey>
Switch(enable) set port lacp-channel <Port1>,<Port2> mode active
Switch(enable) set port lacp-channel <Portrange> mode active

Die distribution ip sorgt für Loadbalancing innerhalb des Channels und ist default. Hier aber der Vollständigkeithalber mit aufgeführt.
Der AdminKey dient dazu das sich die Ports eines Channels auf dem Switch „finden“ und wird in den LACP-Paketen ausgetauscht. Wenn man ihn beim set weg lässt sollte er automatisch gewählt werden. Wenn man dann, später aber, einen Port dem Channel hinzufügt muss man dann allerdings den AdminKey wissen und mit angeben sonst finden sich die Ports nicht zum Channel zusammen.
Der active mode sorgt dafür das der Switch aktiv Channeling anbietet und ist die sicherste und „höflichste“ Methode.

Verifizieren
Switch(enable) show channelprotocol
Switch(enable) show port lacp-channel
Switch(enable) show lacp-channel mac

 

IOS:
Konfigurieren
Switch(config) interface gigabitEthernet 1/1
Switch(config-if) switchport
Switch(config-if) channel-protocol lacp
Switch(config-if) channel-group <Channelnummer> mode active
Switch(config-if) interface gigabitEthernet 2/1
Switch(config-if) switchport
Switch(config-if) channel-protocol lacp
Switch(config-if) channel-group <Channelnummer> mode active

Die Channelnummer ist sowas wie der AdminKey beim CatOS.

Verifizieren
Switch# show etherchannel port-channel
Switch# show etherchannel <Channelnummer> detail

 

Und das wars im großen und ganzen eigentlich schon.

Das „set trunk <Port> on dot1q <VLANS>“ und „clear trunk <Port> <VLANS>“ ist die Hausaufgabe. 😉