Andrei Posted November 14, 2016 · Report post Используется ЛБ 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 · Report post 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 · Report post 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 · Report post Andrei Так без проблем. По крайней мере в версии 2.0.18 есть привязка радиус-аттрибутов к "Сегментам" - это и есть пулы. В старых ЕМНИП такой фичи не было и надо было помещать сабскрайберов в группы и привызывать радиус-аттрибут к группе сабскбайреов Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andrei Posted November 17, 2016 · Report post Ясно, спасибо. Тоже вариант, хотя и не очень удобный. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
grfmaniak Posted December 6, 2016 · Report post Используется ЛБ 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 · Report post И как задать - каким темплейтом надо "обработать" пришедшего абонента? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
grfmaniak Posted December 7, 2016 · Report post И как задать - каким темплейтом надо "обработать" пришедшего абонента? 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 · Report post Это вы предлагаете сделать разные вланы для юзеров, ходящих через разных магистралов. Т.е. схема получается такая: 200й влан прокинут до одной группы свичей, 300й - до другой, и предлагается априори абонентов, подключенных в 200й влан, отправлять в одного магистрала, а других - в другого? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
grfmaniak Posted December 7, 2016 (edited) · Report post Это вы предлагаете сделать разные вланы для юзеров, ходящих через разных магистралов. Т.е. схема получается такая: 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 · Report post Можно сразу вопрос тут задать не по теме немножко. Используется так же 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) · Report post А как сбросить сессию при активации учетной записи ? Т.к. после блокировки для 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 · Report post А как сбросить сессию при активации учетной записи ? Т.к. после блокировки для 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 · Report post У меня в качестве НАСа циска, и скрипт используется в обоих случаях один и тот же. #!/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 · Report post У меня в качестве НАСа циска, и скрипт используется в обоих случаях один и тот же. Да, это все будет работать при блокировке учетной записи А вот при разблокировки например, параметр NAS не передается - и тут необходимо сначала выяснить адрес НАСа, чтобы потом к нему обратиться. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andrei Posted December 9, 2016 · Report post У меня работает. НАСов 2, обе циски. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
grfmaniak Posted December 9, 2016 · Report post У меня работает. НАСов 2, обе циски. И что же пишется лог в результате работы этого скрипта при разблокировке юзера? Есть там ip-адрес NASa? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Andrei Posted December 9, 2016 · Report post Есть адреса НАТа, вот кусок лога: 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...