faq обучение настройка
Текущее время: Ср авг 13, 2025 22:42

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




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
СообщениеДобавлено: Вс фев 01, 2009 15:05 
Не в сети

Зарегистрирован: Чт ноя 22, 2007 12:04
Сообщений: 61
Возникла проблема при написании модуля к биллингу для блокировки неплательщиков на уровне доступа DES-3526.
Блокировки делаются с помощью ACL, так как нужно оставить доступ к сайту провайдера для возможности оплаты.
С добавлением правил проблем нет. Пока не понятно, как удалять правила блокировки при пополнении счета, так как в CLI есть возможность удалять правило только по access_id.
Собственно как его определить? Пока вижу одну возможность:
делать show access_profile profile_id N и потом на bash или perl по ip клиента получать id_profile...путем парсинга вывода


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

Зарегистрирован: Вт авг 29, 2006 16:44
Сообщений: 2326
Откуда: Ярославль
Если на уровне доступа, то зачем блочить по IP ? Не проще лить блочить трафик по номеру порта в ацл. Тогда access_id можно использовать равным номеру порта.

_________________
LiveComm


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

Зарегистрирован: Вс янв 11, 2009 20:22
Сообщений: 144
Откуда: Смоленск
Можно вопрос? Как через тот-же баш приконектится в CLI? Telnet запрашивает же имя и пароль, а как скрипту показать, чтоб он конектился с определённым логином и пасом?


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

Зарегистрирован: Вт авг 29, 2006 16:44
Сообщений: 2326
Откуда: Ярославль
Во-первых, можно юзать SNMP. Это будет в вашем случае проще.
Во-вторых, Perl -> Net::Telnet. Ну, и, в-третьих, есть ещё такая утилитка как empty.
Это всё, что пока пришло в голову )

_________________
LiveComm


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

Зарегистрирован: Чт ноя 22, 2007 12:04
Сообщений: 61
svsh1990 писал(а):
Если на уровне доступа, то зачем блочить по IP ? Не проще лить блочить трафик по номеру порта в ацл. Тогда access_id можно использовать равным номеру порта.

Желательно предусмотреть возможность, что в порт 3526 в целях экономии средств будут включаться до 8-ми клиентов через неуправляемые свитчи, поэтому планирую делать это через блокировку по ip...


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

Зарегистрирован: Вт авг 29, 2006 16:44
Сообщений: 2326
Откуда: Ярославль
postuser писал(а):
svsh1990 писал(а):
Если на уровне доступа, то зачем блочить по IP ? Не проще лить блочить трафик по номеру порта в ацл. Тогда access_id можно использовать равным номеру порта.

Желательно предусмотреть возможность, что в порт 3526 в целях экономии средств будут включаться до 8-ми клиентов через неуправляемые свитчи, поэтому планирую делать это через блокировку по ip...

ну тогда разрабатывать свою систему через указанные способы.

_________________
LiveComm


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Вс фев 01, 2009 23:19 
Не в сети

Зарегистрирован: Пт окт 21, 2005 07:39
Сообщений: 375
Откуда: Екатеринбург
postuser писал(а):
Возникла проблема при написании модуля к биллингу для блокировки неплательщиков на уровне доступа DES-3526.
Блокировки делаются с помощью ACL, так как нужно оставить доступ к сайту провайдера для возможности оплаты.
С добавлением правил проблем нет. Пока не понятно, как удалять правила блокировки при пополнении счета, так как в CLI есть возможность удалять правило только по access_id.
Собственно как его определить? Пока вижу одну возможность:
делать show access_profile profile_id N и потом на bash или perl по ip клиента получать id_profile...путем парсинга вывода


Мы используем следующий хинт:
так как в профиле можно нумеровать правила от 1-255, то ACL создаем для тех кому можно с номером в зависимости от последней цифры IP адреса абонента
Убиваем двух зайцев:
1) Удобно глазами посмотреть создалась привязка или нет
2) Удобно по снмп убирать или вешать правила.


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

Зарегистрирован: Чт апр 12, 2007 20:10
Сообщений: 141
Откуда: Московская область
peektoseen писал(а):
Можно вопрос? Как через тот-же баш приконектится в CLI? Telnet запрашивает же имя и пароль, а как скрипту показать, чтоб он конектился с определённым логином и пасом?


Можно использовать инструмент - Expect. http://ru.wikipedia.org/wiki/Expect - позволяет автоматизировать управление по CLI хоть через Bash, хоть через perl. В интернете много решений на эту тему.


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

Зарегистрирован: Сб дек 02, 2006 10:44
Сообщений: 23
также использовать можно TSE -- Telnet Script Executor
http://home.onego.ru/~loft/_tse.exe


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт фев 03, 2009 22:00 
Не в сети

Зарегистрирован: Пт окт 21, 2005 07:39
Сообщений: 375
Откуда: Екатеринбург
Для DGS-3627G, создание Mirror ACL:

Код:
rem Получить количество свободных мест в 3 и 4 профиле
snmpget.exe -v2c -r1 -t1 -Ovq -c private 10.90.90.90 1.3.6.1.4.1.171.12.9.2.2.1.22.3
snmpget.exe -v2c -r1 -t1 -Ovq -c private 10.90.90.90 1.3.6.1.4.1.171.12.9.2.2.1.22.4

rem Получить из 3 и 4 профиля соответсвенно, ип наблюдаемого последняя цифра это номер
snmpget.exe -v2c -r1 -t1 -Ovq -c private 10.90.90.90 1.3.6.1.4.1.171.12.9.3.2.1.4.3.10
snmpget.exe -v2c -r1 -t1 -Ovq -c private 10.90.90.90 1.3.6.1.4.1.171.12.9.3.2.1.5.4.10

rem Создать профиль 3 от абонента
snmpset.exe -v2c -Ov -c private 10.90.90.90 1.3.6.1.4.1.171.12.9.2.2.1.2.3 i 2 1.3.6.1.4.1.171.12.9.2.2.1.3.3 i 3 1.3.6.1.4.1.171.12.9.2.2.1.4.3 a 255.255.255.255 1.3.6.1.4.1.171.12.9.2.2.1.6.3 i 2 1.3.6.1.4.1.171.12.9.2.2.1.19.3 i 4

rem Удалить профиль 3 от абонента
rem snmpset.exe -v2c -Ov -c private 10.90.90.90 1.3.6.1.4.1.171.12.9.2.2.1.19.3 i 6

rem Создать профиль 4 к абоненту
snmpset.exe -v2c -Ov -c private 10.90.90.90 1.3.6.1.4.1.171.12.9.2.2.1.2.4 i 2 1.3.6.1.4.1.171.12.9.2.2.1.3.4 i 2 1.3.6.1.4.1.171.12.9.2.2.1.5.4 a 255.255.255.255 1.3.6.1.4.1.171.12.9.2.2.1.6.4 i 2 1.3.6.1.4.1.171.12.9.2.2.1.19.4 i 4

rem Удалить профиль 4 к абоненту
rem snmpset.exe -v2c -Ov -c private 10.90.90.90 1.3.6.1.4.1.171.12.9.2.2.1.19.4 i 6

rem Поставить от абонента в 3 профиль на 10 место все порты
snmpset.exe -v2c -Ov -c private 217.76.180.254 1.3.6.1.4.1.171.12.9.3.2.1.4.3.10 a 10.10.10.1 1.3.6.1.4.1.171.12.9.3.2.1.20.3.10 i 3 1.3.6.1.4.1.171.12.9.3.2.1.21.3.10 x FFFFF00000000000FFFFFC0000000000 1.3.6.1.4.1.171.12.9.3.2.1.23.3.10 i 4

rem Поставить к абоненту в 4 профиль на 10 место все порты
snmpset.exe -v2c -Ov -c private 10.90.90.90 1.3.6.1.4.1.171.12.9.3.2.1.5.4.10 a 10.10.10.1 1.3.6.1.4.1.171.12.9.3.2.1.20.4.10 i 3 1.3.6.1.4.1.171.12.9.3.2.1.21.4.10 x FFFFFF8000000000FFFFFF8000000000 1.3.6.1.4.1.171.12.9.3.2.1.23.4.10 i 4

rem Удалить запись в 3 профиле на 10 месте
snmpset.exe -v2c -Ov -c private 10.90.90.90 1.3.6.1.4.1.171.12.9.3.2.1.23.3.10 i 6

rem Сохранить
snmpset.exe -v2c -Ov -c private 10.90.90.90 1.3.6.1.4.1.171.12.1.2.18.4.0 i 2

ЗЫ Удобно мониторить запросы сниффером, от Dview 6.0 к коммутатору.
ЗЫЗЫ Также Dview 6.0 умеет конвертировать и показывать порты в HEX маски типа:
FFFFF00000000000FFFFFC0000000000 это 1:1-1:20, 2:1-2:22
FFFFFF8000000000FFFFFF8000000000 это 1:1-1:25, 2:1-2:25


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

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


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

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


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

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