VLAN yang Diperbolehkan Tidak Disengaja dari Cisco Switch Dot1Q Trunk

24

Saya menambahkan VLAN baru ke port trunk yang ada antara dua switch Cisco Catalyst (3750-an). Dalam proses menambahkan VLAN baru, tampaknya saya telah menghapus VLAN yang diizinkan yang ada di bagasi ... Bagaimana ini mungkin?

Konfigurasi port trunk yang ada:

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

Saya menggunakan sintaks berikut untuk mengizinkan VLAN 30:

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

Namun sekarang, konfigurasi saya yang sedang berjalan di g1 / 0/49 hilang VLAN 10 dan 20!

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

Apa yang saya lewatkan?

Brett Lykins
sumber
13
Kesalahan klasik. Saya telah melihat ini terjadi berkali-kali. ADD adalah penyelamat Anda di sini :)
mellowd

Jawaban:

39

Anda perlu menggunakan perintah berikut untuk menambahkan VLAN 30 Anda ke trunk Dot1Q yang ada pada sakelar Cisco Catalyst:

switchport trunk allowed vlan add 30

Kalau tidak, iOS hanya berpikir Anda mencoba menimpa konfigurasi yang ada dan Anda dibiarkan dengan satu set VLAN diizinkan yang terhapus secara tidak sengaja.

Anda juga bisa menggunakan "hapus" sebagai ganti "tambah" untuk menghapus hanya satu VLAN. Lihat seluruh sintaksis di bawah ini. (Ini sebenarnya sintaks yang sama di Cisco Nexus OS atau iOS, FYI.)

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

Opsi lain adalah memasukkan semua VLAN yang diizinkan ke dalam perintah, seperti:

switchport trunk allowed vlan 10,20,30

Opsi ini lebih memakan waktu tetapi juga berfungsi.

Brett Lykins
sumber
1
Cisco mungkin menghindari banyak kebingungan dengan perintah ini dengan menggunakan "vlan" (jamak) untuk menunjukkan daftar definitif dari vlan yang diizinkan dan hanya "vlan" (tunggal) untuk menunjukkan operasi tambah yang tersirat .
generalnetworkerror
12
Saya sarankan menjatuhkan perintah berbahaya seperti ini di TACACS bahwa Anda tidak dapat melakukan 'switchport trunk diizinkan vlan X' tanpa menambah / menghapus / tidak ada. Kemudian alur kerja untuk port baru adalah 'switchport trunk diizinkan vlan tidak ada', 'switchport trunk diizinkan vlan tambahkan 42'. Telah menyelamatkan kami dari banyak downtime. 'no router isis' juga berbahaya (tanpa sengaja memasukkannya di antarmuka, lupa 'IP', dan Anda menghapus ISIS dari seluruh kotak ')
ytti
Apa yang biasanya kita lakukan sebagai tindakan pencegahan adalah mandat agar para insinyur yang melakukan jenis konfigurasi ini memasukkan perintah "reload 5" sehingga jika mereka melakukan kesalahan, switch akan memuat ulang ke konfigurasi sebelumnya beberapa menit kemudian. Ini juga membuat kami melihat solusi otomatisasi untuk lingkungan kami yang lebih kritis, untuk menghindari orang-orang menjauh dari CLI.
Jeremy Gibbons
9

Untuk menambahkan VLAN ke trunk Anda harus menggunakan sintaks berikut:

switchport trunk allowed vlan add 30

Untuk menghapus VLAN dari bagasi Anda perlu menggunakan removesintaks:

switchport trunk allowed vlan remove 30

Ketika Anda tidak menggunakan add / remove Anda memberi tahu port untuk hanya mengkonfigurasi VLAN baru.

Ini adalah kesalahan umum. Jika platform Anda mendukungnya, Anda dapat menggunakan Cisco Embedded Event Manager untuk melarang sintaksis berbahaya ini:

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"
Sebastian Wiesinger
sumber
1
Atau gunakan TACACS dan otorisasi perintah konfigurasi ketika EEM tidak tersedia.
aakso
1
Berguna. Akan lebih baik untuk menyesuaikan skrip untuk juga mengirim output ke konsol
mellowd
1
Saya tidak tahu bahwa EEM dapat mengirim output ke konsol. Bisakah Anda memberi contoh?
Sebastian Wiesinger
0

Jawaban singkat: Ada dua mode untuk menentukan vlan: satu secara eksplisit menetapkan (menimpa) daftar [ini adalah yang Anda gunakan], yang lain menambah atau menghapus vlan yang ditentukan.

(Setiap vendor melakukan ini secara berbeda, jadi seliplah dengan enteng.)

Ricky Beam
sumber
0

Seperti yang dinyatakan dalam jawaban sebelumnya, "tambah / hapus / tidak ada" adalah teman Anda (hanya) ...

switchport trunk allowed vlan add 30

Seperti disebutkan oleh ytti, saya merekomendasikan untuk menjatuhkan perintah berbahaya seperti ini di TACACS bahwa Anda tidak dapat melakukan 'switchport trunk diizinkan vlan X' tanpa add / remove / none.

Mengapa saya menambahkan jawaban ini adalah karena saran kedua Brett

switchport trunk allowed vlan 10,20,30

benar-benar ide yang buruk

Katakanlah Anda menggunakan vlan 900 untuk manajemen (omong-omong, Anda akan mengerti mengapa)

konfigurasi port dengan show run:

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
 ...

harap dicatat bahwa cisco menggunakan 2 baris untuk memudahkan dan menyalin / menempel, dengan "tambah" di baris kedua ... mengapa tidak?

Sekarang, katakanlah saya ingin menambahkan vlan 30 ...

solusi pertama:

 switchport trunk allowed vlan add 30

Besar! itu bekerja, mari minum bir sekarang.

Solusi kedua:

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

dan ... hum .. hei? WTF !!! Saya tidak bisa menempel bagian kedua dari perintah saya

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

Sayangnya, vlan 900 tidak lagi dikonfigurasikan pada sakelar, sakelar tidak dapat dijangkau karena digunakan untuk manajemen.

Jadi:

  • gunakan tambahkan / hapus / tidak ada, selalu
  • gunakan Vlan ID kecil untuk manajemen (<10)
Golgot
sumber
-3

saat Menambahkan VLAN tanpa menghapus VLAN lainnya gunakan perintah ini

trunk switchport diizinkan vlan add 30

ini akan menambahkan Vlan 30 ke trunk tanpa menghapus vlan yang ada di antarmuka trunk

Tepuk tangan

Gopi
sumber
Bagaimana ini menambahkan sesuatu ke jawaban yang diterima?
Ron Maupin