बड़े वातावरण में आसानी से नए वीएलएएन की तैनाती


20

लोग अपने नेटवर्क (या यहां तक ​​कि उपकरणों का सबसेट) पर सभी स्विचों में वीएलएएन को जोड़ने की आवश्यकता को कैसे संभालते हैं? हम इस समय प्रति सप्ताह लगभग 6 नए वीएलएएन जोड़ रहे हैं और जैसे-जैसे नेटवर्क बढ़ता है यह बहुत ही बोझिल और जोखिम भरा काम होता जा रहा है।

जवाबों:


17

यहाँ डिवाइसों की एक सूची (devicelist.txt नामक फ़ाइल में प्रत्येक पंक्ति पर एक) में टेलनेटिंग के लिए पर्ल में वास्तव में एक बुनियादी स्क्रिप्ट टेम्पलेट है और कुछ कमांड को कॉन्फ़िगर करना है। आप जो कर रहे हैं, उसके आधार पर आपको एक अच्छी शुरुआत प्रदान करनी चाहिए।

  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;
    }

यहाँ नेट :: टेलनेट :: सिस्को पर कुछ और विवरण दिए गए हैं।


4
यहाँ मेरी केवल सावधानी एक बहुत स्पष्ट है। यह टेलनेट का उपयोग करता है और आपके पासवर्ड को सादे पाठ में नेटवर्क पर भेजता है। SSH का उपयोग करने का सुझाव देगा।
बड़ा पत्थर

12

मैं कहूंगा कि आपके पास कुछ विकल्प हैं:

  1. मैन्युअल रूप से। ज्यादातर समय लेता है। सबसे सुरक्षित? विन्यास करने वाले पर निर्भर करता है।
  2. कुछ उपकरण जैसे किवी काॅटूल या रैन्किड आदि का उपयोग करें। बहुत आसान है, लेकिन आपको यह जांचने के लिए किसी तरह के तर्क की आवश्यकता होगी कि क्या वीएलएएन पहले से मौजूद है या आप नामकरण संरचना को गड़बड़ कर सकते हैं। शायद बहुत बड़ी बात नहीं?
  3. यह स्क्रिप्ट! पर्ल, पायथन, रूबी या आपके पास जो भी भाषा का अनुभव है, उसका उपयोग करें। इसे बनाने में कुछ समय लगता है लेकिन एक बार ऐसा करने के बाद आप अन्य कॉन्फ़िगरेशन कार्यों के लिए स्क्रिप्ट का पुन: उपयोग कर सकते हैं। यह अनुकूलन योग्य होगा, लेकिन यह इस बात पर निर्भर करता है कि क्या आप आरामदायक कोडिंग कर रहे हैं।
  4. एसएनएमपी का उपयोग करें। कभी यह कोशिश नहीं की। उपकरणों पर आरडब्ल्यू की आवश्यकता होगी और मुझे अपने नेटवर्क उपकरणों पर आरडब्ल्यू चलाना वास्तव में पसंद नहीं है।

क्या आपके पास इसका कोई उदाहरण है जो स्क्रिप्टेड किया जा रहा है? मुझे यह भी लगा कि रैंकिड सिर्फ पढ़ने के लिए था, संशोधन के लिए नहीं?
साइमनजग्रीन

2
मैंने उम्मीद के साथ कई उपकरणों के खिलाफ कमांड चलाने के लिए पायथन में कुछ समय पहले एक उपकरण बनाया था। यह दो CSV फ़ाइलों को तर्क के रूप में लेता है। एक कमांड के साथ, एक मेजबानों के साथ। Matthewstone.net पर पाया जा सकता है। 2016/ 03/03/easyexpect मैं एक बहुत अधिक बड़े उपकरण पर काम कर रहा हूं जो कि ZeroCLI नामक EasyExpect का बच्चा है। अभी तक नहीं किया गया, लेकिन इसे पूर्णता के लिए यहां रखा जा रहा है। github.com/mstone7699/ZeroCLI
bigmstone

1
रैंकिड पुनर्प्राप्त करने के लिए है, लेकिन यह क्लोजिन के साथ भी आता है और आप इसका उपयोग उपकरणों को लॉगइन को स्वचालित करने के लिए कर सकते हैं। यह एक तर्क के रूप में एक फ़ाइल भी लेता है जहां आप कमांड डाल सकते हैं जिसे दर्ज किया जाना चाहिए।
डेनियल डिब

11

कॉन्फ़िगरेशन प्रबंधन सॉफ़्टवेयर में देखने लायक हो सकता है - कठपुतली के नेटवर्क डिवाइस प्रबंधन कई सिस्को उपकरणों (यदि आप सिस्को का उपयोग कर रहे हैं) में आसानी से vlans जोड़ सकते हैं।


2
जुनिपर ने एक कठपुतली एजेंट भी शुरू किया ( github.com/Juniper/puppet-netdev-stdlib-junos )
Jan-Philipp

11

अब आपके सामने चुनौती यह है कि आप एक मिश्रित वातावरण में जा रहे हैं। आप उल्लेख करते हैं कि आप जुनिपर की ओर बढ़ रहे हैं, जिससे मुझे सिस्को लगता है? शुद्ध सिस्को वातावरण में VTP v3 पासवर्ड के साथ जाने के लिए और 4k vlans का समर्थन करता है। जुनिपर दुनिया में समकक्ष जीवीआरपी होगा ।

आप कुछ प्रकार के केंद्रीकृत प्रबंधन का उपयोग करने में सक्षम हो सकते हैं जैसे कि कठपुतलियों का उल्लेख शेन मैडेन, सोलरवाइंड्स , एचपी ओपनव्यू और जैसे द्वारा किया गया था , लेकिन आपके पास प्रबंधन करने के लिए अभी भी दो स्क्रिप्ट होंगी।

मैं संभव (के रूप में सरल रूप में चीजें रखने के लिए कोशिश करेगा KISS अब के लिए) के रूप में आप एक विक्रेता से दूसरे में संक्रमण। उचित हार्डवेयर पर VTP और GVRP का उपयोग करना संभवतः जाने का तरीका है और अन्य समाधानों के लिए संभावित लागत या किसी अन्य नई चीज़ को प्रबंधित करने की जटिलता को नहीं जोड़ता है।


7

यह हो सकता है कि वीटीपी आपका जवाब हो। किसी भी "स्वचालित" टूल की तरह, इसमें जोखिम है, लेकिन आप उन्हें उचित योजना के साथ कम कर सकते हैं। आपको यह सुनिश्चित करने के लिए कुछ रीडिंग भी करनी चाहिए कि आप समझते हैं कि यह कैसे काम करता है या आप अनजाने में अपनी समस्याएँ बना सकते हैं (फिर से, किसी भी स्वचालित टूल की तरह)।

मैं वीटीपी संस्करण 3 की सिफारिश करूंगा, क्योंकि यह कुछ संभावित समस्याओं से बचाने में मदद कर सकता है और अतिरिक्त लाभ प्रदान कर सकता है।

आप आसानी से अपनी पसंद के खोज इंजन में "vtp संस्करण 3 कॉन्फ़िगरेशन" खोजकर सैकड़ों दस्तावेज़ पा सकते हैं।


दुर्भाग्य से हमने कुछ समय पहले वीटीपी पर 200 वीएलएएन सीमा को मारा था। हमने भी जुनिपर को स्थानांतरित करना शुरू कर दिया है।
साइमनजग्रीन

आप किस प्लेटफॉर्म पर 200 वीएलएएन वीटीपी की सीमा लगा रहे हैं?
योसेफ गन्सबर्ग

1
मैंने वीटीपी 200 वीएलएएन सीमा के बारे में कभी नहीं सुना है, और हम वीटीपी के माध्यम से 200 से अधिक वीएलएएन के लिए doig हैं। मैं निश्चित रूप से आपके मतलब के बारे में अधिक सुनना चाहूंगा। वीटीपी संस्करण 1 और 2 केवल आईएसएल द्वारा निर्दिष्ट वीएलएएन 1-1001 का उपयोग करने तक सीमित हैं, लेकिन वीटीपी संस्करण 3 डॉट 1 एक्स 4095 तक जाता है। स्थानीय वीएलएएन की संख्या की एक सीमा है जो एक स्विच का समर्थन कर सकता है, लेकिन नहीं कर सकता। स्थानीय रूप से भी टैम्परेचर मोड में इसका उल्लंघन करें।
येलर्न

1
VTP का उपयोग करना काफी जोखिम भरा है, अपने डेटासेंटर को तोड़ना आसान है
Jan-Philipp

@ Jan-Philipp, क्या आप कृपया अपने कथन की व्याख्या करेंगे, बजाय यह कहने के कि "यह जोखिम भरा है"? यह जोखिम भरा क्यों है, IYO?
13'13

7

Solarwind के नेटवर्क कॉन्फ़िगरेशन प्रबंधक IOS उपकरणों और कुछ अन्य लोगों में स्क्रिप्ट चला सकते हैं।

यह नाइटली कॉन्फिग बैकअप, रिपोर्ट बदलने और ऑडिट ऑडिट जैसी चीजें भी करता है। उनकी कीमत भयानक नहीं है, लेकिन वे NCM को उनके ओरियन नेटवर्क प्रदर्शन मॉनिटर के साथ विलय कर रहे हैं और मुझे यकीन नहीं है कि आप NCM को किसी भी अधिक अलग से चला सकते हैं।


मेरा मानना ​​है कि NCM को अभी भी एक स्टैंडअलोन उत्पाद के रूप में पेश किया जा रहा है, लेकिन यह प्रत्येक नई रिलीज़ के साथ NPM के साथ एकीकृत हो रहा है। यदि आपके पास एक बड़ा वातावरण है, तो एनसीएम केवल बैकअप और कॉन्फ़िगरेशन परिवर्तन रिपोर्टिंग के लिए अपने वजन के लायक है।
13'13

6

ऐसा लगता है कि आप एक ढह कोर है। क्या वो सही है?

नए वीएलएएन को जोड़ने के आधार पर बहुत अधिक बदलावों से निपटने का एक तरीका है कि आप अपनी एल 3 सीमा को एक्सेस के करीब ले जाएं। इसके लिए कुछ काम करने की आवश्यकता होती है, लेकिन अगर आपका डिज़ाइन अच्छी तरह से योजनाबद्ध है, और सोचा गया है, तो उसे नए वीएलएएन को एक से तीन डिवाइस टास्क में जोड़ना चाहिए (यह निर्भर करता है कि L3 वितरण या एक्सेस लेयर्स पर रुकता है)।

अन्य लाभों का एक गुच्छा है जो आपको एक लिंक खो जाने की स्थिति में तेजी से अभिसरण सहित, उससे भी मिलता है।


3

मैं अपने नेटवर्क उपकरण के साथ कार्यों को स्वचालित करने के लिए शुद्ध-एसपीपी और नेट-एसएच जवाहरात के साथ माणिक का उपयोग करता हूं। यह कमांड निष्पादित करने के लिए एक बहुत छोटी स्क्रिप्ट है (अंश, एक तैयार उत्पाद नहीं):

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

ध्यान रखें कि आपके पास एक खाली लॉगिनपासवर्ड चर होना चाहिए। यदि रिक्त है, तो यह लॉगिन के लिए आपकी RSA सार्वजनिक कुंजी का उपयोग करेगा (HP ProCurve और सिस्को 15.X प्लेटफार्मों पर समर्थित)।

Git और कुछ लघु लिपियों जैसी किसी चीज़ का उपयोग करके, आप अपने सभी उपकरण कॉन्फ़िगरेशन को परिवर्तनों के अंतर के साथ व्यवस्थित कर सकते हैं और जिन्होंने बदलाव किए हैं (यह मानते हुए कि आपके इंजीनियर काम को पूरा करने के बाद कॉन्फ़िगर करते हैं और उन्हें प्रतिबद्ध करते हैं)।

इसके अलावा, यह बिना कहे जाना चाहिए, लेकिन उत्पादन के उपकरणों पर चलने से पहले सिर्फ एक मामले में, हमेशा एक प्रयोगशाला में स्क्रिप्टेड काम का परीक्षण करें। विशेष रूप से जब कमांड निष्पादित करते हैं और कॉन्फ़िगरेशन बदलते हैं। परीक्षण, परीक्षण, परीक्षण


0

यदि आप अपने नेटवर्क उपकरणों के लिए एक ही निर्माता (उदाहरण के लिए सिस्को) का उपयोग करते हैं, तो SecureCRT आपकी सबसे अच्छी पसंद है। यह एक एसएसएच क्लाइंट है जो आपको बिक्री के समय कई टर्मिनलों पर कमांड भेजने की संभावना देता है:

secrureCRT

सेट अप करने के लिए: 1. विभिन्न टैब में अपने सभी उपकरणों से कनेक्ट करें। 2 पर जाएं। 3. "चैट विंडो" विकल्प देखें। विंडो पर राइट क्लिक करें -> चेक "सभी टैब पर चैट भेजें"


-1

उपयोग कर सकते हैं NOC, NOC प्रोजेक्ट का उपयोग यह ISP के लिए स्केलेबल, उच्च-प्रदर्शन और ओपन-सोर्स OSS सिस्टम है। आप वीएलएएन को पूरे नेटवर्क के माध्यम से आसानी से जोड़ सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.