Yeni VLAN'ları geniş bir ortama kolayca dağıtın


20

Kullanıcılar ağlarındaki tüm anahtarlara (veya hatta bir cihaz alt kümesine) VLAN ekleme ihtiyacını nasıl karşılar? Şu anda haftada yaklaşık 6 yeni VLAN ekliyoruz ve ağ büyüdükçe bu çok hantal ve riskli bir görev haline geliyor.

Yanıtlar:


17

Perl'de bir aygıtlar listesine (devicelist.txt adlı bir dosyadaki her satırda bir tane) telnet yapmak ve bazı komutları yapılandırmak için gerçekten temel bir komut dosyası şablonu. Tam olarak ne yaptığınıza bağlı olarak iyi bir başlangıç ​​sağlamalıdır.

  use Net::Telnet::Cisco;

    # read in a list of devices
    my @devicelist;
    open(DATA, "<devicelist.txt") || die "Can't open file!";
    while (<DATA>) {
            chomp;
            push( @devicelist, $_);
    }

    # loop through the devices
    foreach $hostname (@devicelist)
    {
            # telnet to device
            my $cs = Net::Telnet::Cisco->new(Host => $hostname);

            # login, go enable, disable paging, go into config mode
            $cs->login( "username", "password" );
            $cs->enable( "enable_password" );
            $cs->cmd( 'terminal length 0' );
            $cs->cmd( 'config t' );

            # configure the device
            $cs->cmd( 'vlan 100, 200, 300' );
            $cs->cmd( 'interface Ethernet0' );
            $cs->cmd( ' switchport access vlan 100' );

            # exit config mode and write the config
            $cs->cmd( 'end' );
            $cs->cmd( 'wr mem' );

            # close the connection
            $cs->close;
    }

İşte Net :: Telnet :: Cisco üzerinde daha fazla bilgi vardır da.


4
Buradaki tek dikkatim oldukça açık. Bu telnet kullanır ve şifrelerinizi ağ üzerinden düz metin olarak gönderir. SSH kullanmanızı öneririm.
bigmstone

12

Birkaç seçeneğiniz olduğunu söyleyebilirim:

  1. El ile. En çok zaman alır. En güvenli? Konfigürasyonu yapan kişiye bağlıdır.
  2. Kivi Cattools veya Rancid vb.Gibi bazı araçlar kullanın. Çok daha kolay, ancak VLAN'ın mevcut olup olmadığını kontrol etmek için bir tür mantığa ihtiyacınız olacak veya adlandırma yapısını bozabilirsiniz. Belki büyük bir anlaşma değil?
  3. Senaryo yaz! Perl, Python, Ruby veya deneyimlediğiniz dilleri kullanın. Oluşturmak biraz zaman alır, ancak bir kez tamamlandığında komut dosyasını diğer yapılandırma görevleri için tekrar kullanabilirsiniz. Özelleştirilebilir olurdu, ancak rahat kodlama olup olmadığınıza bağlıdır.
  4. SNMP kullanın. Bunu hiç denemedim. Cihazlarda RW gerektirir ve ağ cihazlarında RW çalıştırmaktan gerçekten hoşlanmam.

Senaryo ile yapıldığına dair bir örneğin var mı? Ayrıca Rancid'in sadece okumak için olduğunu, değiştirmenin olmadığını düşündüm?
SimonJGreen

2
Beklentileri olan birden çok cihaza karşı komut çalıştırmak için Python'da bir süre önce bir araç yaptım. Bağımsız değişken olarak iki CSV dosyası alır. Biri komutlar, diğeri hostlar. Bulunabilir matthewstone.net/2013/03/easyexpect Ben de EasyExpect çocuk ZeroCLI denilen var çok daha büyük bir araç üzerinde çalışıyorum. Henüz yapılmadı, ancak tamlık için buraya koyuldu. github.com/mstone7699/ZeroCLI
bigmstone

1
Rancid almak içindir ama aynı zamanda klon ile birlikte gelir ve bunu cihazlara girişleri otomatikleştirmek için kullanabilirsiniz. Ayrıca, girilmesi gereken komutları koyabileceğiniz bir dosyayı argüman olarak alır.
Daniel Dib


11

Şimdi karşılaştığınız zorluk, karma bir ortama girmeniz. Cisco'yu varsaydığım Juniper'a doğru ilerlediğini mi söylüyorsun? Saf bir Cisco ortamında şifreli VTP v3 gitmek ve 4 k'dan fazla vlans desteklemek için bir yol olacaktır. Juniper dünyasında eşdeğer GVRP olacaktır .

Shane Madden, SolarWinds , HP OpenView ve benzeri tarafından belirtildiği gibi Kukla gibi bir tür merkezi yönetim kullanabilirsiniz , ancak yine de yönetmek için iki komut dosyanız olacaktır.

Bir tedarikçiden diğerine geçerken işleri mümkün olduğunca basit tutmaya çalışacağım ( KISS ). VTP ve GVRP'yi uygun donanımda kullanmak muhtemelen yoludur ve diğer çözümler için potansiyel maliyeti veya yeni bir şeyi yönetmenin karmaşıklığını eklemez.


7

VTP sizin cevabınız olabilir. Herhangi bir "otomatik" araç gibi, riskleri vardır, ancak bunları uygun planlama ile hafifletebilirsiniz. Ayrıca, nasıl çalıştığını anladığınızdan emin olmak için biraz okuma yapmalısınız veya yanlışlıkla kendi sorunlarınızı yaratabilirsiniz (yine herhangi bir otomatik araç gibi).

VTP sürüm 3'ü öneriyorum, çünkü bu bazı potansiyel sorunlardan korunmaya yardımcı olabilir ve ek faydalar sağlar.

Seçtiğiniz arama motorunuzda "vtp sürüm 3 yapılandırması" nı arayarak yüzlerce belgeyi kolayca bulabilirsiniz.


Maalesef bir süre önce VTP'de 200 VLAN sınırına ulaştık. Ardıç'a da taşınmaya başladık.
SimonJGreen

Hangi platformda 200 VLAN VTP sınırına ulaşıyorsunuz?
Yosef Gunsburg

1
VTP 200 VLAN sınırını hiç duymadım ve VTP aracılığıyla 200'den fazla VLAN yapıyoruz. Kesinlikle ne demek istediğini daha fazla duymak istiyorum. VTP sürüm 1 ve 2, yalnızca ISL tarafından belirtilen 1-1001 numaralı VLAN'larla sınırlıdır, ancak VTP sürüm 3 dot1Q 4095'e kadar çıkar. Bir anahtarın destekleyebileceği yerel VLAN'ların sayısında bir sınırlama vardır, ancak yapamazsınız şeffaf olmayan modda bile bunu yerel olarak ihlal eder.
YLearn

1
VTP kullanmak oldukça risklidir, veri merkezinizi kırmak kolaydır
Jan-Philipp 14:13

@ Jan-Philipp, sadece "riskli" demek yerine ifadenizi açıklar mısınız? Neden riskli, IYO?
41'te pboin

7

Solarwind Ağ Yapılandırma Yöneticisi, IOS aygıtlarında ve diğer bazı aygıtlarda komut dosyaları çalıştırabilir.

Ayrıca gece yapılandırma yedeklemeleri, değişiklik raporları ve yapılandırma denetimleri gibi şeyler de yapar. Fiyatlandırmaları korkunç değil, ancak NCM'yi Orion Network Performance Monitor ile birleştiriyorlar ve NCM'yi artık ayrı olarak çalıştırabileceğinizden emin değilim.


NCM'nin hala bağımsız bir ürün olarak sunulmakta olduğuna inanıyorum, ancak her yeni sürümle NPM ile daha entegre hale geliyor. Geniş bir ortamınız varsa, NCM yalnızca yedekleme ve yapılandırma değişikliği raporlaması için ağırlığına değer.
harrijs

6

Çöken bir çekirdeğiniz var gibi görünüyor. Bu doğru mu?

Yeni VLAN'lar eklemeye dayalı çok fazla değişiklikle baş etmenin bir yolu, L3 sınırınızı erişime yaklaştırmaktır. Önceden biraz çalışma gerektirir, ancak tasarımınız iyi planlanmış ve düşünülmüşse, yeni VLAN eklemeyi bir ila üç cihaz görevi haline getirmelidir (L3'ün Dağıtım veya Erişim katmanlarında durup durmamasına bağlı olarak).

Kaybedilen bir bağlantı durumunda daha hızlı yakınsama da dahil olmak üzere, bundan da faydalanabileceğiniz başka faydalar da vardır.


3

Ağ ekipmanımızla görevleri otomatikleştirmek için net-scp ve net-ssh değerli taşlarla yakut kullanıyorum. Komutları yürütmek için oldukça kısa bir komut dosyası (alıntı, bitmiş bir ürün değil):

begin
    Net::SSH.start(fqdn, username, :password => loginPassword) do |session|
        output = ""

        channel = session.open_channel do |ch|
            ch.send_channel_request "shell"
            ch.on_data do |ch, data|
                output += data
            end

            ch.send_data "conf t\n\r"
            #Some tasks here
            ch.send_data "exit\n\r" #Exit config mode
            ch.send_data "exit\n\r" #Exit device

        end

        # Wait for everything to complete
        channel.wait
    end
rescue Exception=>e
    errorOutput = fqdn + ": " + e.to_s
    puts errorOutput
    puts output
    return device
end
return output

Boş bir loginPassword değişkenine sahip olmanız gerektiğini unutmayın. Boşsa, oturum açmak için RSA genel anahtarınızı kullanır (HP ProCurve ve Cisco 15.X platformlarında desteklenir).

Git ve birkaç kısa komut dosyası kullanarak, tüm ekipman yapılandırmalarınızı değişiklik farklarıyla ve değişiklikleri kimlerle düzenleyebilirsiniz (mühendislerinizin yapılandırmaları çekip çalışma tamamlandıktan sonra bunları taahhüt ettikleri varsayılarak).

Ayrıca söylemeye gerek yok, ama her ihtimale karşı, üretim ekipmanı üzerinde çalıştırmadan önce senaryo çalışmasını her zaman bir laboratuvarda test edin. Özellikle komutları yürütürken ve konfigürasyonları değiştirirken. Test, test, test.


0

ağ aygıtlarınız için aynı yapıcıyı (örneğin Cisco) kullanıyorsanız, SecureCRT en iyi seçiminizdir. satış anında birden fazla terminalde komut gönderme imkanı veren bir SSH istemcisidir:

secrureCRT

ayarlamak için: 1. farklı sekmelerdeki tüm cihazlarınıza bağlanın 2. görünüme gidin 3. "sohbet penceresi" seçeneğini işaretleyin 4. pencereye sağ tıklayın -> "tüm sekmelere sohbet gönder" seçeneğini işaretleyin


-1

Kullanım NOC, NOC Project kullanabilir, ISS için ölçeklenebilir, yüksek performanslı ve açık kaynaklı OSS sistemidir. VLAN'ları tüm ağ üzerinden kolayca ekleyebilirsiniz.

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.