Yanlışlıkla Cisco Switch Dot1Q Trunk'tan İzin Verilen VLAN'lar Kaldırıldı


24

İki Cisco Catalyst anahtarı (3750) arasındaki mevcut bir ana hat portuna yeni bir VLAN ekliyorum. Yeni VLAN ekleme sürecinde, sanırım mevcut izin verilen VLAN'ları bagajda kaldırdım ... Bu nasıl mümkün olabilir?

Mevcut ana bağlantı noktası yapılandırması:

SW-LAB-1#show run int g1/0/49
Building configuration...

Current configuration : 255 bytes
!
interface GigabitEthernet1/0/49
 description SW-LAB-2 G1/0/48
 switchport trunk encapsulation dot1q
 switchport trunk native vlan 10
 switchport trunk allowed vlan 10,20
 switchport mode trunk
 switchport nonegotiate
 ip dhcp snooping trust
end

VLAN 30'a da izin vermek için aşağıdaki sözdizimini kullandım:

SW-LAB-1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
SW-LAB-1(config)#interface g1/0/49
SW-LAB-1(config-if)#switchport trunk allow vlan 30

Ancak şimdi, g1 / 0 / 49'daki çalışan konfigürasyonumda VLAN 10 ve 20 eksik!

<SNIP>
switchport trunk allowed vlan 30
</SNIP>

Neyi kaçırıyorum?


13
Klasik hata Bunun birçok kez olduğunu gördüm. EKLE burada kurtarıcınız :)
orta

Yanıtlar:


39

VLAN 30'unuzu Cisco Catalyst anahtarındaki mevcut bir Dot1Q bagajına eklemek için aşağıdaki komutu kullanmanız gerekir:

switchport trunk allowed vlan add 30

Aksi halde, IOS sadece mevcut konfigürasyonun üzerine yazmaya çalıştığınızı ve yanlışlıkla silinen izin verilen VLAN'ların kaldığını düşünüyor.

Benzer şekilde, yalnızca bir VLAN'ı kaldırmak için "add" yerine "remove" kullanabilirsiniz. Aşağıdaki söz diziminin tamamına bakın. (Aslında Cisco Nexus OS veya IOS, FYI'de aynı sözdizimidir.)

SW-FOO(config-if)#switchport trunk allowed vlan ?
  WORD    VLAN IDs of the allowed VLANs when this port is in trunking mode
  add     add VLANs to the current list
  all     all VLANs
  except  all VLANs except the following
  none    no VLANs
  remove  remove VLANs from the current list

Başka bir seçenek de izin verilen VLAN'larınızın tümünü komuta dahil etmektir:

switchport trunk allowed vlan 10,20,30

Bu seçenek daha fazla zaman alır ancak aynı zamanda çalışır.


1
Cisco, izin verilen vlansın kesin listesini göstermek için "vlans" (çoğul) ve zımni bir eklenti işlemi belirtmek için sadece "vlan" (tekil) kullanarak bu komutla fazla karışıklığa uğramamıştı .
generalnetworkerror,

12
TACACS'da böyle bir komut bırakmamanızı tavsiye ederim / TACACS'a 'switchport trunk allow vlan X' ekleyemem / remove / none olmadan yapamazsın. Daha sonra yeni liman için iş akışı 'switchport trunk vlan none izin ver', 'switchport trunk vlan add 42' dir. Bizi aksaklık süresinden kurtardı. 'yönlendirici isisi yok' de tehlikelidir (yanlışlıkla 'IP' yi unutarak, arabirime girip,
ISIS'i

Genel olarak bir önlem olarak yaptığımız şey, bu tür bir konfigürasyon yapan mühendislerin "yeniden yükle 5" komutuna girmeleridir, öyle ki, hata yaparlarsa, anahtar birkaç dakika sonra önceki yapılandırmasına yeniden yüklenir. Bu aynı zamanda insanların CLI'yi tamamen hacklemelerini önlemek için daha kritik ortamlarımız için otomasyon çözümlerine bakmamızı sağlıyor.
Jeremy Gibbons

9

Bir bagaja VLAN eklemek için aşağıdaki sözdizimini kullanmanız gerekir:

switchport trunk allowed vlan add 30

Bir VLAN'ı bagajdan çıkarmak için removesözdizimini kullanmanız gerekir :

switchport trunk allowed vlan remove 30

Ekle / kaldır'ı kullanmadığınızda, bağlantı noktasına yalnızca yeni VLAN'ı yapılandırmasını söylersiniz.

Bu yaygın bir hatadır. Platformunuz destekliyorsa, bu zararlı sözdizimini yasaklamak için Cisco Embedded Event Manager'ı kullanabilirsiniz:

event manager applet forbid-vlan-trunk
 event cli pattern "switchport trunk allowed vlan\s+[0-9]" skip yes sync no
 action 1.0 syslog msg "switchport trunk allowed vlan MUST be configured via add/remove"

1
Veya EEM mevcut olmadığında TACACS ve configuration komut yetkilendirmesini kullanın.
aakso

1
Kullanışlı. Konsolun çıktısını göndermek için betiği ayarlamak daha iyi olur
orta

1
EEM'nin konsola çıktı gönderebildiğini bilmiyorum. Bir örnek verebilir misin?
Sebastian Wiesinger

0

Kısa cevap: Vlans belirtmek için iki mod vardır: Biri, listeyi [kullandığınız moddur] açıkça ayarlar (üzerine yazar), diğeri belirtilen vlansları ekler veya kaldırır.

(Her satıcı bunu farklı yapar, bu yüzden hafifçe basın.)


0

Önceki cevaplarda belirtildiği gibi, "ekle / kaldır / yok" sizin (sadece) arkadaşınızdır ...

switchport trunk allowed vlan add 30

Ytti tarafından belirtildiği gibi, TACACS'da 'switchport trunk allow vlan X' i ekleyemem / kaldır / hiç yapmadan yapamayacağın tehlikeli komutları bırakmanı tavsiye ederim.

Neden bu cevabı ekledim çünkü Brett'in ikinci önerisi

switchport trunk allowed vlan 10,20,30

gerçekten kötü bir fikir

Diyelim ki yönetim için vlan 900 kullanıyorsunuz (bu arada aptalca bir fikir, nedenini göreceksiniz)

show run ile port yapılandırması:

interface Gi1/0/1
 ...
 switchport trunk allowed vlan 1,2,5,51,101,235,245,247
 switchport trunk allowed vlan add 507,539,900,1058,2677
 ...

cisco'nun daha kolay hazırlanmak ve kopyalamak / yapıştırmak için 2 satır kullandığını, ikinci satırda da "add" yazdığını unutmayın ... neden olmasın?

Şimdi diyelim ki vlan 30 eklemek istiyorum ...

ilk çözüm:

 switchport trunk allowed vlan add 30

Harika! çalışıyor, hadi bir bira içelim.

İkinci çözüm:

 switchport trunk allowed vlan 1,2,5,30,51,101,235,245,247

ve ... hum .. hey? O NE LAN!!! Komutumun ikinci bölümünü yapıştıramıyorum

 switchport trunk allowed vlan add 507,539,900,1058,2677

Ne yazık ki, vlan 900 artık anahtar üzerinde yapılandırılmamıştır, anahtar yönetim için kullanıldığından bu yana erişilemez.

Yani :

  • Ekle / kaldır / yok, her zaman kullanın
  • yönetim için küçük bir Vlan kimliği kullanın (<10)

-3

diğer VLAN'ı kaldırmadan VLAN eklerken bu komutu kullanın

switchport trunk izin verilen vlan ekle 30

bu, VLAN 30'u, gövde arayüzündeki mevcut vlansları kaldırmadan gövdeye ekler

Şerefe


Bu kabul edilen cevaba nasıl bir şey ekler?
Ron Maupin
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.