faq обучение настройка
Текущее время: Чт авг 21, 2025 06:11

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




Начать новую тему Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 7 ] 
Автор Сообщение
СообщениеДобавлено: Пт ноя 03, 2006 17:08 
Не в сети

Зарегистрирован: Ср мар 01, 2006 16:19
Сообщений: 34
Откуда: Екатеринбург
1) Имеется DES-3526 (A4G) прошивка 4.01-B19.

2) Имеется скрипт для создания ACL Packet_Content по snmp.

Проблема: при создании ACL некоторые смещения (offset) не добавляются. Через D-view все ОК!

Создаю так:

Код:
#!/bin/sh

. ./acl.cfg

HOST=10.16.40.2

# Profile ID
PID=$1
# Access ID
AID=$2
# Switch Port
SW_PORT=`$PORTCONV_PATH 2 $3`

MAC='00 00 00 00 00 00 00 41 f4 89 b4 1f 00 00 00 00'
IP1='00 00 00 00 00 00 00 00 00 00 00 00 00 00 0a 01'
IP2='15 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 00'

# Offset0-15
/usr/local/bin/snmpset -r 3 -t 3 -v2c -c private -m +ACLMGMT-MIB $HOST ACLMGMT-MIB::swACLPktContRuleEntry.3.$PID.$AID x
"$MAC"

# Offset16-31
/usr/local/bin/snmpset -r 3 -t 3 -v2c -c private -m +ACLMGMT-MIB $HOST ACLMGMT-MIB::swACLPktContRuleEntry.4.$PID.$AID x
"$IP1"

# Offset32-47
/usr/local/bin/snmpset -r 3 -t 3 -v2c -c private -m +ACLMGMT-MIB $HOST ACLMGMT-MIB::swACLPktContRuleEntry.5.$PID.$AID x
"$IP2"

# Rule PERMIT/DENY
/usr/local/bin/snmpset -r 3 -t 3 -v2c -c private -m +ACLMGMT-MIB $HOST ACLMGMT-MIB::swACLPktContRuleEntry.13.$PID.$AID i 2

# Port SW
/usr/local/bin/snmpset -r 3 -t 3 -v2c -c private -m +ACLMGMT-MIB $HOST ACLMGMT-MIB::swACLPktContRuleEntry.14.$PID.$AID x
"$SW_PORT"

# Create ACL Status
/usr/local/bin/snmpset -r 3 -t 3 -v2c -c private -m +ACLMGMT-MIB $HOST ACLMGMT-MIB::swACLPktContRuleEntry.15.$PID.$AID i 4


Удаляю так:

Код:
#!/bin/sh

. ./acl.cfg

HOST=10.16.40.2

# Profile ID
PID=$1
# Access ID
AID=$2

# Delete ACL Status
/usr/local/bin/snmpset -r 3 -t 3 -v2c -c private -m +ACLMGMT-MIB $HOST ACLMGMT-MIB::swACLPktContRuleEntry.15.$PID.$AID i 6


PID и AID - соответственно ProfileID и AccessID

Получается следующая схема:

1) Я запускаю скрипт для создания правила, оно создается, но поле offset0_15 = все нули, остальные поля -ОК.
2) Удаляю ACL вторым скриптом.
3) Запускаю скрипт создания правил снова, пустое поле уже offset32_47.
4) Удаляю ACL вторым скриптом.
5) Запускаю скрипт снова - уже все поля заполнены правильно!

Думал, может коммутатор не успевает прописать правило - делал таймауты больше - ничего не изменилось. И что интересно, через D-View все работает правильно, и порядок команд абсолютно такой же!

Что может быть? Глюк snmpset? Или что-то еще?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб ноя 04, 2006 10:05 
Не в сети

Зарегистрирован: Ср мар 01, 2006 16:19
Сообщений: 34
Откуда: Екатеринбург
Да, забыл, конфигурация профиля следующая:

Код:
create access_profile packet_content_mask offset_0-15 0x0 0xFFFF 0xFFFFFFFF 0x0 offset_16-31 0x0 0x0 0x0 0xFFFF offset_32-47 0xFFFF0000 0x0 0x0 0x0 profile_id 10


Ну что? никто не знает, что может быть?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб ноя 04, 2006 20:16 
Не в сети

Зарегистрирован: Пн сен 27, 2004 18:18
Сообщений: 1642
Откуда: Vault 13
cat acl.cfg покажите


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс ноя 05, 2006 11:33 
Не в сети

Зарегистрирован: Ср мар 01, 2006 16:19
Сообщений: 34
Откуда: Екатеринбург
acl.cfg содержит следующее:

Код:

PROG_PATH="/acl/packet_cont/"
PORTCONV_PATH="$PROG_PATH/portconv.sh"


Скрипт portconv.sh конвертирует (обычным case) номер порта в тип hex-string. (допустим, вводишь 10 порт, а он возвращает "00 40 00 00 ").

У меня есть скрипт, который устанавливает ACL, но только на основе IP (фильтрация tcp/udp портов), использующий этот же скрипт - он работает на УРА!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс ноя 05, 2006 16:16 
Не в сети

Зарегистрирован: Ср мар 01, 2006 16:19
Сообщений: 34
Откуда: Екатеринбург
Если сообщения об ошибках следующие:

Код:
Error in packet.
Reason: notWritable (That object does not support modification)
Failed object: ACLMGMT-MIB::swACLPktContRuleOffset0to15.10.1

Error in packet.
Reason: notWritable (That object does not support modification)
Failed object: ACLMGMT-MIB::swACLPktContRuleOffset16to31.10.1

Error in packet.
Reason: notWritable (That object does not support modification)
Failed object: ACLMGMT-MIB::swACLPktContRuleOffset32to47.10.1

Error in packet.
Reason: notWritable (That object does not support modification)
Failed object: ACLMGMT-MIB::swACLPktContRulePermit.10.1

Error in packet.
Reason: notWritable (That object does not support modification)
Failed object: ACLMGMT-MIB::swACLPktContRulePort.10.1

ACLMGMT-MIB::swACLPktContRuleRowStatus.10.1 = INTEGER: createAndGo(4)


то правило добавится корректно.

А если следующие: (сommit failed), то нет

Код:
Error in packet.
Reason: notWritable (That object does not support modification)
Failed object: ACLMGMT-MIB::swACLPktContRuleOffset0to15.10.1

Error in packet.
Reason: notWritable (That object does not support modification)
Failed object: ACLMGMT-MIB::swACLPktContRuleOffset16to31.10.1

Error in packet.
Reason: commitFailed
Failed object: ACLMGMT-MIB::swACLPktContRuleOffset32to47.10.1

Error in packet.
Reason: notWritable (That object does not support modification)
Failed object: ACLMGMT-MIB::swACLPktContRulePermit.10.1

Error in packet.
Reason: notWritable (That object does not support modification)
Failed object: ACLMGMT-MIB::swACLPktContRulePort.10.1

ACLMGMT-MIB::swACLPktContRuleRowStatus.10.1 = INTEGER: createAndGo(4)


Соответственно, то поле, при добавлении которого была ошибка commitFailed и не добавляется.

Смущает "плавающий" характер ошибки:

Сначала не добавляется offset0-15, при следующем запуске offset16-31, потом offset32-47, потом все правильно добавляется и опять по новой с самого начала.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн ноя 06, 2006 02:50 
Не в сети

Зарегистрирован: Чт ноя 24, 2005 02:57
Сообщений: 33
Откуда: Moscow
ну для начала неплохо бы заменить
Код:
/usr/local/bin/snmpset -r 3 -t 3 -v2c -c private -m +ACLMGMT-MIB $HOST ACLMGMT-MIB::swACLPktContRuleEntry.3.$PID.$AID x
"$MAC"
/usr/local/bin/snmpset -r 3 -t 3 -v2c -c private -m +ACLMGMT-MIB $HOST ACLMGMT-MIB::swACLPktContRuleEntry.4.$PID.$AID x
"$IP1"
/usr/local/bin/snmpset -r 3 -t 3 -v2c -c private -m +ACLMGMT-MIB $HOST ACLMGMT-MIB::swACLPktContRuleEntry.5.$PID.$AID x
"$IP2"
/usr/local/bin/snmpset -r 3 -t 3 -v2c -c private -m +ACLMGMT-MIB $HOST ACLMGMT-MIB::swACLPktContRuleEntry.13.$PID.$AID i 2
/usr/local/bin/snmpset -r 3 -t 3 -v2c -c private -m +ACLMGMT-MIB $HOST ACLMGMT-MIB::swACLPktContRuleEntry.14.$PID.$AID x
"$SW_PORT"
/usr/local/bin/snmpset -r 3 -t 3 -v2c -c private -m +ACLMGMT-MIB $HOST ACLMGMT-MIB::swACLPktContRuleEntry.15.$PID.$AID i 4


на

Код:
/usr/local/bin/snmpset -r 3 -t 3 -v2c -c private -m +ACLMGMT-MIB $HOST ACLMGMT-MIB::swACLPktContRuleEntry.3.$PID.$AID x
"$MAC" ACLMGMT-MIB::swACLPktContRuleEntry.4.$PID.$AID x
"$IP1" ACLMGMT-MIB::swACLPktContRuleEntry.5.$PID.$AID x
"$IP2" ACLMGMT-MIB::swACLPktContRuleEntry.13.$PID.$AID i 2 ACLMGMT-MIB::swACLPktContRuleEntry.14.$PID.$AID x
"$SW_PORT" ACLMGMT-MIB::swACLPktContRuleEntry.15.$PID.$AID i 4


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн ноя 06, 2006 19:01 
Не в сети

Зарегистрирован: Ср мар 01, 2006 16:19
Сообщений: 34
Откуда: Екатеринбург
Спасибо! Так работает.

Но работает так:

Если До создания записи например с PID=10 и AID=1 записать в любой offset любое значение, допустим:
Код:
MAC='00 00 00 00 00 00 00 46 аа 84 с4 1f 00 00 00 00'

# Offset0-15
/usr/local/bin/snmpset -r 3 -t 3 -v2c -c private -m +ACLMGMT-MIB $HOST ACLMGMT-MIB::swACLPktContRuleEntry.3.$PID.$AID x
"$MAC"


То создать запись с таким же PID и AID уже не получиться до тех пор, пока не запустишь команду удаления записи

Код:
/usr/local/bin/snmpset -r 3 -t 3 -v2c -c private -m +ACLMGMT-MIB $HOST ACLMGMT-MIB::swACLPktContRuleEntry.15.$PID.$AID i 6


Все, спасибо тем, кто откликнулся! Вы мне очень помогли. Тему можно закрывать.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 7 ] 

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


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

Сейчас этот форум просматривают: Google [Bot] и гости: 61


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

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