01/07/2016

Cisco – Virtuelle Entbuendelung

Beispielconfig fuer einen Cisco ME3600X oder ASR920. Es sind einige Werte (zB MTU etc) drin, die natuerlich so nicht zu jeder Anwendung passen koennen/werden/muessen.

Host(config)# bridge-domain 1
Host(config)# bridge-domain 2
Host(config)# interface GigabitEthernet0/1
Host(config-if)# description ZUM WAEHLAMT FUER VIRTUELLE ENTBUENDELUNG
Host(config-if)# switchport trunk allowed vlan none
Host(config-if)# switchport mode trunk
Host(config-if)# mtu 9800
Host(config-if)# load-interval 30
Host(config-if)# no cdp enable
Host(config-if)# spanning-tree portfast trunk
Host(config-if)# spanning-tree bpdufilter enable
Host(config-if)# service instance 1 ethernet
Host(config-if-srv)# description KUNDE 01
Host(config-if-srv)# encapsulation dot1q 12 second-dot1q 16
Host(config-if-srv)# rewrite ingress tag pop 2 symmetric
Host(config-if-srv)# bridge-domain 1 split-horizon group 0
Host(config-if-srv)# mac security maximum addresses 12
Host(config-if-srv)# mac security sticky
Host(config-if-srv)# mac security sticky address aaaa.bbbb.cccc
Host(config-if-srv)# mac security violation restrict
Host(config-if-srv)# mac security
Host(config-if-srv)# exit
Host(config-if)# service instance 2 ethernet
Host(config-if-srv)# description KUNDE 02
Host(config-if-srv)# encapsulation dot1q 12 second-dot1q 20
Host(config-if-srv)# rewrite ingress tag pop 2 symmetric
Host(config-if-srv)# bridge-domain 1 split-horizon group 0
Host(config-if-srv)# mac security maximum addresses 12
Host(config-if-srv)# mac security sticky
Host(config-if-srv)# mac security sticky address 1111.2222.3333
Host(config-if-srv)# mac security violation restrict
Host(config-if-srv)# mac security
Host(config-if-srv)# exit
Host(config-if)# service instance 3 ethernet
Host(config-if-srv)# description KUNDE 03
...
Host(config-if)# interface GigabitEthernet0/24
Host(config-if)# description INTERFACE RICHTUNG PROVIDER
Host(config-if)# switchport trunk allowed vlan none
Host(config-if)# switchport mode trunk
Host(config-if)# mtu 9800
Host(config-if)# load-interval 30
Host(config-if)# service instance 1 ethernet
Host(config-if-srv)#   encapsulation dot1q 2
Host(config-if-srv)#   rewrite ingress tag pop 1 symmetric
Host(config-if-srv)#   bridge-domain 2

Erklaerung:

Host(config-if)# service instance 1 ethernet
Host(config-if-srv)# description KUNDE 01
Host(config-if-srv)# encapsulation dot1q 12 second-dot1q 16
Host(config-if-srv)# rewrite ingress tag pop 2 symmetric
Host(config-if-srv)# bridge-domain 1 split-horizon group 0

Kunde 01 steckt auf dem DSLAM mit dem DSLAM VLAN Tag 12 und hat den Kunden VLAN Tag 16. Wir legen den Kunden in die service-instance 1 und mit rewrite ingress tag pop 2 symmetric entfernen (pop) wir BEIDE (2) 802.1q Tags in beide Richtungen (symetric). Den Kunden identifizieren wir ueber die service-instance. Die service-instance weissen wir dann der bridge-domain 1 zu und mit split-horizon unterbinden wir die direkte Kommunikation von Teilnehmern in dieser bridge-domain.

Waere Kunde 02 auf einem anderen DSLAM als Kunde 01, dann haette dieser nicht nur einen anderen Kunden Tag (second-dot1q), sondern auch einen anderen Provider Tag (statt 12).

Auf dem anderen Interface (Uplink) machen wir folgendes:

Host(config-if)# service instance 1 ethernet
Host(config-if-srv)#   encapsulation dot1q 2
Host(config-if-srv)#   rewrite ingress tag pop 1 symmetric
Host(config-if-srv)#   bridge-domain 2

Alle Kunden die in service-instance 1 sind taggen wir mit ID 2 (symetric).

ACHTUNG: Je nach Plattform kann es sein, dass eine bridge-domain nur 32 service instances kann. Dann muss man fuer alle weiteren eben eine neue bridge-domain anlegen. Die maximale Anzahl an bridge-domains ist evtl lizenzabhaengig. Das Feature split-horizon kann (je nach Plattform) die Anzahl der service-instances pro bridge-domain nochmals halbieren! Beim ME3600X iirc 64 bzw mit split-horizon nur 32.

Wenn das Device kein ME3600X oder ME3800X ist, sondern zB ein 7201 auf dem direkt ein PPPoE Server laeuft, dann koennte die Config so aussehen:

interface GigabitEthernet0/1
 no ip address
 duplex auto
 speed auto
 media-type gbic
 negotiation auto
!
interface GigabitEthernet0/1.10
 description DSLAM 10
 encapsulation dot1Q 10 second-dot1q any
 pppoe enable group global
!
interface GigabitEthernet0/1.11
 description DSLAM 11
 encapsulation dot1Q 11 second-dot1q any
 pppoe enable group global
!
interface GigabitEthernet0/1.xyz
 description DSLAM XYZ
 encapsulation dot1Q n second-dot1q any
 pppoe enable group global
!
interface Virtual-Template1
 description PPPoE
 ip unnumbered Loopback0
 ip mtu 1492
 ip tcp adjust-mss 1452
 ppp authentication pap chap
 ppp ipcp dns 8.8.8.8 8.8.4.4

Erklaerung:

interface GigabitEthernet0/1.10
 description DSLAM 10
 encapsulation dot1Q 10 second-dot1q any
 pppoe enable group global

Mit second-dot1q any nehmen wir ALLE Teilnehmer von dem DSLAM mit Tag 10.

Kommentar verfassen