Простое развертывание новых VLAN в большой среде

Как люди справляются с необходимостью добавлять VLAN ко всем коммутаторам в своей сети (или даже подмножеством устройств)? В настоящее время мы добавляем около 6 новых VLAN в неделю, и по мере роста сети это становится очень громоздкой и рискованной задачей.

20 голосов | спросил SimonJGreen 14 Mayam13 2013, 01:37:13

10 ответов


15

Вот действительно базовый шаблон сценария в Perl для telneting в список устройств (по одному на каждую строку в файле devicelist.txt) и настройку некоторых команд. В зависимости от того, что вы делаете, это должно стать хорошим началом.

использовать Net :: Telnet :: Cisco;

    # чтение в списке устройств
    мой @devicelist;
    open (DATA, "<devicelist.txt") || die «Не могу открыть файл!»;
    в то время как (<DATA>) {
            чавкать;
            push (@devicelist, $ _);
    }

    # цикл через устройства
    foreach $ hostname (@devicelist)
    {
            # telnet для устройства
            my $ cs = Net :: Telnet :: Cisco-> new (Host => $ hostname);

            # login, включить, отключить пейджинг, перейти в режим конфигурации
            $ cs-> логин («имя пользователя», «пароль»);
            $ cs-> enable ("enable_password");
            $ cs-> cmd ('конечная длина 0');
            $ cs-> cmd ('config t');

            # настроить устройство
            $ cs-> cmd ('vlan 100, 200, 300');
            $ cs-> cmd ('интерфейс Ethernet0');
            $ cs-> cmd ('switchport access vlan 100');

            # выйти из режима конфигурации и записать конфигурацию
            $ cs-> cmd ('end');
            $ cs-> cmd ('wr mem');

            # закрыть соединение
            $ CS- > близко;
    }

здесь приведены дополнительные сведения о Net :: Telnet :: Cisco.

ответил Mike Marotta 14 Maypm13 2013, 16:48:01
11

Я бы сказал, что у вас есть несколько вариантов:

  1. Вручную. Занимает больше всего времени. Safest? Зависит от того, который делает конфигурацию.
  2. Используйте какой-то инструмент, такой как Kiwi Cattools или Rancid и т. д. Гораздо проще, но вам понадобится какая-то логика, чтобы проверить, существует ли VLAN, или вы можете испортить структуру именования. Может быть, это не огромная сделка?
  3. Сценарий! Используйте Perl, Python, Ruby или любой другой язык, с которым у вас есть опыт. Требуется некоторое время для его создания, но после этого вы можете повторно использовать скрипт для других задач настройки. Это было бы настраиваемо, но это зависит от того, удобна ли вам кодировка.
  4. Использовать SNMP. Никогда не пробовал это. Требуется RW на устройствах, и мне не очень нравится запускать RW на своих сетевых устройствах.
ответил Daniel Dib 14 Mayam13 2013, 02:07:36
11

Программное обеспечение для управления конфигурацией может быть интересно изучить - Управление сетевыми устройствами Puppet может легко добавлять vlans к многочисленным устройствам Cisco (если вы используете Cisco).

ответил Shane Madden 14 Mayam13 2013, 04:28:16
10

Задача, с которой вы сейчас сталкиваетесь, заключается в том, что вы входите в смешанную среду. Вы упоминаете, что вы двигаетесь к Juniper, я предполагаю, что Cisco? В чистой среде Cisco VTP v3 с паролями будет способ пойти и поддерживает более 4k vlans. В мире Juniper эквивалент будет SolarWinds , HP OpenView и таких, но у вас все еще будет два сценария для управления.

Я бы постарался максимально упростить вещи ( KISS ), пока вы переходите от одного поставщика к другому , Использование VTP и GVRP на соответствующем оборудовании - это, вероятно, способ пойти и не добавляет потенциальную стоимость для других решений или сложность управления еще одной новой вещью.

ответил Peter 14 Maypm13 2013, 18:13:58
7

Возможно, VTP - это ваш ответ. Как и любой «автоматизированный» инструмент, у него есть свои риски, но вы можете смягчить их при правильном планировании. Вы также должны сделать некоторые чтения, чтобы убедиться, что вы понимаете, как это работает, или вы можете непреднамеренно создавать свои собственные проблемы (опять же, как и любой автоматизированный инструмент).

Я бы порекомендовал VTP версию 3, так как это может помочь защитить некоторые потенциальные проблемы и предоставить дополнительные преимущества.

Вы можете легко найти сотни документов, выполнив поиск «конфигурации vtp версии 3» в выбранной вами поисковой системе.

ответил YLearn 14 Mayam13 2013, 03:02:33
7

Network Configuration Manager от Solarwind может запускать скрипты на устройствах IOS и некоторых других.

Он также делает такие вещи, как ночные конфигурации резервного копирования, изменения отчетов и проверки конфигурации. Их цена не ужасна, но они объединяют NCM с их монитором производительности Orion Network, и я не уверен, что вы можете запускать NCM отдельно.

ответил Dave Noonan 14 Mayam13 2013, 04:44:02
5

Похоже, у вас рухнувшее ядро. Это правильно?

Один из способов иметь дело со слишком большим количеством изменений, основанных на добавлении новых VLAN ', - это перемещение границы L3 ближе к доступу. Это требует некоторой работы, но если ваш проект хорошо спланирован и продуман, он должен добавить новую VLAN в одну-три задачи устройства (в зависимости от того, останавливается ли L3 на уровнях распространения или доступа).

Есть и другие преимущества, которые вы получаете от этого, включая более быструю конвергенцию в случае потерянной ссылки.

ответил Jonathan Davis 21 Maypm13 2013, 17:13:02
3

Я использую ruby ​​с помощью чипов net-scp и net-ssh для автоматизации задач с помощью нашего сетевого оборудования. Это довольно короткий скрипт для выполнения команд (выдержка, а не готовый продукт):

начать
    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 |
                выход + = данные
            конец

            ch.send_data "conf t \ n \ r"
            # Некоторые задачи здесь
            ch.send_data "exit \ n \ r" #Exit config mode
            ch.send_data "exit \ n \ r" #Exit device

        конец

        # Подождите, пока все закончится
        channel.wait
    конец
rescue Exception => e
    errorOutput = fqdn + ":" + e.to_s
    помещает errorOutput
    выводит результат
    устройство возврата
конец
обратный выход

Имейте в виду, что у вас должна быть пустая переменная loginPassword. Если пустым, он будет использовать ваш открытый ключ RSA для входа (поддерживается на платформах HP ProCurve и Cisco 15.X).

Используя что-то вроде git и нескольких коротких скриптов, вы можете организовать все конфигурации своего оборудования с различными изменениями и кто внес изменения (если ваши инженеры вытаскивают конфигурации и фиксируют их после завершения работы).

Также это должно быть само собой разумеющимся, но на всякий случай, всегда проверяйте работу сценария в лаборатории перед запуском на производственном оборудовании. Особенно при выполнении команд и изменении конфигураций. Тест, тест, тест.

ответил some_guy_long_gone 28 Mayam13 2013, 04:57:03
0

Если вы используете один и тот же конструктор (например, Cisco) для своих сетевых устройств, SecureCRT - ваш лучший выбор. это клиент SSH, который дает вам возможность отправлять команды на нескольких терминалах во время продажи:

secrureCRT

, чтобы установить это: 1. подключитесь ко всем устройствам на разных вкладках 2. перейти к просмотру 3. установите флажок «окно чата» 4. щелкните правой кнопкой мыши по окну -> проверьте «отправить чат во все вкладки»

ответил Snake Hernandez 24 Maypm14 2014, 22:24:56
-1

Использование может использовать NOC, NOC Project - это масштабируемая высокопроизводительная и открытая система OSS для ISP. Вы можете легко добавить VLAN через всю сеть.

ответил t3mp 28 42013vEurope/Moscow11bEurope/MoscowThu, 28 Nov 2013 08:40:16 +0400 2013, 08:40:16

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132