faq обучение настройка
Текущее время: Вс июл 27, 2025 13:02

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: D-Link DES-3028 и SNMP (PHP), Создаем VLAN'ы
СообщениеДобавлено: Чт фев 16, 2012 21:15 
Не в сети

Зарегистрирован: Сб апр 19, 2008 16:11
Сообщений: 15
Как же правильно работать с длинками?
D-Link DES-3028
Firmware: Build 2.90.B07

Делаю через консоль на FreeBSD
Код:
zabbix# snmpset -v2c -c private 10.255.0.1 1.3.6.1.2.1.17.7.1.4.3.1.5.2022 i 4
SNMPv2-SMI::mib-2.17.7.1.4.3.1.5.2022 = INTEGER: 4
zabbix# snmpset -v2c -c private 10.255.0.1 1.3.6.1.2.1.17.7.1.4.3.1.1.2022 s VLAN2022
SNMPv2-SMI::mib-2.17.7.1.4.3.1.1.2022 = STRING: "VLAN2022"
zabbix# snmpset -v2c -c private 10.255.0.1 1.3.6.1.2.1.17.7.1.4.3.1.2.2022 x 000000C000000000
SNMPv2-SMI::mib-2.17.7.1.4.3.1.2.2022 = Hex-STRING: 00 00 00 C0 00 00 00 00
zabbix# snmpset -v2c -c private 10.255.0.1 1.3.6.1.2.1.17.7.1.4.3.1.4.2022 x 0040000000000000
SNMPv2-SMI::mib-2.17.7.1.4.3.1.4.2022 = Hex-STRING: 00 40 00 00 00 00 00 00
zabbix#

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

хотя сейчас пробую добавить влан 2010, он не хочет его добавлять
Код:
zabbix# snmpset -v2c -c private 10.255.0.1 1.3.6.1.2.1.17.7.1.4.3.1.5.2010 i 4
Error in packet.
Reason: wrongValue (The set value is illegal or unsupported in some way)
Failed object: SNMPv2-SMI::mib-2.17.7.1.4.3.1.5.2010

при том что
Код:
zabbix# snmpwalk -v2c -c public 10.255.0.1 1.3.6.1.2.1.17.7.1.4.3.1.1
SNMPv2-SMI::mib-2.17.7.1.4.3.1.1.1 = STRING: "default"
SNMPv2-SMI::mib-2.17.7.1.4.3.1.1.10 = STRING: "VLAN10"
SNMPv2-SMI::mib-2.17.7.1.4.3.1.1.999 = STRING: "VLAN999"
SNMPv2-SMI::mib-2.17.7.1.4.3.1.1.2001 = STRING: "VLAN2001"
SNMPv2-SMI::mib-2.17.7.1.4.3.1.1.2003 = STRING: "VLAN2003"
SNMPv2-SMI::mib-2.17.7.1.4.3.1.1.2004 = STRING: "VLAN2004"
SNMPv2-SMI::mib-2.17.7.1.4.3.1.1.2005 = STRING: "VLAN2005"
SNMPv2-SMI::mib-2.17.7.1.4.3.1.1.2006 = STRING: "VLAN2006"
SNMPv2-SMI::mib-2.17.7.1.4.3.1.1.2007 = STRING: "VLAN2007"
SNMPv2-SMI::mib-2.17.7.1.4.3.1.1.2008 = STRING: "VLAN2008"
SNMPv2-SMI::mib-2.17.7.1.4.3.1.1.2022 = STRING: "VLAN2022"

влана то этого и нет!

но бох с ним, добавил он ок, смотрим через CLI
Код:
VID             : 2022        VLAN Name       : VLAN2022
VLAN Type       : Static      Advertisement   : Disabled
Member Ports    : 10,25-26
Static Ports    : 10,25-26
Current Tagged Ports   : 25-26
Current Untagged Ports : 10
Static Tagged Ports    : 25-26
Static Untagged Ports  : 10
Forbidden Ports        :

НО как только работаю с SNMP через php, он не хочет добавлять порты.
Код:
zabbix# php vlan.php
PHP Warning:  snmp2_set(): Error in packet: notWritable (That object does not support modification) in /usr/home/vlan.php on line 130
PHP Warning:  snmp2_set(): No response from 10.255.0.1 in /usr/home/vlan.php on line 131
PHP Warning:  snmp2_set(): No response from 10.255.0.1 in /usr/home/vlan.php on line 132
PHP Warning:  snmp2_set(): No response from 10.255.0.1 in /usr/home/vlan.php on line 133

выполнили скрипт, смотрим что есть в свитче через CLI
Код:
VID             : 2030        VLAN Name       : VLAN2030
VLAN Type       : Static      Advertisement   : Disabled
Member Ports    :
Static Ports    :
Current Tagged Ports   :
Current Untagged Ports :
Static Tagged Ports    :
Static Untagged Ports  :
Forbidden Ports        :


сам скрипт
Скрытый текст: показать
<?php
$portmask = array(
1 => "\x80\x00\x00\x00",
2 => "\x40\x00\x00\x00",
3 => "\x20\x00\x00\x00",
4 => "\x10\x00\x00\x00",
5 => "\x08\x00\x00\x00",
6 => "\x04\x00\x00\x00",
7 => "\x02\x00\x00\x00",
8 => "\x01\x00\x00\x00",
9 => "\x00\x80\x00\x00",
10 => "\x00\x40\x00\x00",
11 => "\x00\x20\x00\x00",
12 => "\x00\x10\x00\x00",
13 => "\x00\x08\x00\x00",
14 => "\x00\x04\x00\x00",
15 => "\x00\x02\x00\x00",
16 => "\x00\x01\x00\x00",
17 => "\x00\x00\x80\x00",
18 => "\x00\x00\x40\x00",
19 => "\x00\x00\x20\x00",
20 => "\x00\x00\x10\x00",
21 => "\x00\x00\x08\x00",
22 => "\x00\x00\x04\x00",
23 => "\x00\x00\x02\x00",
24 => "\x00\x00\x01\x00",
25 => "\x00\x00\x00\x80",
26 => "\x00\x00\x00\x40",
27 => "\x00\x00\x00\x20",
28 => "\x00\x00\x00\x10"
);

$ip = '10.255.0.1';
$wcomm = 'private';
$rcomm = 'public';

$vlan = 2030;
$port_untagged = array(10);
$port_tagged = array(25,26);

$timeout = 1000000;
$writetimeout = 5;
$retries = 5;

$tagged = $untagged = '';
foreach ($port_tagged as $val)
{
$tagged |= $portmask[$val];
}
foreach ($port_untagged as $val)
{
$untagged |= $portmask[$val];
}

snmp2_set($ip, $wcomm, '1.3.6.1.2.1.17.7.1.4.3.1.1.'.$vlan, 's', 'VLAN'.$vlan, $writetimeout, $retries);
snmp2_set($ip, $wcomm, '1.3.6.1.2.1.17.7.1.4.3.1.2.'.$vlan, 'x', $tagged."\x00\x00\x00\x00", $writetimeout, $retries);
snmp2_set($ip, $wcomm, '1.3.6.1.2.1.17.7.1.4.3.1.4.'.$vlan, 'x', $untagged."\x00\x00\x00\x00", $writetimeout, $retries);
snmp2_set($ip, $wcomm, '1.3.6.1.2.1.17.7.1.4.3.1.5.'.$vlan, 'i', '4', $writetimeout, $retries);


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: D-Link DES-3028 и SNMP (PHP), Создаем VLAN'ы
СообщениеДобавлено: Пт фев 17, 2012 09:34 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Чт фев 12, 2009 14:59
Сообщений: 9482
Откуда: Ryazan
Что касается скрипта, то нужно настраивать влан не последовательностью SNMP команд, а изменять все OID в одной команде.
Для этого используйте обращение к внешней команде snmpset.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: D-Link DES-3028 и SNMP (PHP), Создаем VLAN'ы
СообщениеДобавлено: Пт фев 17, 2012 09:47 
Не в сети

Зарегистрирован: Сб апр 19, 2008 16:11
Сообщений: 15
А как объясните это ?
Код:
zabbix# snmpset -v2c -c private 10.255.0.1 1.3.6.1.2.1.17.7.1.4.3.1.5.2022 i 4
SNMPv2-SMI::mib-2.17.7.1.4.3.1.5.2022 = INTEGER: 4
zabbix# snmpset -v2c -c private 10.255.0.1 1.3.6.1.2.1.17.7.1.4.3.1.1.2022 s VLAN2022
SNMPv2-SMI::mib-2.17.7.1.4.3.1.1.2022 = STRING: "VLAN2022"
zabbix# snmpset -v2c -c private 10.255.0.1 1.3.6.1.2.1.17.7.1.4.3.1.2.2022 x 000000C000000000
SNMPv2-SMI::mib-2.17.7.1.4.3.1.2.2022 = Hex-STRING: 00 00 00 C0 00 00 00 00
zabbix# snmpset -v2c -c private 10.255.0.1 1.3.6.1.2.1.17.7.1.4.3.1.4.2022 x 0040000000000000
SNMPv2-SMI::mib-2.17.7.1.4.3.1.4.2022 = Hex-STRING: 00 40 00 00 00 00 00 00
zabbix#


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: D-Link DES-3028 и SNMP (PHP), Создаем VLAN'ы
СообщениеДобавлено: Пт фев 17, 2012 11:52 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Чт фев 12, 2009 14:59
Сообщений: 9482
Откуда: Ryazan
Почему тогда в скрипте у Вас все наоборот и OID 1.3.6.1.2.1.17.7.1.4.3.1.5.2022 изменяется в последнюю очередь?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: D-Link DES-3028 и SNMP (PHP), Создаем VLAN'ы
СообщениеДобавлено: Пт фев 17, 2012 13:15 
Не в сети

Зарегистрирован: Сб апр 19, 2008 16:11
Сообщений: 15
Код:
snmp2_set($ip, $wcomm, '1.3.6.1.2.1.17.7.1.4.3.1.5.'.$vlan, 'i', '4', $writetimeout, $retries);
usleep(10000);
snmp2_set($ip, $wcomm, '1.3.6.1.2.1.17.7.1.4.3.1.1.'.$vlan, 's', 'VLAN'.$vlan, $writetimeout, $retries);
usleep(10000);
snmp2_set($ip, $wcomm, '1.3.6.1.2.1.17.7.1.4.3.1.2.'.$vlan, 'x', '000000C000000000', $writetimeout, $retries);
usleep(10000);
snmp2_set($ip, $wcomm, '1.3.6.1.2.1.17.7.1.4.3.1.4.'.$vlan, 'x', '0040000000000000', $writetimeout, $retries);

сработало, но
Код:
zabbix# php vlan.php
PHP Warning:  snmp2_set(): No response from 10.255.0.1 in /usr/home/vlan.php on line 130
PHP Warning:  snmp2_set(): No response from 10.255.0.1 in /usr/home/vlan.php on line 132
PHP Warning:  snmp2_set(): No response from 10.255.0.1 in /usr/home/vlan.php on line 136


Код:
VID             : 2040        VLAN Name       : VLAN2040
VLAN Type       : Static      Advertisement   : Disabled
Member Ports    : 10,25-26
Static Ports    : 10,25-26
Current Tagged Ports   : 25-26
Current Untagged Ports : 10
Static Tagged Ports    : 25-26
Static Untagged Ports  : 10
Forbidden Ports        :

но если добавляю влан 2010, то
Код:
zabbix# php vlan.php
PHP Warning:  snmp2_set(): Error in packet: wrongValue (The set value is illegal or unsupported in some way) in /usr/home/vlan.php on line 130
PHP Warning:  snmp2_set(): Error in packet: notWritable (That object does not support modification) in /usr/home/vlan.php on line 132
PHP Warning:  snmp2_set(): Error in packet: notWritable (That object does not support modification) in /usr/home/vlan.php on line 134
PHP Warning:  snmp2_set(): Error in packet: notWritable (That object does not support modification) in /usr/home/vlan.php on line 136


Почему wrongValue ?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: D-Link DES-3028 и SNMP (PHP), Создаем VLAN'ы
СообщениеДобавлено: Пт фев 17, 2012 13:19 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Чт фев 12, 2009 14:59
Сообщений: 9482
Откуда: Ryazan
Добавьте полный аналог через CLI и посмотрите, что скажет коммутатор.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: D-Link DES-3028 и SNMP (PHP), Создаем VLAN'ы
СообщениеДобавлено: Пт фев 17, 2012 13:39 
Не в сети

Зарегистрирован: Сб апр 19, 2008 16:11
Сообщений: 15
Код:
DES-3028:5#create vlan vlanid 2010
Command: create vlan vlanid 2010

Success.

DES-3028:5#

DES-3028:5#show vlan vlanid 2010
Command: show vlan vlanid 2010


VID             : 2010        VLAN Name     : VLAN2010
VLAN TYPE       : Static      Advertisement : Disabled
Member Ports    :
Static Ports    :
Current Tagged Ports   :
Current Untagged Ports :
Static Tagged Ports    :
Static Untagged Ports  :
Forbidden Ports        :

Total Entries : 1

DES-3028:5#


все ок, подскажите как по SNMP выполнить save, и если можно, отправьте на почту MIB'ы для des-3028


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: D-Link DES-3028 и SNMP (PHP), Создаем VLAN'ы
СообщениеДобавлено: Пт фев 17, 2012 16:12 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Чт фев 12, 2009 14:59
Сообщений: 9482
Откуда: Ryazan
Пришлите мне, пожалуйста, на почту полную конфигурацию коммутатора для анализа.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: D-Link DES-3028 и SNMP (PHP), Создаем VLAN'ы
СообщениеДобавлено: Пт фев 17, 2012 16:50 
Не в сети

Зарегистрирован: Сб апр 19, 2008 16:11
Сообщений: 15
Оставил:
Код:
if (!snmp2_set($ip, $CONFIG['wcomm'], '1.3.6.1.2.1.17.7.1.4.3.1.5.'.$vlan, 'i', 4, $CONFIG['writetimeout'], $CONFIG['retries']))

все ок
Код:
zabbix# php switch.class.php
VLAN's: 1,10,999,2001,2003,2004,2005,2006,2007,2008,
Add VLAN
VLAN's: 1,10,999,2001,2003,2004,2005,2006,2007,2008,2010,
Delete VLAN
VLAN's: 1,10,999,2001,2003,2004,2005,2006,2007,2008,
zabbix# php switch.class.php
VLAN's: 1,10,999,2001,2003,2004,2005,2006,2007,2008,
Add VLAN
VLAN's: 1,10,999,2001,2003,2004,2005,2006,2007,2008,2010,
Delete VLAN
VLAN's: 1,10,999,2001,2003,2004,2005,2006,2007,2008,
zabbix# php switch.class.php
VLAN's: 1,10,999,2001,2003,2004,2005,2006,2007,2008,
Add VLAN
VLAN's: 1,10,999,2001,2003,2004,2005,2006,2007,2008,2010,
Delete VLAN
VLAN's: 1,10,999,2001,2003,2004,2005,2006,2007,2008,
zabbix# php switch.class.php
VLAN's: 1,10,999,2001,2003,2004,2005,2006,2007,2008,
Add VLAN
VLAN's: 1,10,999,2001,2003,2004,2005,2006,2007,2008,2010,
Delete VLAN
VLAN's: 1,10,999,2001,2003,2004,2005,2006,2007,2008,
zabbix# php switch.class.php


тогда надо через какоето определенное время менять имя влана?

перезагрузил и
Код:
zabbix# php switch.class.php
VLAN's: 1,10,999,2001,2003,2004,2005,2006,2007,2008,
Add VLAN
PHP Warning:  snmp2_set(): Error in packet: wrongValue (The set value is illegal or unsupported in some way) in /usr/home/switch.class.php on line 179
VLAN's: 1,10,999,2001,2003,2004,2005,2006,2007,2008,
Delete VLAN
VLAN's: 1,10,999,2001,2003,2004,2005,2006,2007,2008,
zabbix#


Никак не могу понять логики как оно работает


UPD:
Методом тыка заметил что перед тем как создавать VLAN надо запустить

snmp2_set($ip, $CONFIG['wcomm'], '1.3.6.1.2.1.17.7.1.4.3.1.1.'.$vlan, 's', $CONFIG['prefix'].$vlan, $CONFIG['writetimeout'], $CONFIG['retries'])
и на это получишь ошибку, но если потом добавить/удалить влан, то все ок проиходит без ошибок...если создаешь новый влан, перед этим не попытавшись задать ему имя, он отпинывает с ошибкой

Add VLAN
PHP Warning: snmp2_set(): Error in packet: commitFailed in /usr/home/switch.class.php on line 183

Добился что без указания имени влана он стал добавлять новые вланы, но имя стал указывать старое:

Код:
VID             : 2102        VLAN Name       : VLAN2104
VLAN Type       : Static      Advertisement   : Disabled
Member Ports    :
Static Ports    :
Current Tagged Ports   :
Current Untagged Ports :
Static Tagged Ports    :
Static Untagged Ports  :
Forbidden Ports        :

VID             : 2144        VLAN Name       : VLAN2104
VLAN Type       : Static      Advertisement   : Disabled
Member Ports    :
Static Ports    :
Current Tagged Ports   :
Current Untagged Ports :
Static Tagged Ports    :
Static Untagged Ports  :
Forbidden Ports        :


Последний раз редактировалось Blizzard2 Пт фев 17, 2012 20:05, всего редактировалось 2 раз(а).

Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: D-Link DES-3028 и SNMP (PHP), Создаем VLAN'ы
СообщениеДобавлено: Пт фев 17, 2012 19:55 
Не в сети

Зарегистрирован: Сб апр 19, 2008 16:11
Сообщений: 15
Нашел информацию
Oid: 1.3.6.1.2.1.17.7.1.4.3.1.5
Path: iso . org . dod . internet . mgmt . mib-2 . dot1dBridge . qBridgeMIB . qBridgeMIBObjects . dot1qVlan . dot1qVlanStaticTable . dot1qVlanStaticEntry . dot1qVlanStaticRowStatus
Type: RowStatus

Known-Values
active (1)
notInService (2)
notReady (3)
createAndGo (4)
createAndWait (5)
destroy (6)

Нашел что сначало надо ставить 5, и сразу же 1.

Проверил на Zyxel, работает все прекрасно, сначало делаю createAndWait, влан создается и имеет статус notInService, я выставляю active и все ок, но как же в длинке это все сделанно?
Если ставлю createAndGo , то он создается и сразу же имеет статус active.
Скрипт мой работает с зукселем просто идеально, никаких багов, делаю вывод что баги в прошивка dlink'а...

P.S. Надеюсь кому-нибудь помог своим флудом, и надеюсь что обновят прошивку..


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: D-Link DES-3028 и SNMP (PHP), Создаем VLAN'ы
СообщениеДобавлено: Пн фев 20, 2012 09:51 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Чт фев 12, 2009 14:59
Сообщений: 9482
Откуда: Ryazan
Вот рабочий вариант для Вашей конфигурации и VLAN2040:
Код:
snmpset -v 2c -c private 10.255.0.1 1.3.6.1.2.1.17.7.1.4.3.1.1.2040 s VLAN2040 1.3.6.1.2.1.17.7.1.4.3.1.2.2040 x 004000C000000000 1.3.6.1.2.1.17.7.1.4.3.1.4.2040 x 0040000000000000 1.3.6.1.2.1.17.7.1.4.3.1.5.2040 i 4

Как я и говорил изначально, все OID нужно изменять одной командой SNMP, а не последовательностью SNMP команд.
P.S. MIB я Вам выслал.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: D-Link DES-3028 и SNMP (PHP), Создаем VLAN'ы
СообщениеДобавлено: Пн фев 20, 2012 09:54 
Не в сети

Зарегистрирован: Сб апр 19, 2008 16:11
Сообщений: 15
У меня биллинг не может посылать сразу все одной командой, только последовательность, с ним работает отлично Edge-core и zyxel, но купленные d-link глючат, я что теперь должен биллинг менять?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: D-Link DES-3028 и SNMP (PHP), Создаем VLAN'ы
СообщениеДобавлено: Пн фев 20, 2012 09:56 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Чт фев 12, 2009 14:59
Сообщений: 9482
Откуда: Ryazan
Как уже говорилось используйте вызов внешней команды snmpset. Изменений в этом плане не будет и это не раз обсуждалось.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: D-Link DES-3028 и SNMP (PHP), Создаем VLAN'ы
СообщениеДобавлено: Пн фев 20, 2012 10:15 
Не в сети

Зарегистрирован: Сб апр 19, 2008 16:11
Сообщений: 15
Скажите федеральный телефон сервисного центра dlink . Будем делать возврат по гарантии, купленные 80 свитчей мне не подходят для сети


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: D-Link DES-3028 и SNMP (PHP), Создаем VLAN'ы
СообщениеДобавлено: Пн фев 20, 2012 10:22 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Чт фев 12, 2009 14:59
Сообщений: 9482
Откуда: Ryazan
Уточните, пожалуйста, почему Вы в PHP не хотите делать вызов внешней команды? Такой вариант решения тут вполне подойдет.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB