Cisco VLAN Trunk erstellen, testen

Anmerkung: In eckigen Klammern '[...]’ stehen weitere Inhalte oder Kommentare.

Trunk

Ein Trunk wird verwendet, wenn verschiedene VLAN-Informationen über eine physische Verbindung übermittelt werden müssen.

Gedankenmodell

In einem Gebäude sind in Ergdeschoss und Obergeschoss die PCs über einen Switch miteinander verbunden. Auf jeder Ebene sind weiter in jedm Switch verschiedene VLANS eingerichtet.

Vom Switch im Erdgeschoss zum dem Switch im Obergeschoss gibt es zwei physische Verbindungen zu den unterschiedlichen VLANs.

Vom Switch im Erdgeschoss gibt es zwei physische Verbindungen beider VLANs zu einem Router.

Das funktioniert alles, is jedoch nicht gut zu erweitern. Wenn man sich vorstellt, dass es deutlich mehr Etage zu versorgen gibt, müsste es damit auch deutlich mehr physische Verbindungen der Switche untereinander geben.

Hier kommt der Trunk ist Spiel. Es gibt durch den Trunk von Switch zu Switch bzw. vom Switch im Ergeschoss zum Router lediglich noch eine phyische Verbindung, über welche die Daten übertragen werden. Damit die Switche nun erkennen können, für welches VLAN eine Information vorgesehen ist, wird an das Ethernetframe ein sogenanntes 'Tag' gesetzt.

Einmal eingerichtet überträgt der Trunk dann die Informationen ver verschiedenen VLANs und anhand des 'Tag' ist zu erkennen, für welches VLAN das Datenpaket ist.

Hinweis:
Bei einem Cisco-Switch kann das Native-VLAN keine Tags erhalten.

Switchportmodi

Befehlsoptionen      Beschreibung
access               ist immer Access-Port zum Anschluss 
                     eines Endgerätes
                     Ein Endgerät ist immer an einem 
                     Access-Port angeschlossen.

trunk                Es wird immer ein Trunk-Port erstellt

dynamic desirable    Sendet/Empfängt DTP-Frames

dynamic auto         Wartet auf DTP-Frames, will ein Trunk werden,
                     sendet jedoch keine DTP-Frames

Matrix mit Kombinationsmöglichkeiten, damit ein Trunk erstellt wird.

||==================================================================||
|| Verwaltungs- || access     || dynamic- || trunk     || dynamic   ||
|| modi         ||            || auto     ||           || desirable ||
||==================================================================||
| access        | access      | access    | ! nicht    | access      |
|               |             |           | einrichten |             |
|-----------------------------------------|------------|-------------|
| dynamic       | access      | access    | trunk      | trunk       |
| auto          |             |           |            |             |
|-----------------------------------------|------------|-------------|
| trunk         | ! nicht     | trunk     | trunk      | trunk       |
|               | einrichten  |           |            |             |
|-----------------------------------------|------------|-------------|
| dynamic       | access      | trunk     | trunk      | trunk       |
| desirable     |             |           |            |             |
|--------------------------------------------------------------------|

Aufgabe

Ein Trunk soll eingerichtet und dessen Funktionalität getestet werden.

Durchführung

Vorhanden und in dieser Reihenfolge untereinander verbunden sind:

                  Switch1[Fa0/10]--[Fa0]PC1
                  [Gig0/1]
                     |
                     |
                  [Gig0/1]
PC0[Fa0]--[Fa0/10]Switch0

Es gibt keine Konfiguration bei den Switches

sw01# sh vlan

Dies ist die Konfiguration der PCs

PC0
192.168.10.10
255.255.255.0
PC1
192.168.10.20
255.255.255.0

Testen der Konfiguration

Die Kommunikation der PCs untereinander wird durch ein Ping erfolgreich getestet.
Grund: Es gibt keine Konfiguration der Switches.

C:\>ping 192.168.10.20
Pinging 192.168.10.20 with 32 bytes of data:

Reply from 192.168.1.20 bytes=32 time<1ms TTL=128
Reply from 192.168.1.20 bytes=32 time<1ms TTL=128
Reply from 192.168.1.20 bytes=32 time<1ms TTL=128
Reply from 192.168.1.20 bytes=32 time<1ms TTL=128

Ping statistics for 192.168.10.20:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milliseconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

Konfiguration Switch0

VLAN erstellen

Switch>ena
Switch#conf t
Switch(config)#vlan 10
Switch(config-vlan)#name BUCHHALTUNG
Switch(config-vlan)#end
Switch# sh vl br

VLAN Name        Status Ports
---- ----------- ------ -------------------------
1    default     active Fa0/1, Fa/0/2, Fa/0/3, Fa/0/4
                        [...]
                        Fa0/21, Fa0/23, Fa0/23, Fa0/24
                        Gib0/1, Gig0/2
10   BUCHHALTUNG active
[...]

Switchport Fa0/10 VLAN 10 zuweisen

Switch#conf t
Switch(config)#interface fastEthernet 0/10
Switch(config-if)#switchport access vlan 10
Switch(config)#end
Zuweisung Fa0/10 prüfen
Switch#sh vl br

VLAN Name        Status Ports
---- ----------- ------ -------------------------
1    default     active Fa0/1, Fa/0/2, Fa/0/3, Fa/0/4
                        [...]
                        Fa0/21, Fa0/23, Fa0/23, Fa0/24
                        Gib0/1, Gig0/2
10   BUCHHALTUNG active Fa0/10
[...]

Konfiguration Switch1

VLAN erstellen und Switchport zuweisen

Switch>ena
Switch#conf t
Switch(config)#vlan 10
Switch(config-vlan)#name BUCHHALTUNG
Switch(config-vlan)#exit
Switch(config)#interface fastEthernet 0/10
Switch(config-if)#switchport access vlan 10
Switch(config)#end
Switch#

Switch# sh vl br

VLAN Name        Status Ports
---- ----------- ------ -------------------------
1    default     active Fa0/1, Fa/0/2, Fa/0/3, Fa/0/4
                        [...]
                        Fa0/21, Fa0/23, Fa0/23, Fa0/24
                        Gib0/1, Gig0/2
10   BUCHHALTUNG active Fa0/10
[...]

Ping-Test

Ein Ping ist nun nicht mehr erfolgreich.
Grund
Auf Switch0 ist Fa0/10 Bestandteil von Vlan 10
Auf Switch1 ist Fa0/10 Bestandteil von Vlan 10
Die beiden Switche wissen im Moment nicht, was mit den Ethernetframes, die ein Vlan-Tag erhalten haben, geschehen soll.

Es muss eine Verbindung, ein Trunk konfiguriert werden zwischen Gig0/1 von Switch0 zu Gig0/1 von Switch1.

Konfiguration Switch0 anschauen

Switch#sh interface gigbitEthernet 0/1 switchport

Name: Gig0/1
Switchport: Enabled
Administrative Mode: dynamic auto
OperationalMode: static access
Administrative Trunking Encapsulation: dot1q
Operational Trunking Encapsulation: native
Negotiation of Trunking: On
Access Mode VLAN: 1 (default)
Trunking native Mode VLAN: 1 (default)
Voice VLAN: none
[...]

'Administrative Mode: dynamic auto' und
'OperationalMode: static access' zeigen an:
Dieser Switchport und ebenfalls der von Switch1 werden keinen Trunk ergeben.

Die Einrichtung kann so erfolgen, dass beide Ports der beteiligten Switche eine Trunk ergeben oder, weil Switch0 auf 'dynamic auto' gesetzt ist, kann Switch1 so eingerichtet werden, dass der betreffende Port ein Trunk ist und dann wird der Trunk erstellt.

Trunk einrichten von Switch1 aus

Wegen der besseren Übersichtlichkeit habe ich Leerzeilen eingefügt.
Die Hilfe wird immer wieder aufgerufen, um die möglichen Kommandos zu zeigen.

Der Trunk wird von Switch1 aus aufgebaut. Switch0 ist sozusagen in Bereitschaft und wird 'auf Zuruf' einen Trunk bilden.

Switch#conf t
Switch(config)#interface gigabitEthernet 0/1

Switch(config-if)#switchport ? [ruft die Hilfe auf]
  access         Set access mode characteristics of the interface
  mode           Set trunking mode of the interface
  native         Set trunking native characteristics when
                 interface is in trunking mode
  nonegotiate    Device will not engagne in negotiation protocol
                 in this interface
  port security  Security related command
  prioritiy      Set appliance 802.1p priority
  trunk          Set trunking characteristics of the interface
  voice          Voice appliance attributes

Switch(config-if)#switchport trunk ? [ruft die Hilfe auf]
  allowed  Set allowed native characteristics when
           interface ist in trunking mode
  native   Set trunking native characteristics when 
           interface is in trunking mode

Switch(config-if)#switchport trunk mode ? [ruft die Hilfe auf]
  access   Set trunking mode to ACCESS uncoditionally
  dynamic  Set trunking mode to dynamically negotiate
           access or trunk mode
  trunk    Set trunking mod to TRUNK unconditionally

Switch(config-if)#switchport mode dynamic ? [ruft die Hilfe auf]
  auto       Set trunking mode dynamic negotiation 
             parameter to AUTO
desirable    Set trunking mode negotiation 
             parameter to DESIRABLE

[Das Kommando, den Trunk zu bilden:]
Switch(config-if)#switchport mode dynamic desirable

[Der Trunk wid im Hintergrund erstellt.]
Switch(config-if)#
%LINEPROTO-5UPDOWN: Line protocol on Interface GigagbitEthernet0/1, changed state to up

%LINEPROTO-5UPDOWN: Line protocol on Interface GigagbitEthernet0/1, changed state to down

%LINEPROTO-5UPDOWN: Line protocol on Interface GigagbitEthernet0/1, changed state to up

[Trunkerstellung kontrollieren]
Switch(config-if)#end
Switch#show interfaces trunk
port        Mode         Encapsulation  Status      Native vlan
Gig0/1      desireable   n-802.1q       trunking    1

Port        Vlans allowed on trunk
Gig0/1      1-1005

Port        Vlans allowed an active in management domain
Gig0/1      1,10

Port        Vlans in spannung tree forwarding state and not pruned
Gig0/1      none

Switch#

Der Trunk wurde von Switch1 aus erstellt. Bei Switch0 war 'dynamic auto' eingestellt. Er ist bereit, ein Trunk zu werden, sendet jedoch noch keine TCP-Frames.

Switch1 war 'dynamic desirable' eingestellt, er sendet TCP-Frames. Diese TCP-Frames wurden von Switch0 empfangen und ein Trunk wurde erstellt.

Ein Ping gelingt nun wieder.

Quelle: Tom Wechsler