forum.bitel.ru http://forum.bitel.ru/ |
|
Обработчик активации сервисов http://forum.bitel.ru/viewtopic.php?f=44&t=10544 |
Страница 1 из 2 |
Автор: | PavelGloba [ 24 май 2015, 03:57 ] |
Заголовок сообщения: | Обработчик активации сервисов |
На вики лежит список переменных: ip - ip адрес сервиса или сессии (192.168.1.1) net - сеть сервиса (192.168.1.1/32) mask,bitmask - битовая маска сервиса (32) netmask - маска сервиса в виде (255.255.255.255) netmaskWild - маска wildcard сервиса (0.0.0.0) vlan - vlan сервиса iface, port - интерфейс сервиса ifaceTitle - наименование интерфейса сервиса mac - MAC-адрес сервиса (00:14:fd:11:dd:79) macBytes - MAC-адрес сервиса (0014fd11dd79) servTitle - наименование сервиса contractId - код договора servId - код сервиса -- А для адреса шлюза переменной нет? |
Автор: | PavelGloba [ 26 май 2015, 16:19 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
Ещё, можно ли сделать так, чтобы разные сервисы создавались/удалялись/включались на устройствах по разному или такого функционала из коробки нет? |
Автор: | PavelGloba [ 27 май 2015, 16:35 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
Неужели никто не задавался подобными вопросами? |
Автор: | stark [ 27 май 2015, 16:39 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
Адреса шлюза вроде нет пока. А нужен ? Он обычно только в самом подключении используется(по ssh, telnet и т.п). Зачем в самих командах нужен Ip шлюза? |
Автор: | stark [ 27 май 2015, 16:40 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
PavelGloba писал(а): Ещё, можно ли сделать так, чтобы разные сервисы создавались/удалялись/включались на устройствах по разному или такого функционала из коробки нет? Что значит разные сервисы? В зависимости от типа сервиса разные команды ? Что-то такое вроде делали. |
Автор: | PavelGloba [ 27 май 2015, 17:57 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
stark писал(а): Адреса шлюза вроде нет пока. А нужен ? Он обычно только в самом подключении используется(по ssh, telnet и т.п). Зачем в самих командах нужен Ip шлюза? Например в routerOS при использовании а-ля ip-unnumbered надо прописывать каждый раз адрес шлюза с адресом клиента ![]() stark писал(а): PavelGloba писал(а): Ещё, можно ли сделать так, чтобы разные сервисы создавались/удалялись/включались на устройствах по разному или такого функционала из коробки нет? Что значит разные сервисы? В зависимости от типа сервиса разные команды ? Что-то такое вроде делали. Да, именно это. Подскажите, пожалуйста, где искать. |
Автор: | Amir [ 27 май 2015, 18:10 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
viewtopic.php?f=42&t=9154&p=80859&hilit=commandSet+servTypeIds#p80903 Делать CustomAbstractTerminalServiceActivator не нужно, этот функционал уже есть в обычной сборке. |
Автор: | PavelGloba [ 27 май 2015, 18:39 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
Amir писал(а): http://forum.bitel.ru/viewtopic.php?f=42&t=9154&p=80859&hilit=commandSet+servTypeIds#p80903 Делать CustomAbstractTerminalServiceActivator не нужно, этот функционал уже есть в обычной сборке. Спасибо. Работает. Наверное, надо в инструкцию это добавить. По поводу адреса шлюза, рассмотрите, пожалуйста, возможность сделать эту переменную. Думаю, она многим пригодится. |
Автор: | snark [ 28 май 2015, 13:23 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
PavelGloba писал(а): По поводу адреса шлюза, рассмотрите, пожалуйста, возможность сделать эту переменную. Думаю, она многим пригодится. Вряд-ли он пригодится. В большинстве случаев адрес шлюза можно руками вбить в конфиг, т.к. он постоянен, если сеть одна, а если сетей много, то проще сделать по устройству на сеть и, опять же, вбить адрес шлюза в конфиг руками. IMHO, на МТ проще всего сделать так: Код: /ip dhcp-server network add address=172.16.0.0/24 gateway=172.16.0.1 dns-server=77.88.8.8,77.88.8.1 Потом останется создать VLAN для абонента и просто повесить туда DHCP сервер Код: /interface vlan add arp=reply-only interface=ether1 name=vlan_1002 vlan-id=1002 /ip address add address=172.16.0.1/32 network=172.16.0.2 interface=vlan_1002 /ip pool add name=dhcp_pool_1002 ranges=172.16.0.2 /ip dhcp-server add add-arp=yes interface=vlan_1002 name=dhcp_1002 address-pool=dhcp_pool_1002 lease-time=10m Код: /interface vlan add arp=reply-only interface=ether1 name=vlan_1003 vlan-id=1003 /ip address add address=172.16.0.1/32 network=172.16.0.3 interface=vlan_1003 /ip pool add name=dhcp_pool_1003 ranges=172.16.0.3 /ip dhcp-server add add-arp=yes interface=vlan_1003 name=dhcp_1003 address-pool=dhcp_pool_1003 lease-time=10m ... Код: /interface vlan add arp=reply-only interface=ether1 name=vlan_1254 vlan-id=1254 /ip address add address=172.16.0.1/32 network=172.16.0.254 interface=vlan_1254 /ip pool add name=dhcp_pool_1254 ranges=172.16.0.254 /ip dhcp-server add add-arp=yes interface=vlan_1254 name=dhcp_1254 address-pool=dhcp_pool_1254 lease-time=10m Особое внимание следует уделить "arp=reply-only" - тогда МТ будет отвечать на ARP запросы только тем адресам, которые он выдал через DHCP (см. "add-arp=yes" в dhcp-server), т.е. ручками адрес будет вбить нельзя. Если надо разрешить вбивать ручками, то надо писать "arp=proxy-arp". Чего реально не хватает - это какого нить contractTitle, который позволил бы писать дескрипшены на основе названия договора. Разумеется это все будет нормально работать только если имена контрактов состоят из латинских букв и цифр, хотя если добавить транслитерацию, то была бы вообще красотища. |
Автор: | PavelGloba [ 28 май 2015, 18:36 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
По устройству на сеть мне не сделать иерархически. Mikrotik -> 3120 -> Свичи Но можно сделать несколько сервисов с разными подсетями. Главное потом в этом не запутаться. У меня в качестве dhcp выступает биллинг. Свичи туда релеят напрямую. На миркотике на влане проксиарп. А contractTitle - да, не хватает. Думал как-нибудь логин автоматом по номеру договора создавать, т.к. по логину можно обзывать сервис, а переменная servTitle присутствует. Но это уже извращение какое-то. |
Автор: | snark [ 28 май 2015, 19:16 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
PavelGloba писал(а): contractTitle - да, не хватает. Думал как-нибудь логин автоматом по номеру договора создавать, т.к. по логину можно обзывать сервис, а переменная servTitle присутствует. Но это уже извращение какое-то. Ты так говоришь извращение, как будто это что-то плохое ![]() БГБ - это такой конструктор, где, как и с любым конструктором, самое главное - фантазия. Если в БГБ нет чего-то очень нужного, то надо либо писать скрипт, либо немного повернуть мозг и использовать X для Y, даже если изначально все задумывалось не совсем так или не совсем для этого. Например я в dialup использую объекты для того чтобы "прибивать" юзера к порту, т.к. для меня объекты - это просто удобный справочник, а кто-то их использует еще для чего-то. |
Автор: | Amir [ 28 май 2015, 23:16 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
Адрес шлюза уже оказывается был - $host. Выкладывается $contractTitle и $translit($contractTitle). Немного обновил Описание общих параметров для терминальных(ssh/telnet/manad/mikrotik api) обработчиков активации сервисов |
Автор: | PavelGloba [ 29 май 2015, 11:00 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
Мы, видимо, друг друга не поняли. Нужен был ipGate, которого просто в вики не было... |
Автор: | snark [ 29 май 2015, 12:14 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
Amir писал(а): Выкладывается $contractTitle и $translit($contractTitle). Amir, ты, как всегда, на высоте! ОГРОМНОЕ СПАСИБО! |
Автор: | ok-2004 [ 29 май 2015, 13:00 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
a-ля ip_unnumbered в микротике можно организовать 2 способами: 1. С прописыванием постоянного ип=ип шлюза на vlan-интерфейсе клиента и "сетевым" адресом = ип адресу клиента.( Походу случай TC) 2. Созданием бриджа без портов с ип-ип адресом шлюза и административным MAC-ом "развиланеного" езер-интерфейса и прописыванием маршрутов на ип клиента через этот vlan-interface. + второго случая: a. Не надо по ДХЦП выдавать клиенту ип default-gateway-я. б. Можно в один влан засунуть несколько ип-ов для клиента. - второго случая: а. Надо включать прокси-арп. А так как микротик не ведает различий между proxy-arp и local-proxy-arp - между-вланный клиентский траффик пойдёт через микротик. Придётся задействовать bridge filter. б. Не возможно отмаршрутизить сетку через ип клиента т.к. статические маршруты с distance=1 в микротике через шлюзы в виде интерфейса не работают |
Автор: | PavelGloba [ 02 июл 2015, 15:17 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
Amir писал(а): Выкладывается $contractTitle и $translit($contractTitle). Выложилось? В ченжлоге ничего такого не видел. Последний раз когда проверял - в переменную записывалось "null" |
Автор: | Amir [ 14 июл 2015, 21:55 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
С 6.1 есть. Динамические классы перекомпилировали после обновления? Ошибок в логах не было когда использовали $contractTitle или $translit? |
Автор: | PavelGloba [ 16 июл 2015, 23:17 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
Да, надо было классы перекомилировать. Теперь работает, но я думал, что переменная $contractTitle возвращает наименование клиента, а не номер договора. |
Автор: | Amir [ 17 июл 2015, 01:11 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
А что имеете ввиду под наименованием? |
Автор: | PavelGloba [ 17 июл 2015, 13:56 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
![]() |
Автор: | stark [ 20 июл 2015, 12:14 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
т.е нужно еще и комментарий договора добавить? |
Автор: | snark [ 20 июл 2015, 19:43 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
"title" - по-английски, "название", поэтому большинство, обоснованно, понимает так: Код: $contractTitle == Название договора (т.н. "номер договора")
|
Автор: | Phricker [ 20 июл 2015, 22:54 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
а dbinfo и конкретно bgbilling.contract считает, что title = номер договора, а comment = т.н. комментарий |
Автор: | snark [ 21 июл 2015, 13:12 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
PavelGloba писал(а): переменная $contractTitle возвращает наименование клиента, а не номер договора Тут, как обычно в БГБ, проблема с русским языком. "Номер договора" - это и есть "название договора". Оно, обычно, типизируется через настройки после чего генерится автоматом и в базе хранится как название, а вот "комментарий" - это просто комментарий к названию отношения не имеющий. У многих, в т.ч. у меня, "комментарий" вообще не используется. Phricker писал(а): bgbilling.contract считает, что title = номер договора, а comment = т.н. комментарий В таблице contract поле title как раз означает то что надо. Я вчера с телефона писал, а сеня глянул в клиенте кто есть who и поправил вчерашнее сообщение. |
Автор: | stark [ 21 июл 2015, 13:41 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
удобно когда в комментарии фио или название организации и автоматом через шаблон обновляется . |
Автор: | snark [ 21 июл 2015, 15:28 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
stark, это удобно в клиенте, а на железке, в дескрипшене порта, вполне достаточно названия/номера договора. |
Автор: | PavelGloba [ 27 авг 2015, 17:19 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
Ещё пара вопросов. Добавление нового профиля железки при куче существующих, для меня мучение, т.к. все параметры, которых нет в другом профиле, наследуются от вышестоящего устройства в иерархии. Например, мне нужно добавить одну строку в конфиг для одного типа устройства: sa.command.connect=conf t Допустим, у этого устройства куча дочерних устройств, т.к. оно является маршрутизатором сегмента, и они все примут это в свой конфиг по иерархии. Чтобы этого не происходило, я должен зайти и замаскировать эту строку практически в каждом профиле, который у меня есть. Более того, если я завожу команды не через разделитель, а отдельной строкой с общим префиксом, то надо ещё и следить, чтобы этих команд оказалось меньше, чем на дочерних устроствах, а если нет, то в каждом профиле добавлять лишние пустые строки. Если у меня зоопарк из устройств, то это просто беда. Есть ли какой-то способ не наследовать настройки обработчика активатора сервисов (для меня в принципе загадка зачем это делается) ? Если нет, то планируется ли добавить такую возможность? |
Автор: | PavelGloba [ 27 авг 2015, 17:35 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
Второй вопрос. Есть не очень хорошая железка. Для неё подходит строка sa.endSequence=# Подходит ровно до тех пор, пока не сохраняешь конфиг. router#write Overwrite file [startup-config] ?[Yes/press any key for no].... Вот тут активатор ждёт "#" и не отправляет следующую команду. Что можно сделать в этом случае? |
Автор: | Amir [ 27 авг 2015, 18:04 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
Укажите в конфиге sa.config.inherit=0 Тогда не будет использовать наследованные параметры - только из конфига устройства и типа усройства. Однако с этим в 6.2 была ошибка - параметры указанные в конфиге устройства не учитывались - возможно нужно будет обновиться. |
Автор: | Amir [ 27 авг 2015, 18:09 ] |
Заголовок сообщения: | Re: Обработчик активации сервисов |
http://wiki.bitel.ru/index.php/%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA_%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%BE%D0%B2_%D0%BF%D0%BE_telnet Попробуйте Код: sa.command.serv.enable=write; $setEndSequence([Yes/press any key for no]); yes; $setEndSequence(#); или так, если первый вариант вдруг не сработает Код: sa.command.serv.enable=write; $setEndSequence(no]); yes; $setEndSequence(#);
|
Страница 1 из 2 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |