О деактивации форума Eltex

Уважаемые коллеги! В связи с потерей актуальности данного ресурса, нами было принято решение о частичной деактивации форума Eltex. Мы отключили функции регистрации и создания новых тем, а также возможность оставлять сообщения. Форум продолжит работу в "режиме чтения", так как за долгие годы работы здесь накопилось много полезной информации и ответов на часто встречающиеся вопросы.

Мы активно развиваем другие каналы коммуникаций, которые позволяют более оперативно и адресно консультировать наших клиентов. Если у вас возникли вопросы по работе оборудования, вы можете обратиться в техническую поддержку Eltex, воспользовавшись формой обращения на сайте компании или оставить заявку в системе Service Desk. По иным вопросам проконсультируют наши менеджеры коммерческого отдела: eltex@eltex-co.ru.

GVRP - автоматическое создание VLAN

MES, ESR
Niko87
Сообщения: 71
Зарегистрирован: 26 сен 2017 16:51
Reputation: 0
Откуда: Смоленск

Re: GVRP - автоматическое создание VLAN

Сообщение Niko87 » 08 июл 2018 15:06

Комментарии будут?

Александр Селезнев
Сообщения: 749
Зарегистрирован: 07 май 2015 10:45
Reputation: 2
Откуда: Элтекс

Re: GVRP - автоматическое создание VLAN

Сообщение Александр Селезнев » 09 июл 2018 09:36

Что-то будут менять в логике работы gvrp?

В ближайших планах изменение в логике работы не планируются
Селезнев Александр / Eltex / Сервисный центр ШПД https://eltex-co.ru/support/

Niko87
Сообщения: 71
Зарегистрирован: 26 сен 2017 16:51
Reputation: 0
Откуда: Смоленск

Re: GVRP - автоматическое создание VLAN

Сообщение Niko87 » 11 авг 2019 22:47

Изменения в работе GVRP не планируются?

Garri
Сообщения: 416
Зарегистрирован: 17 апр 2014 13:30
Reputation: 9

Re: GVRP - автоматическое создание VLAN

Сообщение Garri » 13 сен 2021 16:23

Подниму вопрос.
?

Евгений Т
Сообщения: 1613
Зарегистрирован: 18 мар 2013 09:48
Reputation: 7
Откуда: Элтекс

Re: GVRP - автоматическое создание VLAN

Сообщение Евгений Т » 14 сен 2021 09:18

Добрый день.

Вопрос по добавлению vlan в vlan database автоматически? На коммутаторах какой серии?
Если речь про серии MES23xx/33xx/35xx/5324, то данная функция доступна.
Команда в глобальном режиме конфигурации:
gvrp static-vlan
Евгений Тур / Элтекс / Сервисный центр ШПД / https://eltex-co.ru/support/

Garri
Сообщения: 416
Зарегистрирован: 17 апр 2014 13:30
Reputation: 9

Re: GVRP - автоматическое создание VLAN

Сообщение Garri » 14 сен 2021 12:44

Спасибо.
А на 24хх будет реализовано?

Евгений Т
Сообщения: 1613
Зарегистрирован: 18 мар 2013 09:48
Reputation: 7
Откуда: Элтекс

Re: GVRP - автоматическое создание VLAN

Сообщение Евгений Т » 14 сен 2021 12:50

Добрый день.

В ближайших планах пока не стоит. Если хотите оставить запрос на реализацию и получить версию ПО по готовности, прошу это сделать по ссылке https://eltex-co.ru/support/ или через ServiceDesk, если у Вас уже есть учётная запись.
Евгений Тур / Элтекс / Сервисный центр ШПД / https://eltex-co.ru/support/

ckey
Сообщения: 4
Зарегистрирован: 07 авг 2019 18:30
Reputation: 0

Re: GVRP - автоматическое создание VLAN

Сообщение ckey » 26 окт 2021 20:13

Добрый день!
Не могу сообразить, почему нет информации о вланах при включенном GVRP, что делаю не так?

2 свича: MES5316A .te2/0/9 <-> .te1/0/3 MES2348

На MES5316A:

Код: Выделить всё

vlan database
vlan 10,12, 100-110
exit

gvrp enable

interface TenGigabitEthernet 2/0/9
gvrp enable
switchport mode trunk
switchport trunk allowed vlan add 12,100-110
exit

vlan интерфейсам назначены ip адреса



На MES2348:

Код: Выделить всё

vlan database
vlan 12
exit

gvrp enable
gvrp static-vlan

interface tengigabitethernet1/0/3
gvrp enable
switchport mode trunk
switchport trunk allowed vlan add all
exit


На MES2348 не видно ни одного vlan, созданного на MES5316A, то есть при попытке назначить access на порт, допустим:

Код: Выделить всё

int gi1/0/4
switchport mode access
switchport access vlan 100


Ругается, что vlan не создан пользователем
sh vlan показывает только 1 и 12 vlan

в show gvrp statistics напротив te1/0/3 значения:
rEmp (7805), rLA (867), sJE (2598), sLE (1), sLA (13)
rJE, rJIn, rLIn, rLE, sJIn, sEmp, SLIn по нулям

Евгений Т
Сообщения: 1613
Зарегистрирован: 18 мар 2013 09:48
Reputation: 7
Откуда: Элтекс

Re: GVRP - автоматическое создание VLAN

Сообщение Евгений Т » 01 ноя 2021 15:04

Добрый день.

На MES5316A нужно поднять хотя бы 1 дополнительный порт, на котором будут присутствовать вланы 100-110, чтобы они начали анонсироваться в te2/0/9. На MES2348 функционал был доработан, чтобы указанное условие не требовалось. Если для MES5316A требуется реализовать такую же логику, прошу завести заявку по форме https://eltex-co.ru/support/
Евгений Тур / Элтекс / Сервисный центр ШПД / https://eltex-co.ru/support/

neperpbl3
Сообщения: 17
Зарегистрирован: 05 окт 2016 14:52
Reputation: 0

Re: GVRP - автоматическое создание VLAN

Сообщение neperpbl3 » 21 мар 2023 09:06

Скрипт по автоматическому созланию и удалению вланов


add_vlan-Eltex.sh

Код: Выделить всё

#!/usr/bin/expect -f

#Enable debug mode
exp_internal 0

if {[llength $argv] < 5} {
    puts "Usage: add_vlan-Eltex.sh debug host vlanid \"vlanname\" \"interfaces\"";
    puts "Example: add_vlan-Eltex.sh debug 1.2.3.0 200 \"test\" \"106 107\""
    exit 1;
}

set l_u "1"
set debug [lindex $argv 0]
set host [lindex $argv 1]
set vlanid [lindex $argv 2]
set vlanname [lindex $argv 3]
set interfaces_array [lindex $argv 4]
set user "autologin"
set password "password"


spawn telnet $host

log_user $l_u
set timeout 1
expect {
    "User Name:" {
        send "$user\n"
        exp_continue
    }
    "Password*" {
        send "$password\n"
#        exp_continue
    }
    timeout {
        puts "Timed out...Attempt 2"
        set timeout 6
        spawn telnet $host
expect {
    "User Name:" {
        send "$user\n"
        exp_continue
    }
    "Password*" {
        send "$password\n"
#        exp_continue
    }
    timeout { puts "!_!_!_!!!Timed out!!!_!_!_!"; exit 1 }
  }
 }
}
#выключаем на время вывод терминала, чтобы не заграмождать экран приветствия баннером
#Проблема с авторизацией "authentication failed" приходит с задержкой
#Увеличиваем таймаут, чтобы не пропустить важную ошибку с авторизацией
log_user 0
set timeout 5
expect {
    ">" {send "enable\n\n"}
    "authentication failed" {
        send_user "!_!_!_!!!INVALID LOGIN/PASSWORD!!!_!_!_!\n"
        exit 10
        interact
    }
}
#Далее ожидания команд 1 сек достаточно
log_user $l_u
set timeout 1

expect "#" {send "\n"}
expect "#" {send "configure terminal\n"}
expect "config" {send "vlan database\n"}
expect "config-vlan" {send "vlan $vlanid name $vlanname\n"}
#На элтексе если имя дублируется в другом VLAN, то vlan не создается
#Важно это отслеживать и выходить с ошибкой

expect {
#В секции прерывания скрипта при появлении ошибки при создании vlan. Важно выходить с кодом отличным от нуля, т.к. родительский скрипт считывает код ошибки
###Если имя уже существует, то vlan не создатся и скрипт прерывается
#Example VLAN 556: Name new 555 is already used.

    "is already used" {
        send_user "!_!_!_!!!NAME USED EROOR!!!_!_!_!\n"
        exit 11
    }
###Если проблема при создании vlan, то vlan не создатся и скрипт прерывается
#наример номер vlan из выхода из диапазона или название имни превышающее 32 символа
#Example % bad parameter value
    "bad parameter value" {
        send_user "!_!_!_!!!BAD PARAMETER ERROR!!!_!_!_!\n"
        exit 12
    }
# Данная значение нужно для того, чтобы ускорить выполнение, если нет ошиок
# Однако по неясной причине "bad parameter value" отображается с некоторой задержкой
# для правильного считывания ошибок нижняя строчка закомментирована. При безошибочном выполнении ожидается таймат 1 сек.
#    "config-vlan" {send "\n\n"}
}
expect "config-vlan" {send "\n\n"}

#Проверка массива
foreach int_index $interfaces_array {
#send_user "DEBUG Massiv $int_index \n"
if { $int_index eq 49 } { set int "gi1/0/1" }
if { $int_index eq 50 } { set int "gi1/0/2" }
if { $int_index eq 51 } { set int "gi1/0/3" }
if { $int_index eq 52 } { set int "gi1/0/4" }
if { $int_index eq 53 } { set int "gi1/0/5" }
if { $int_index eq 54 } { set int "gi1/0/6" }
if { $int_index eq 55 } { set int "gi1/0/7" }
if { $int_index eq 56 } { set int "gi1/0/8" }
if { $int_index eq 57 } { set int "gi1/0/9" }
if { $int_index eq 58 } { set int "gi1/0/10" }
if { $int_index eq 59 } { set int "gi1/0/11" }
if { $int_index eq 60 } { set int "gi1/0/12" }
if { $int_index eq 61 } { set int "gi1/0/13" }
if { $int_index eq 62 } { set int "gi1/0/14" }
if { $int_index eq 63 } { set int "gi1/0/15" }
if { $int_index eq 64 } { set int "gi1/0/16" }
if { $int_index eq 65 } { set int "gi1/0/17" }
if { $int_index eq 66 } { set int "gi1/0/18" }
if { $int_index eq 67 } { set int "gi1/0/19" }
if { $int_index eq 68 } { set int "gi1/0/20" }
if { $int_index eq 69 } { set int "gi1/0/21" }
if { $int_index eq 70 } { set int "gi1/0/22" }
if { $int_index eq 71 } { set int "gi1/0/23" }
if { $int_index eq 72 } { set int "gi1/0/24" }
if { $int_index eq 105 } { set int "te1/0/1" }
if { $int_index eq 106 } { set int "te1/0/2" }
if { $int_index eq 107 } { set int "te1/0/3" }
if { $int_index eq 108 } { set int "te1/0/4" }

#expect "#" {send "configure terminal\n"}
expect "config" {send "interface $int\n"}
expect "config-if" {send "switchport trunk allowed vlan add $vlanid\n"}
#send_user "DEBUG Massiv $int_index $int \n"
}

#expect "#" {send "exit\nexit\n"}
expect "#" {send "\u001A"}
expect "#" {send "\u001A"}
expect "#" {send "\u001A"}
expect "#" {send "\u001A"}
expect "#" {send "show vlan tag $vlanid\n"}
expect "#" {send "\u001A"}
expect "#" {send "\u001A"}
expect "#" {send "\u001A"}
expect "#" {send "exit\nexit\n"}

expect eof

exit 0




del_vlan-Eltex.sh

Код: Выделить всё

#!/usr/bin/expect -f

#Enable debug mode
exp_internal 0

if {[llength $argv] < 3} {
    puts "Usage: del_vlan-Eltex.sh debug host vlanid";
    puts "Example: del_vlan-Eltex.sh debug 1.2.3.0 200"
    exit 1;
}

set l_u "1"
set debug [lindex $argv 0]
set host [lindex $argv 1]
set vlanid [lindex $argv 2]
set user "autologin"
set password "password"


spawn telnet $host

log_user $l_u
set timeout 3
expect {
    "User Name:" {
        send "$user\n"
        exp_continue
    }
    "Password*" {
        send "$password\n"
#        exp_continue
    }
    timeout {
        puts "Timed out...Attempt 2"
        set timeout 6
        spawn telnet $host
expect {
    "User Name:" {
        send "$user\n"
        exp_continue
    }
    "Password*" {
        send "$password\n"
#        exp_continue
    }
    timeout { puts "!_!_!_!!!Timed out!!!_!_!_!"; exit 1 }
  }
 }
}
#выключаем на время вывод терминала, чтобы не заграмождать экран приветствия баннером
#Проблема с авторизацией "authentication failed" приходит с задержкой
#Увеличиваем таймаут, чтобы не пропустить важную ошибку с авторизацией
log_user 0
set timeout 5
expect {
    ">" {send "enable\n\n"}
    "authentication failed" {
        send_user "!_!_!_!!!INVALID LOGIN/PASSWORD!!!_!_!_!\n"
        exit 10
        interact
    }
}
#Далее ожидания команд 1 сек достаточно
log_user $l_u
set timeout 1


expect "#" {send "show vlan tag $vlanid\n"};sleep 1
expect "#" {send "show mac address-table vlan $vlanid\n"};sleep 1
#Если в список MAC адресов настолько большой, что предлагается постраничный вывод списка, то для безопасности срипт завершает работу и прерывается с ошибкой
#Возможно это рабочий vlan и произошла какая-то ошибка
#Для удаления vlan не должно быть много MAC адресов
expect {
  "More" {
     puts "\n\n!_!_!_!!!Dangerous!!! Script exiting...  there are a lot of mac addresses. For what reason are there many mac addresses?!!!_!_!_!\n"; exit 1
    }
  "a8:f9:4b" {
     puts "\n!_!_!_!!! Hint! a8:f9:4b:xx:xx:xx - Mac address Eltex LoopBack Detection. !!!_!_!_!\n"
    }
}
expect "#" {send "configure terminal\n"}

send_user "\n---===### YOU HAVE ENTERED TO INTERACTIVE MODE ###===---\n\nWHEN FINISHED, TYPE \"!!!\" FOR RETURN\n\n"
expect "config" {send "no vlan $vlanid==="; interact -o "!!!" return}; send "\n"
#expect "config" {send "no vlan $vlanid==="; interact}
expect "#" {send "\u001A"}
expect "#" {send "\u001A"}
expect "#" {send "show vlan tag $vlanid\n"}
expect "#" {send "exit\nexit\n"}


############
### Надо ли сделать проверку неуспешного удаления vlan ???
### Надо ли сделать проверку отсутствия vlan ???
############

#expect "config" {interact +++ return}
#expect "config" {send "vlan database\n"}
#expect "config-vlan" {send "vlan $vlanid name $vlanname\n"}
#На элтексе если имя дублируется в другом VLAN, то vlan не создается
#Важно это отслеживать и выходить с ошибкой
#expect {
###Если имя уже существует, то vlan не создатся
#Example VLAN 556: Name new 555 is already used.
#    "is already used" {
#        send_user "!_!_!_!!!NAME USED EROOR!!!_!_!_!\n"
#        exit 11
#    }
#    "config-vlan" {send "\n\n"}
#}

#expect "#" {send "exit\nexit\n"}


expect eof

exit 0


Тема: [](Ethernet Switches MES23xx) Запрос с сайта
Контактное лицо:
Ответственный сотрудник:
Комментарий: Обсудили вопрос по телефону. Вариантов автоматизации настроек vlan всего 3:
1. snmp
2. gvrp
3. при помощи скриптов


В документе «MES_configuration_and_monitoring_via_SNMP_4.0.16.5.pdf» есть возможность создавать vlanы по snmp запросу. Способ основывается на низкоуровневом формате битовых масок. Каждый snmp запрос распространяется на свою группу vlan 1-1024. Всего 4 группы. Запрос должен учитывать уже созданные vlan’ы. При ошибке в маске можно случайно удалить действующие vlan’ы. Способ очень сложный и опасный, т.к. можно задеть остальные vlan’ы. С помощью snmp запроса нельзя присваивать имя для vlan.


В будущую версию документации внесём пометку о том,что при добавлении нового vlan к уже имеющимся во vlan database нужно учитывать их битовую маску - конечный результат требуется вводить в виде битовой маски, состоящей из результата выполнения дизъюнкции (логическое "или") битовых масок. »

Snmp (не подходит, метод Элтекс с битовыми масками сложен и опасный, т.к. возможно удаление других vlan). В документе «MES_configuration_and_monitoring_via_SNMP_4.0.16.5.pdf» есть возможность создавать vlanы по snmp запросу. Способ основывается на низкоуровневом формате битовых масок. Каждый snmp запрос распространяется на свою группу vlan 1-1024. Всего 4 группы. Запрос должен учитывать уже созданные vlan’ы. При ошибке в маске можно случайно удалить действующие vlan’ы. Способ очень сложный и опасный, т.к. можно задеть остальные vlan’ы. С помощью snmp запроса нельзя присваивать имя для vlan.
Gvrp (не подходит, сложная топология сети и разношерстное оборудование (Cisco, D-link) . Ранее уже был отрицательный опыт построения GVRP на D-link, реализованной на D-link. От этой технологии отказались в пользу статических VLAN из-за нестабильной работы GVRP при перестроении колец.)
при помощи скриптов (Единственно возможный вариант)

Выбран способ автоматизации telnet при помощи утилиты expect.



Баг на MES если имя дублируется.
Обнаружен баг в создании vlan, если имя дублируется. В таком случае vlan удаляется.

Обнаружен баг в создании vlan, если имя дублируется. В таком случае vlan удаляется.
Здравствуйте, уважаемые разработчики.

Если во время создания vlan случайно указать имя (vlanname) vlan другого уже созданного vlan, то
а) если создаваемый vlan отсутствует, то он не создастся (на самом деле он создастся и удалится)
б) но если он существует (без имени или с другим именем), то он полностью УДАЛИТСЯ!!!!!!!!

Команда "no vlan <2-4094>" при этом не вводилась. У нас на оборудовании много неподписанных vlan. Если во время актуализации при указании имени я случайно укажу имя другого существующего vlan, то мой vlan без имени полностью удалиться.


name 4#sh vlan
...
444 test_vlan4 te1/0/1-4 S
555 test_vlan5 te1/0/1-4 S
... S

name 4#conf t
name 4(config)#vlan database
name 4(config-vlan)#vlan 555 name test_vlan4
VLAN 555: Name test_vlan4 is already used.
##########VLAN 555 уничтожился глобально и исчез со всех портов!!!!!!!!!!!!!!!!!!!!!#########
name 4(config-vlan)#do sh vlan tag 555
ПУСТО!!!!!!!!!!!!!!!!!

name 4#sh system
System Description: MES2324 AC 28-port 1G/10G Managed Switch

name 4#sh version
Active-image: flash://system/images/mes3300-4016-R2.ros
Version: 4.0.16
Commit: 30fac121
Build: 2 (master)
MD5 Digest: f85bf8ad2b9e899cf2988752fa1feca9
Date: 13-Apr-2021
Time: 11:42:37


Подробности в https://forum.nag.ru/index.php?/topic/89795-upravlenie-vlan-na-cisco-cherez-snmp/
С уважением, Денис Юрьевич


Вернуться в «Коммутаторы и маршрутизаторы Ethernet»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей