Jump to content
Калькуляторы

LB 2.0 pppoe - передача DNS через радиус

Используется ЛБ 2.0 сборка 006, НАС - cisco 7204VXR, авторизация абонентов по pppoe.

На НАСе же реализованы пара НАТов для работы абонентов через разных магистралов путем выдачи из радиуса ЛБ серых ip-адресов из разных подсетей, которые натятся в разных магистралов.

Можно ли (наверное радиусом же?) отдавать определенные ДНС-севера в зависимости от того, из какой подсетки выдается серый ip-адрес. Предполагается, что это позволит использовать ДНС того магистрала, в которого НАТится выданный ip.

Share this post


Link to post
Share on other sites

Cisco-AVPair = "ip:dns-servers=10.0.0.1 10.0.0.2"

а "отдавать определенные ДНС-севера в зависимости от того, из какой подсетки выдается серый ip-адрес." не реализуемо?

Share this post


Link to post
Share on other sites

Andrei

Так без проблем. По крайней мере в версии 2.0.18 есть привязка радиус-аттрибутов к "Сегментам" - это и есть пулы. В старых ЕМНИП такой фичи не было и надо было помещать сабскрайберов в группы и привызывать радиус-аттрибут к группе сабскбайреов

Share this post


Link to post
Share on other sites

Используется ЛБ 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

Share this post


Link to post
Share on other sites

И как задать - каким темплейтом надо "обработать" пришедшего абонента?

 

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

Share this post


Link to post
Share on other sites

Это вы предлагаете сделать разные вланы для юзеров, ходящих через разных магистралов.

Т.е. схема получается такая: 200й влан прокинут до одной группы свичей, 300й - до другой, и предлагается априори абонентов, подключенных в 200й влан, отправлять в одного магистрала, а других - в другого?

Share this post


Link to post
Share on other sites

Это вы предлагаете сделать разные вланы для юзеров, ходящих через разных магистралов.

Т.е. схема получается такая: 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 by grfmaniak

Share this post


Link to post
Share on other sites

Можно сразу вопрос тут задать не по теме немножко.

Используется так же LB2.0 PPPoE Radius

 

При блокировке учетной записи сессию сбрасываю без проблем с помощью handler скрипта.

 

А как сбросить сессию при активации учетной записи ?

Т.к. после блокировки для PPPoE используется гостевая сеть, чтобы у клиента оставался доступ в личный кабинет. А handler скрипт такой параметр как NAS не передает.

 

Есть варианты решения, у тех кто использует подобную связку ?

Share this post


Link to post
Share on other sites

А как сбросить сессию при активации учетной записи ?

Т.к. после блокировки для PPPoE используется гостевая сеть, чтобы у клиента оставался доступ в личный кабинет. А handler скрипт такой параметр как NAS не передает.

Есть варианты решения, у тех кто использует подобную связку ?

 

Я для этого написал скрипт, который каждые 10 минут сбрасывает всех, кто подключился из гостевой сети. 10 минут и для оплаты через личный кабинет достаточно и вновь активированные не зависают. Ну или при желании можно в скрипте vg.on сделать поиск активированной учетки в таблице активных сессий, и если она там окажется - то там и NAS указан. Тогда можно сбрасывать персонально.

Edited by grfmaniak

Share this post


Link to post
Share on other sites

А как сбросить сессию при активации учетной записи ?

Т.к. после блокировки для PPPoE используется гостевая сеть, чтобы у клиента оставался доступ в личный кабинет. А handler скрипт такой параметр как NAS не передает.

Есть варианты решения, у тех кто использует подобную связку ?

 

Я для этого написал скрипт, который каждые 10 минут сбрасывает всех, кто подключился из гостевой сети. 10 минут и для оплаты через личный кабинет достаточно и вновь активированные не зависают. Ну или при желании можно в скрипте vg.on сделать поиск активированной учетки в таблице активных сессий, и если она там окажется - то там и NAS указан. Тогда можно сбрасывать персонально.

 

Спасибо за наводку.

Share this post


Link to post
Share on other sites

У меня в качестве НАСа циска, и скрипт используется в обоих случаях один и тот же.

 

#!/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

Share this post


Link to post
Share on other sites

У меня в качестве НАСа циска, и скрипт используется в обоих случаях один и тот же.

 

Да, это все будет работать при блокировке учетной записи

А вот при разблокировки например, параметр NAS не передается - и тут необходимо сначала выяснить адрес НАСа, чтобы потом к нему обратиться.

Share this post


Link to post
Share on other sites

У меня работает. НАСов 2, обе циски.

 

И что же пишется лог в результате работы этого скрипта при разблокировке юзера? Есть там ip-адрес NASa?

Share this post


Link to post
Share on other sites

Есть адреса НАТа, вот кусок лога:

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 - гостевая сетка

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.