Jump to content
Калькуляторы

Управление VLAN-ми в сети Фантастика или существует?

Коллеги, давно задумывался над таким вопросом, а есть какой нибудь программный комплекс. В котором можно обрисовать всю сеть, создать профили под каждого вендора в сети, обрисовать линки uplink/downlink/access и с помощью всего этого дела таскать виланы в сети. Что бы не приходилось вилан тащить ручками через 10 свичей, а зашел в софтину, ткнул что такой-то вилан нужно отсюда, протащить сюда, вот через эти свичи. И она сама бы зашла на свичи, создала его, накинула бы на порты.

Share this post


Link to post
Share on other sites

А где ТС указывал про распространённое ISP оборудование?

Есть Ansible, под цискошоп, например, подходит как вариант.

 

Вроде в NOC что-то подобное было, но сам не пробовал.

В NOC вроде можно, ага. Только там тоже не всё есть, но темплейтов для популярного китайского барахла побольше будет, надо будет самому писать.

Share this post


Link to post
Share on other sites

gvrp. Но я таскаю по старинке - ручками.

Если одновендорность, да, а вот если зоопарк, не выход из положения.

В NOC вроде можно, ага. Только там тоже не всё есть, но темплейтов для популярного китайского барахла побольше будет, надо будет самому писать.

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

Share this post


Link to post
Share on other sites

Мы ставили его на среднее железо, он откровенно тупил от небольшого района просто на задачах банального мониторинга и отрисовки lldp.

Share this post


Link to post
Share on other sites

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

 

На промежуточных (например, два свича в здании, или кольцо) настроен пропуск произвольных вланов, на D-Link это vlan_trunk.

Далее на агрегации всё это сворачивается в QinQ.

В итоге, чтобы на конкретный порт подать какой-то влан, достаточно прописать этот влан только на этом свиче доступа.

 

Свичи доступа конфигурируются перед установкой на объект - в них заливается сгенерированный конфиг, с уже готовыми вланами на каждый порт.

Соответственно, при работе с физлицами трогать доступ вообще нет нужды. Только снимаются данные по snmp - линк/трафик/маки/рефлектометрия.

И только очень изредка, при работе с юрлицами нужно потрогать максимум 1-3 свича.

Share this post


Link to post
Share on other sites

Вроде в NOC что-то подобное было, но сам не пробовал.

Прокинуть влан там как два пальца, только все свичи придется руками перечислять

Share this post


Link to post
Share on other sites

Вроде в NOC что-то подобное было, но сам не пробовал.

Прокинуть влан там как два пальца, только все свичи придется руками перечислять

Можете описать в кратце в каком разделе это делается и какие минимальные настройки нужно для этого выполнить?

Share this post


Link to post
Share on other sites

ну я для себя сделал такой сниппет (sa > setup > command snippets)

configure terminal
vlan {{vlan_id}}
name {{vlan_name}}
end
show vlan id {{vlan_id}}
write

запускаешь в sa > tasks > run snippet, задаешь параметры и выбираешь галочками где прописать

 

 

Еще делал более продвинутый вариант чтобы еще и через mpls прокидывалось, на основе vpls с автодискавери

{% load python %}
{% var platform internal %}
{% var cmd internal %}
{% var vlan_name internal %}
{% var vpn_name internal %}
{% var vlan_id str %}
{% var vpn_id str %}
{% python %}
from noc.sa.models import *
from noc.vc.models import *

platform = context["object"].platform
vcd = VCDomain.objects.get(name = "NN")
try:
   vlan_name = VC.objects.get(l1=context["vlan_id"], vc_domain=vcd).name
   id = str(VC.objects.get(l1=context["vlan_id"], vc_domain=vcd).Billing_ID)
except:
   vlan_name = "UNKNOWN-VLAN"
   id = "UNKNOWN-ID"

vpn_name = vlan_name[0:10] + "-" + id

context["cmd"]="configure terminal\n"
context["cmd"]+="vlan " + context["vlan_id"] + "\n"
context["cmd"]+="name " + vlan_name + "\n"
if platform=="Cisco Catalyst 4500 L3 Switch" or platform=="Cisco C3550" or platform=="Cisco ME340x":
   context["cmd"]+="end\nwrite"
elif platform=="Cisco c7600s72033_rp" or platform=="Cisco c7600rsp72043_rp":
   context["cmd"]+="exit\n"
   if not " " in context["vpn_id"]:
       context["cmd"]+="l2 vfi " + vpn_name + " autodiscovery\n"
       context["cmd"]+=" vpn id " + context["vpn_id"] + "\n"
       context["cmd"]+=" exit\n"
       context["cmd"]+="interface vlan " + context["vlan_id"] + "\n"
       context["cmd"]+=" description " + vlan_name + "\n"
       context["cmd"]+=" xconnect vfi " + vpn_name + "\n"
       context["cmd"]+=" no shutdown\n"
{% endpython %}
{{cmd}}

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

 

На промежуточных (например, два свича в здании, или кольцо) настроен пропуск произвольных вланов, на D-Link это vlan_trunk.

Далее на агрегации всё это сворачивается в QinQ.

Это интересно. А что насчет подводных камней при использовании vlan_trunk? К примеру, на старых моделях D-Link 3028/3200/A1/B1 я заметил что:

1. Функционал включается около 30 секунд.

2. У коммутатора появляются интерфейсы, которые он потом очень долго отдает по SNMP (т.е. ifName/ifAlias будут содержать все порты + все 4094 влан)

3. При вызове show vlan коммутатор чуть чуть подтупливает и его CPU сильно загружается.

 

Стоит ожидать проблем в работе IGMP Snooping, DHCP Relay и тому подобных вещей или как?

 

p.s. Вот 3200/С1 ведет себя хорошо, всех этих проблем не замечено.

Share this post


Link to post
Share on other sites

ifName/ifAlias будут содержать все порты + все 4094 влан

а не надо так делать. надо следовать документации, для наших свичей было заявлено сколько-то там вланов, мы и сделали по 300 на каждом, и кольца соответственно строили чтобы не вылезать за этот размер, то есть по 10 свичей в кольце

 

по-началу были не жадные зафигарили 1000, и свичи начали тупить, а даже однажды когда редактировал список разрешенных vlan на одном порту, железка крашнулась

Share this post


Link to post
Share on other sites

а не надо так делать. надо следовать документации, для наших свичей было заявлено сколько-то там вланов, мы и сделали по 300 на каждом

Хорошо, а как это сделать?

Share this post


Link to post
Share on other sites

а не надо так делать. надо следовать документации, для наших свичей было заявлено сколько-то там вланов, мы и сделали по 300 на каждом

Хорошо, а как это сделать?

 

Я, например, делаю запрос в виде списка oid по количеству портов.

Share this post


Link to post
Share on other sites

Я, например, делаю запрос в виде списка oid по количеству портов.

Предыдущий коммент я понял так, что существует возможность ограничить кол-во влан на коммутаторе.

Share this post


Link to post
Share on other sites

Я, например, делаю запрос в виде списка oid по количеству портов.

Предыдущий коммент я понял так, что существует возможность ограничить кол-во влан на коммутаторе.

 

Наверно так. Хотя, проще конечно делать запрос по количеству портов, вместо snmpwalk на весь oid.

Share this post


Link to post
Share on other sites

Предыдущий коммент я понял так, что существует возможность ограничить кол-во влан на коммутаторе.

сколько создадите, столько и будет

Share this post


Link to post
Share on other sites

сколько создадите, столько и будет

Дык нет же! Железки D-Link 3028/3200/A1/B1 при включении vlan_trunk в глубине души начинают считать что у них 4094 vlan. "таков текущий дизайн данной линейки" ©

Share this post


Link to post
Share on other sites

сколько создадите, столько и будет

Дык нет же! Железки D-Link 3028/3200/A1/B1 при включении vlan_trunk в глубине души начинают считать что у них 4094 vlan. "таков текущий дизайн данной линейки" ©

 

В этом принципиальная разница моего решения от зируса. Море решение не требует зеркальной (ответной) настройки свича. :)

Share this post


Link to post
Share on other sites

сколько создадите, столько и будет

Дык нет же! Железки D-Link 3028/3200/A1/B1 при включении vlan_trunk в глубине души начинают считать что у них 4094 vlan. "таков текущий дизайн данной линейки" ©

не включать этот режим, не?

Share this post


Link to post
Share on other sites

не включать этот режим, не?

Прочитать ВНИМАТЕЛЬНО ветку перед тем как что-то советовать, не?

 

Вкратце:

rdc сообщает об использовании vlan_trunk. Я интересуюсь у него о возможных проблемах, так как заметил с vlan_trunk конкретные проблемы на конкретных моделях и перечислил их. Вы затем мне пишете, что я делаю что-то не так и надо следовать документации. Окей, пытаюсь выяснить что же не так, а оказывается, что надо всего лишь навсего не пользоваться обсуждаемым функционалом! Должен заметить, что это очень странно "решение" проблемы.

 

p.s. По существу: вопрос насчет vlan_trunk и D-Link остается открытым. На форуме D-Link, например, встретил сообщение что на 3028 при включенном функционале падает пропускная способность гигабитных портов.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.