forum.bitel.ru
http://forum.bitel.ru/

Реализация скриптового шлюза!
http://forum.bitel.ru/viewtopic.php?f=22&t=1770
Страница 1 из 1

Автор:  max [ 04 янв 2009, 02:41 ]
Заголовок сообщения:  Реализация скриптового шлюза!

Как и обещал выкладываю статью по настройке всего этого хозяйства!
http://wiki.bgbilling.ru/index.php/%D0% ... 0%B7%D0%B0

Обсуждать можно тут.

Автор:  snark [ 05 янв 2009, 00:53 ]
Заголовок сообщения: 

критику позволите? если да, то:

Код:
username LOGIN privilege 15 secret PASS

не особо работоспособно без указания:
Код:
aaa new-model
aaa authentication login default local-case
aaa authorization exec default local



Код:
route-map ACCESS-CLIENTS permit 1
 match ip address 100
 set interface Loopback0 Null0

а где конфигурация лупбека?


max писал(а):
Так как последним правилом в данном листе стоит permit ip any any

на самом деле в конце всегда стоит:
Код:
access-list 100 deny ip any any

просто оно не явное, но идеологически об этом указать, IMHO, стоит ;)


указать:
Код:
<source lang="java">
</source>

и
Код:
<source lang="perl">
</source>

в нужных местах думаю стоит, дабы вики читабельнее отображало синтаксис ;)


типизация a-la:
Код:
int pow

ЕМНИМС, в биншеле не нужна ...

впрочем это так, даже не критика, а мелкие придирки, в остальном же - ОГРОМНОЕ Вам СПАСИБО! есть интересные моменты, которые я, хотя и не использую ipn, для себя почерпнул :)

Автор:  max [ 06 янв 2009, 01:51 ]
Заголовок сообщения: 

такс по порядку
Цитата:
aaa new-model
aaa authentication login default local-case
aaa authorization exec default local

согласен тока на aaa new-model про это действительно забыл, других комманд у себя в конфиге не наблюдаю ;)
спасибо, конфигурацию лупбека забубеню щас в статью.

Цитата:
access-list 100 deny ip any any

просто оно не явное, но идеологически об этом указать, IMHO, стоит Wink
НЕТ там как раз стоит permit ip any any, приведу текст из статьи сюда:
Код:
Небольшие пояснения к логике работы цыски:
Существует роут-мап ACCESS-CLIENTS который вешается на IP интерфейс клиента (в примере vlan11), в данном роут-мапе сказано что любой трафик который попадает в акцесс-лист 100 стоит уничтожать (кстати тут можно прописать редирект на страницу, где сказано что доступ отсутствует из-за блокировки - пока не реализовано).
В акцесс-листе 100 мы прописываем всех кому нужен инет как DENY (этим как раз и занимается мой скрипт), тем самым их трафик не попадёт в роут-мап ACCESS-CLIENTS.
Так как последним правилом в данном листе стоит permit ip any any, то любой тарфик который не DENY будет уничтожен.
Необходимо обязательно в ручную прописать все ваши сервера ДНС и хосты которые должны быть доступны клиентам до подключения как DENY!!!

Цитата:
указать:
Код:
<source lang="java">
</source>

и
Код:
<source lang="perl">
</source>

в нужных местах думаю стоит, дабы вики читабельнее отображало синтаксис Wink

учту спасибо
Цитата:
типизация a-la:
Код:
int pow

ЕМНИМС, в биншеле не нужна ...
я сам в яве не шарю, этот скрипт писал разработчик, поэтому промолчу! :)
Цитата:
остальном же - ОГРОМНОЕ Вам СПАСИБО! есть интересные моменты, которые я, хотя и не использую ipn, для себя почерпнул Smile
Пожалуйста, приятно слышать.

Автор:  snark [ 06 янв 2009, 15:19 ]
Заголовок сообщения: 

max писал(а):
Цитата:
access-list 100 deny ip any anyпросто оно не явное, но идеологически об этом указать, IMHO, стоит Wink
НЕТ там как раз стоит permit ip any any, приведу текст из статьи сюда:
Код:
Небольшие пояснения к логике работы цыски:
Существует роут-мап ACCESS-CLIENTS который вешается на IP интерфейс клиента (в примере vlan11), в данном роут-мапе сказано что любой трафик который попадает в акцесс-лист 100 стоит уничтожать (кстати тут можно прописать редирект на страницу, где сказано что доступ отсутствует из-за блокировки - пока не реализовано).
В акцесс-листе 100 мы прописываем всех кому нужен инет как DENY (этим как раз и занимается мой скрипт), тем самым их трафик не попадёт в роут-мап ACCESS-CLIENTS.
Так как последним правилом в данном листе стоит permit ip any any, то любой тарфик который не DENY будет уничтожен.
Необходимо обязательно в ручную прописать все ваши сервера ДНС и хосты которые должны быть доступны клиентам до подключения как DENY!!!

если позволите, я тоже приведу одну цитату, только из мануала:
Cisco писал(а):
The Implied "Deny All Traffic" Criteria Statement
At the end of every access list is an implied "deny all traffic" criteria statement. Therefore, if a packet does not match any of your criteria statements, the packet will be blocked.

т.е. в конце каждого ACL, как я и писал существует не явное deny ;)
просто я думаю что об этом стоит упомянуть, дабы внести ясность в процесс работы, т.к. очень многие будут тупо копи-пастить Ваши скрипты, а потом кричать "не работает!"
кстати, а разве без роутмапа никак? роутмапы все же более ресурсоемкая процедура нежели использование ACL (в каталистах они вообще хардварные, ЕМНИМС) либо исправление таблиц роутинга ...

Цитата:
Цитата:
типизация a-la:
Код:
int pow
ЕМНИМС, в биншеле не нужна ...
я сам в яве не шарю, этот скрипт писал разработчик, поэтому промолчу! :)

об этом они сами где-то тут, на форуме писали ...

Автор:  max [ 06 янв 2009, 15:34 ]
Заголовок сообщения: 

snark писал(а):
max писал(а):
Цитата:
access-list 100 deny ip any anyпросто оно не явное, но идеологически об этом указать, IMHO, стоит Wink
НЕТ там как раз стоит permit ip any any, приведу текст из статьи сюда:
Код:
Небольшие пояснения к логике работы цыски:
Существует роут-мап ACCESS-CLIENTS который вешается на IP интерфейс клиента (в примере vlan11), в данном роут-мапе сказано что любой трафик который попадает в акцесс-лист 100 стоит уничтожать (кстати тут можно прописать редирект на страницу, где сказано что доступ отсутствует из-за блокировки - пока не реализовано).
В акцесс-листе 100 мы прописываем всех кому нужен инет как DENY (этим как раз и занимается мой скрипт), тем самым их трафик не попадёт в роут-мап ACCESS-CLIENTS.
Так как последним правилом в данном листе стоит permit ip any any, то любой тарфик который не DENY будет уничтожен.
Необходимо обязательно в ручную прописать все ваши сервера ДНС и хосты которые должны быть доступны клиентам до подключения как DENY!!!

если позволите, я тоже приведу одну цитату, только из мануала:
Cisco писал(а):
The Implied "Deny All Traffic" Criteria Statement
At the end of every access list is an implied "deny all traffic" criteria statement. Therefore, if a packet does not match any of your criteria statements, the packet will be blocked.

т.е. в конце каждого ACL, как я и писал существует не явное deny ;)
просто я думаю что об этом стоит упомянуть, дабы внести ясность в процесс работы, т.к. очень многие будут тупо копи-пастить Ваши скрипты, а потом кричать "не работает!"
кстати, а разве без роутмапа никак? роутмапы все же более ресурсоемкая процедура нежели использование ACL (в каталистах они вообще хардварные, ЕМНИМС) либо исправление таблиц роутинга ...

Цитата:
Цитата:
типизация a-la:
Код:
int pow
ЕМНИМС, в биншеле не нужна ...
я сам в яве не шарю, этот скрипт писал разработчик, поэтому промолчу! :)

об этом они сами где-то тут, на форуме писали ...

хм, про неявное не знал если честно, однако перед ним же стоит явное permit!
на счёт ресурсоёмкости не знаю, у меня нагрузка на свитч гдето процентов 10 это при полных двух таблицах бгп...
а на счёт тупого копирования... ну я брал с живого, думаю должно работать....

Автор:  snark [ 06 янв 2009, 15:57 ]
Заголовок сообщения: 

max писал(а):
хм, про неявное не знал если честно, однако перед ним же стоит явное permit!

вот если этого permit случайно не окажется - народ будет доолго голову ломать почему же трафик не ходит :)

max писал(а):
на счёт ресурсоёмкости не знаю, у меня нагрузка на свитч гдето процентов 10 это при полных двух таблицах бгп...

2 полных, не кастированных, фулвью влезли в каталиста?

max писал(а):
а на счёт тупого копирования... ну я брал с живого, думаю должно работать....

почему-то люди предпочитают просто копипастить не вдаваясь в подробности, а потом выясняется что у них не работает по разным причинам :(

Автор:  max [ 06 янв 2009, 19:20 ]
Заголовок сообщения: 

snark писал(а):
max писал(а):
хм, про неявное не знал если честно, однако перед ним же стоит явное permit!

вот если этого permit случайно не окажется - народ будет доолго голову ломать почему же трафик не ходит :)

max писал(а):
на счёт ресурсоёмкости не знаю, у меня нагрузка на свитч гдето процентов 10 это при полных двух таблицах бгп...

2 полных, не кастированных, фулвью влезли в каталиста?

max писал(а):
а на счёт тупого копирования... ну я брал с живого, думаю должно работать....

почему-то люди предпочитают просто копипастить не вдаваясь в подробности, а потом выясняется что у них не работает по разным причинам :(

два обрезаных по /24, влезает потому что памяти на SUP-2 512 МБ....
в остальном согласен

Автор:  max [ 06 янв 2009, 19:31 ]
Заголовок сообщения: 

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

Автор:  stark [ 11 янв 2009, 15:39 ]
Заголовок сообщения: 

snark писал(а):

типизация a-la:
Код:
int pow

ЕМНИМС, в биншеле не нужна ...



Ну вообще да . Я тестировал этот кусок как обычный явовский код и типизацию не убрал . Кстати лучше ее убирать, т.к beanshell иногда не работает с типизацией, он может обнулить перемнную в середине кода, если она объявлена .Примчем один и тот же сркрипт при этом будет работать на одной машине, но не будет работать на другой, вот такая вот странная логика

Автор:  max [ 13 янв 2009, 23:38 ]
Заголовок сообщения: 

stark писал(а):
snark писал(а):

типизация a-la:
Код:
int pow

ЕМНИМС, в биншеле не нужна ...



Ну вообще да . Я тестировал этот кусок как обычный явовский код и типизацию не убрал . Кстати лучше ее убирать, т.к beanshell иногда не работает с типизацией, он может обнулить перемнную в середине кода, если она объявлена .Примчем один и тот же сркрипт при этом будет работать на одной машине, но не будет работать на другой, вот такая вот странная логика

сами поправите скрипт в статье? а то я нифига не шарю в яве!

Автор:  stark [ 14 янв 2009, 13:26 ]
Заголовок сообщения: 

max писал(а):
stark писал(а):
snark писал(а):

типизация a-la:
Код:
int pow

ЕМНИМС, в биншеле не нужна ...



Ну вообще да . Я тестировал этот кусок как обычный явовский код и типизацию не убрал . Кстати лучше ее убирать, т.к beanshell иногда не работает с типизацией, он может обнулить перемнную в середине кода, если она объявлена .Примчем один и тот же сркрипт при этом будет работать на одной машине, но не будет работать на другой, вот такая вот странная логика

сами поправите скрипт в статье? а то я нифига не шарю в яве!


исправил

Автор:  agv [ 10 апр 2009, 10:06 ]
Заголовок сообщения:  Версия 4.6

На версии 4,6 будет корректно работать...? Или необходимы изминения и какие?

Автор:  agv [ 10 апр 2009, 10:46 ]
Заголовок сообщения:  Установил на версию 4,6

scheduler 04-10/16:40:00 ERROR [Thread-82] ManadGateWorker - Gate unaccesible - Script-perl
scheduler 04-10/16:40:00 ERROR [Thread-82] ManadGateWorker - -------------------------
scheduler 04-10/16:40:00 ERROR [Thread-82] ManadGateWorker - error: Typed variable declaration : Method Invocation exec : at Line: 41 : in file: inline evaluation of: ``import bitel.billing.server.ipn.bean.AddressRange; import bitel.billing.server. . . . '' : .exec ( arguments )

Target exception: java.io.IOException: Cannot run program "/usr/local/BGBillingServer/ACC": java.io.IOException: error=13, Permission denied

java.lang.RuntimeException: Typed variable declaration : Method Invocation exec : at Line: 41 : in file: inline evaluation of: ``import bitel.billing.server.ipn.bean.AddressRange; import bitel.billing.server. . . . '' : .exec ( arguments )

Target exception: java.io.IOException: Cannot run program "/usr/local/BGBillingServer/ACC": java.io.IOException: error=13, Permission denied

at bitel.billing.server.ipn.GateWorker$Scripter.runScriptSync(GateWorker.java:227)
at bitel.billing.server.ipn.GateWorker.runSync(GateWorker.java:106)
at bitel.billing.server.ipn.GateWorker.run(GateWorker.java:85)
Caused by: Typed variable declaration : Method Invocation exec : at Line: 41 : in file: inline evaluation of: ``import bitel.billing.server.ipn.bean.AddressRange; import bitel.billing.server. . . . '' : .exec ( arguments )

Target exception: java.io.IOException: Cannot run program "/usr/local/BGBillingServer/ACC": java.io.IOException: error=13, Permission denied

at bsh.BSHPrimarySuffix.doName(Unknown Source)
at bsh.BSHPrimarySuffix.doSuffix(Unknown Source)
at bsh.BSHPrimaryExpression.eval(Unknown Source)
at bsh.BSHPrimaryExpression.eval(Unknown Source)
at bsh.BSHVariableDeclarator.eval(Unknown Source)
at bsh.BSHTypedVariableDeclaration.eval(Unknown Source)
at bsh.BSHBlock.evalBlock(Unknown Source)
at bsh.BSHBlock.eval(Unknown Source)
at bsh.BSHBlock.eval(Unknown Source)
at bsh.BSHEnhancedForStatement.eval(Unknown Source)
at bsh.BSHBlock.evalBlock(Unknown Source)
at bsh.BSHBlock.eval(Unknown Source)
at bsh.BSHBlock.eval(Unknown Source)
at bsh.BSHEnhancedForStatement.eval(Unknown Source)
at bsh.BSHBlock.evalBlock(Unknown Source)
at bsh.BSHBlock.eval(Unknown Source)
at bsh.BshMethod.invokeImpl(Unknown Source)
at bsh.BshMethod.invoke(Unknown Source)
at bsh.BshMethod.invoke(Unknown Source)
at bitel.billing.server.ipn.GateWorker$Scripter.invokeMethod(GateWorker.java:253)
at bitel.billing.server.ipn.GateWorker$Scripter.runScriptSync(GateWorker.java:214)
... 2 more
scheduler 04-10/16:45:00 ERROR [Thread-86] ManadGateWorker - Eval error2: Typed variable declaration : Method Invocation exec

Автор:  Amir [ 10 апр 2009, 13:28 ]
Заголовок сообщения: 

Цитата:
java.io.IOException: Cannot run program "/usr/local/BGBillingServer/ACC": java.io.IOException: error=13, Permission denied

У процесса биллинга нет прав чтобы запустить /usr/local/BGBillingServer/ACC

Автор:  madmax [ 13 авг 2009, 20:59 ]
Заголовок сообщения: 

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

Автор:  madmax [ 15 авг 2009, 09:22 ]
Заголовок сообщения: 

Я был не прав все отрабатывает как нужно. Только прежде чем что-либо добавлять в договор модуля ipn или изменять - нужно вначале удалить шлюз чтобы правила на циске отработали

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/