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.