Andrei Posted November 14, 2016 Используется ЛБ 2.0 сборка 006, НАС - cisco 7204VXR, авторизация абонентов по pppoe. На НАСе же реализованы пара НАТов для работы абонентов через разных магистралов путем выдачи из радиуса ЛБ серых ip-адресов из разных подсетей, которые натятся в разных магистралов. Можно ли (наверное радиусом же?) отдавать определенные ДНС-севера в зависимости от того, из какой подсетки выдается серый ip-адрес. Предполагается, что это позволит использовать ДНС того магистрала, в которого НАТится выданный ip. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
zhenya` Posted November 14, 2016 Cisco-AVPair = "ip:dns-servers=10.0.0.1 10.0.0.2" Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andrei Posted November 14, 2016 Cisco-AVPair = "ip:dns-servers=10.0.0.1 10.0.0.2" а "отдавать определенные ДНС-севера в зависимости от того, из какой подсетки выдается серый ip-адрес." не реализуемо? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
s.lobanov Posted November 14, 2016 Andrei Так без проблем. По крайней мере в версии 2.0.18 есть привязка радиус-аттрибутов к "Сегментам" - это и есть пулы. В старых ЕМНИП такой фичи не было и надо было помещать сабскрайберов в группы и привызывать радиус-аттрибут к группе сабскбайреов Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andrei Posted November 17, 2016 Ясно, спасибо. Тоже вариант, хотя и не очень удобный. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
grfmaniak Posted December 6, 2016 Используется ЛБ 2.0 сборка 006, НАС - cisco 7204VXR, авторизация абонентов по pppoe. На НАСе же реализованы пара НАТов для работы абонентов через разных магистралов путем выдачи из радиуса ЛБ серых ip-адресов из разных подсетей, которые натятся в разных магистралов. Можно ли (наверное радиусом же?) отдавать определенные ДНС-севера в зависимости от того, из какой подсетки выдается серый ip-адрес. Предполагается, что это позволит использовать ДНС того магистрала, в которого НАТится выданный ip. interface Virtual-Template1 ppp ipcp dns 1.1.1.1 2.2.2.2 ! interface Virtual-Template2 ppp ipcp dns 3.3.3.3 4.4.4.4 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andrei Posted December 6, 2016 И как задать - каким темплейтом надо "обработать" пришедшего абонента? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
grfmaniak Posted December 7, 2016 И как задать - каким темплейтом надо "обработать" пришедшего абонента? bba-group pppoe SPARTAK virtual-template 1 sessions auto cleanup ! bba-group pppoe DINAMO virtual-template 2 sessions auto cleanup interface GigabitEthernet0/1.200 encapsulation dot1Q 200 pppoe enable group SPARTAK ! interface GigabitEthernet0/1.300 encapsulation dot1Q 300 pppoe enable group DINAMO Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andrei Posted December 7, 2016 Это вы предлагаете сделать разные вланы для юзеров, ходящих через разных магистралов. Т.е. схема получается такая: 200й влан прокинут до одной группы свичей, 300й - до другой, и предлагается априори абонентов, подключенных в 200й влан, отправлять в одного магистрала, а других - в другого? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
grfmaniak Posted December 7, 2016 (edited) Это вы предлагаете сделать разные вланы для юзеров, ходящих через разных магистралов. Т.е. схема получается такая: 200й влан прокинут до одной группы свичей, 300й - до другой, и предлагается априори абонентов, подключенных в 200й влан, отправлять в одного магистрала, а других - в другого? Ну да. Каким-то образом же вы их уже разделили: "путем выдачи из радиуса ЛБ серых ip-адресов из разных подсетей". VLANа не обязательно два должно быть. Можно для одной группы vlan указывать один темплейт, а для другой группы - второй: interface GigabitEthernet0/1.200 encapsulation dot1Q 200 pppoe enable group SPARTAK ! interface GigabitEthernet0/1.201 encapsulation dot1Q 201 pppoe enable group SPARTAK ! interface GigabitEthernet0/1.202 encapsulation dot1Q 202 pppoe enable group SPARTAK ! interface GigabitEthernet0/1.203 encapsulation dot1Q 203 pppoe enable group SPARTAK ! interface GigabitEthernet0/1.300 encapsulation dot1Q 300 pppoe enable group DINAMO ! interface GigabitEthernet0/1.301 encapsulation dot1Q 301 pppoe enable group DINAMO ! interface GigabitEthernet0/1.302 encapsulation dot1Q 302 pppoe enable group DINAMO Или сделать два NASa, на одном один темплейт, на втором - второй, оба смотрят во всех vlanы одновременно и пущай балансируют между собой клиентов. Edited December 7, 2016 by grfmaniak Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vaddem Posted December 8, 2016 Можно сразу вопрос тут задать не по теме немножко. Используется так же LB2.0 PPPoE Radius При блокировке учетной записи сессию сбрасываю без проблем с помощью handler скрипта. А как сбросить сессию при активации учетной записи ? Т.к. после блокировки для PPPoE используется гостевая сеть, чтобы у клиента оставался доступ в личный кабинет. А handler скрипт такой параметр как NAS не передает. Есть варианты решения, у тех кто использует подобную связку ? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
grfmaniak Posted December 8, 2016 (edited) А как сбросить сессию при активации учетной записи ? Т.к. после блокировки для PPPoE используется гостевая сеть, чтобы у клиента оставался доступ в личный кабинет. А handler скрипт такой параметр как NAS не передает. Есть варианты решения, у тех кто использует подобную связку ? Я для этого написал скрипт, который каждые 10 минут сбрасывает всех, кто подключился из гостевой сети. 10 минут и для оплаты через личный кабинет достаточно и вновь активированные не зависают. Ну или при желании можно в скрипте vg.on сделать поиск активированной учетки в таблице активных сессий, и если она там окажется - то там и NAS указан. Тогда можно сбрасывать персонально. Edited December 8, 2016 by grfmaniak Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vaddem Posted December 8, 2016 А как сбросить сессию при активации учетной записи ? Т.к. после блокировки для PPPoE используется гостевая сеть, чтобы у клиента оставался доступ в личный кабинет. А handler скрипт такой параметр как NAS не передает. Есть варианты решения, у тех кто использует подобную связку ? Я для этого написал скрипт, который каждые 10 минут сбрасывает всех, кто подключился из гостевой сети. 10 минут и для оплаты через личный кабинет достаточно и вновь активированные не зависают. Ну или при желании можно в скрипте vg.on сделать поиск активированной учетки в таблице активных сессий, и если она там окажется - то там и NAS указан. Тогда можно сбрасывать персонально. Спасибо за наводку. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andrei Posted December 8, 2016 У меня в качестве НАСа циска, и скрипт используется в обоих случаях один и тот же. #!/bin/sh SNMPWALK=`which snmpwalk` SNMPSET=`which snmpset` COMMUNITY="____тут пароль ____" NAS="$4" USER_IP="$3" LOGFILENAME="/usr/local/billing/log/cisco_pptp_stop.log" date >> $LOGFILENAME echo "NAS - CISCO" >> $LOGFILENAME test -z "$USER_IP" && exit 1 INT_NUM=`$SNMPWALK -On -v 1 -c $COMMUNITY $NAS .1.3.6.1.2.1.4.21.1.2.$USER_IP | awk '{print $4}'` echo "$*" >> $LOGFILENAME test -z "$INT_NUM" && exit 1 $SNMPSET -v 1 -c $COMMUNITY $NAS .1.3.6.1.2.1.2.2.1.7.$INT_NUM i 2 >/dev/null 2>&1 echo "=== successfully ===" >> $LOGFILENAME exit 0 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vaddem Posted December 9, 2016 У меня в качестве НАСа циска, и скрипт используется в обоих случаях один и тот же. Да, это все будет работать при блокировке учетной записи А вот при разблокировки например, параметр NAS не передается - и тут необходимо сначала выяснить адрес НАСа, чтобы потом к нему обратиться. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andrei Posted December 9, 2016 У меня работает. НАСов 2, обе циски. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
grfmaniak Posted December 9, 2016 У меня работает. НАСов 2, обе циски. И что же пишется лог в результате работы этого скрипта при разблокировке юзера? Есть там ip-адрес NASa? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andrei Posted December 9, 2016 Есть адреса НАТа, вот кусок лога: Fri Dec 9 13:01:59 GMT-5 2016 NAS - CISCO 00004723 Pol__________va 10.10.10.40 87.226.ХХХ.ХХХ === successfully === Fri Dec 9 15:40:28 GMT-5 2016 NAS - CISCO 00004DC4 Dol_______ov1 10.10.10.30 87.226.ХХХ.ХХХ === successfully === Fri Dec 9 16:54:29 GMT-5 2016 NAS - CISCO 00004E4B da________ka 172.21.40.39 87.226.ХХХ.ХХХ === successfully === Fri Dec 9 20:37:28 GMT-5 2016 NAS - CISCO 000048A1 Ul_______na 172.21.40.174 87.226.ХХХ.ХХХ === successfully === 10.10.10.0/24 - гостевая сетка Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...