vanishox Опубликовано 12 мая, 2015 (изменено) · Жалоба Добрый день. Ребят, подскажите, кто сталкивался с такой штукой. На asr1002 поднимаю L2TP + ISG + radius. Возникла необходимость - пользователям прошедшим аутентификацию выдавать белые адреса и вешать полисер, тем кто не прошел - выдавать серые адреса и вешать редирект. Само соединение L2TP устанавливается, нужные сервисы скачиваются и применяются, но возник затык с разделением адресов. Полазив на форумах - я нашел, что такие задачи решали через - CiscoAVPair: ip:addr-pool=poolXXX Попробовал внедрить такую штуку у себя: ip local pool VPDN 172.16.0.1 172.16.0.10 ip local pool pool1 10.10.10.1 10.10.10.10 interface Virtual-Template1 ip unnumbered Loopback2 no ip redirects no ip proxy-arp ip tcp adjust-mss 1420 peer default ip address pool pool1 # - по дефолту оставляю юзеров в одном из пулов no snmp trap link-status keepalive 30 3 ppp authentication chap ms-chap pap ISG_L2TP_AUTH # - аутентификация ppp authorization IPoE # - авторизация ppp ipcp address required ppp ipcp no-renegotiation ppp timeout ncp 60 ppp timeout authentication 15 В радиусе отдаю пул в одном из подвешиваемых сервисов: Sending Access-Accept of id 21 to 10.10.66.136 port 1645 Cisco-AVPair = "ip:l4redirect=redirect to group PORTAL" Cisco-AVPair += "ip:traffic-class=input access-group name REDIR-TRAFF" Cisco-AVPair += "ip:traffic-class=output access-group name REDIR-TRAFF" Cisco-AVPair += "ip:addr-pool=VPDN" Framed-Protocol = PPP Service-Type = Framed-User В деталях сессии вижу, что "вроде бы" сервис применился к сессии: Interface: Virtual-Access2.2 Policy information: Context 3E81A3EC: Handle 3E00033E AAA_id 0000582E: Flow_handle 0 Authentication status: authen Downloaded User profile, excluding services: ssg-account-info "AOPEN_DNS" ssg-account-info "AL4REDIRECT_SERVICE" Downloaded User profile, including services: ssg-account-info "AOPEN_DNS" ssg-account-info "AL4REDIRECT_SERVICE" l4redirect "redirect to group PORTAL" addr-pool "VPDN" Framed-Protocol 1 [PPP] service-type 2 [Framed] traffic-class "input access-group name open_servers_in" traffic-class "output access-group name open_servers_out" Config history for session (recent to oldest): Access-type: Web-service-logon Client: SM Policy event: Apply Config Success (Service) Profile name: OPEN_DNS, 5 references traffic-class "input access-group name open_servers_in" traffic-class "output access-group name open_servers_out" Access-type: Web-service-logon Client: SM Policy event: Apply Config Success (Service) Profile name: L4REDIRECT_SERVICE, 5 references l4redirect "redirect to group PORTAL" traffic-class "input access-group name REDIR-TRAFF" traffic-class "output access-group name REDIR-TRAFF" addr-pool "VPDN" Framed-Protocol 1 [PPP] service-type 2 [Framed] Access-type: PPP Client: SM Policy event: Process Config Connecting Profile name: apply-config-only, 2 references ssg-account-info "AOPEN_DNS" ssg-account-info "AL4REDIRECT_SERVICE" Active services associated with session: name "OPEN_DNS" name "L4REDIRECT_SERVICE" Session inbound features: Traffic classes: Traffic class session ID: 144 ACL Name: REDIR-TRAFF, Packets = 30, Bytes = 3620 Traffic class session ID: 939 ACL Name: open_servers_in, Packets = 0, Bytes = 0 Unmatched Packets = 0, Re-classified packets (redirected) = 0 Feature: Layer 4 Redirect Rule table is empty Session outbound features: Traffic classes: Traffic class session ID: 144 ACL Name: REDIR-TRAFF, Packets = 16, Bytes = 896 Traffic class session ID: 939 ACL Name: open_servers_out, Packets = 0, Bytes = 0 Unmatched Packets = 0, Re-classified packets (redirected) = 0 Configuration sources associated with this session: Service: OPEN_DNS, Active Time = 00:02:35 Service: L4REDIRECT_SERVICE, Active Time = 00:02:35 Interface: Virtual-Template1, Active Time = 00:02:35 Но при этом адрес получаю все равно из pool1: C 10.10.10.7/32 is directly connected, Virtual-Access2.2 Версия IOS - asr1000rp1-advipservicesk9.02.06.00.122-33.XNF.bin Не пойму в чем может быть затык. Если кто сталкивался, подскажите плиз. Изменено 13 мая, 2015 пользователем vanishox Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
furai Опубликовано 12 мая, 2015 · Жалоба Возможно эта штука не работает на сервисе. Вы уверены что вешать нужно не на юзера, а на сервис? Если взять к примеру Framed-ip-address - этот атрибут выдается юзеру и я не вижу никаких причин выдавать его на сервис. Debug subscriber error, debug raduis не ругаются? Еще у вас древний софт, в котором эта фишка может вообще никак не работать. TAC сейчас рекомендует 3.10.5. Кстати некоторые (если не все) радиусы (напр. freeradius) поддерживают внутренние пулы адресов, так можно получить некоторый workaround, если ваш вариант не заработает. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vanishox Опубликовано 13 мая, 2015 · Жалоба furai, спасибо за ответ. Похоже, что вы правы: Нашел в cisco doc - http://www.cisco.com/en/US/docs/ios-xml/ios/isg/configuration/15-1s/isg-acess-ppp-sess.html#GUID-80FF20A1-F218-4334-BE41-986323D2DFA3 For locally terminated PPP sessions, ISG supports the following methods of IP address assignment: IP address in a user profile IP subnet in a user profile Named address pool in a user profile Local address pools Standard methods of IP address management for PPP Там же отдельно описывается случай со сменой IP адресов при переходе из одного vrf в другой vrf - но, как я понял, там сервис подвешивается на уже установленную сессию, а не на стартующую. Буду крутить выдачу аттрибутов в user profile. По поводу Кстати некоторые (если не все) радиусы (напр. freeradius) поддерживают внутренние пулы адресов, так можно получить некоторый workaround, если ваш вариант не заработает. есть примеры, где почитать? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
YuryD Опубликовано 13 мая, 2015 · Жалоба furai, спасибо за ответ. Похоже, что вы правы: Буду крутить выдачу аттрибутов в user profile. Это довольно таки странно, но работало. У меня utm-радиус, поэтому isg там невозможен, невозможно передать атрибуты с одинаквовым именем и разными значениями - они затирают предыдущие. Cisco-av-pair прописаны в сервисных связках тарифного плана для рейтлимит. Но никто мне не помешает добавить юзеру другие атрибуты шейпера индивидуально. IP задаётся радиусом, но давным давно, после объединения нескольких контор мне удалось на 2511 выдавать пользователям либо IP, либо разные имена пулов... Это конечно не isg... Но в словарях радиуса Framed-Ip-address и Ip-pool это немного разные вещи, int32 и строка. За давностию лет настройки биллинга вместе с диалапом утеряны, но это точно работало... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vanishox Опубликовано 13 мая, 2015 (изменено) · Жалоба Проверил на стенде: - действительно через service profile пул не вешается при старте сессии. - пул вешается адекватно через user profile с аттрибутом "Cisco-AVPair = ip:addr-pool=pool1" Изменено 13 мая, 2015 пользователем vanishox Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
YuryD Опубликовано 13 мая, 2015 · Жалоба Немного не понимаю идеи с ip-pool. Кроме кажущегося упрощения ситуации возникают куча граблей, от размера пула, до выборки данных по клиенту по разным запросам... А загнать пользователя по деньгам в редирект можно и по иному, но проще оставить доступ в ЛК, всё остальное заблочить. Кстати и хромовский протокол перестанет работать :) Тот который udp/80/443 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
furai Опубликовано 13 мая, 2015 · Жалоба YuryD, насколько я понимаю, ТС выдает заблоченным абонам айпишники из серого пула для экономии белых адресов. Вполне нормальное решение. Если под размером пула вы имеете в виду, что надо за этим размером следить, то в случае с серыми айпи обычно выдают адресов столько, сколько потянет сессий брас. Выборки для органов имеете в виду? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
YuryD Опубликовано 14 мая, 2015 · Жалоба YuryD, насколько я понимаю, ТС выдает заблоченным абонам айпишники из серого пула для экономии белых адресов. Вполне нормальное решение. Есть разные категории пользователей. Моим белый IP нужен статический, в целях доступности своих ресурсов извне, видеонаблюдение там или локальная сетка. Пул тут только помеха с костылями. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
zhenya` Опубликовано 14 мая, 2015 (изменено) · Жалоба Ну никто не мешает давать строчку с пулом, если в билинге не прописан адрес, и если прописан через фрамед айпи. Изменено 14 мая, 2015 пользователем zhenya` Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vanishox Опубликовано 14 мая, 2015 · Жалоба furai, zhenya - парни, вы читаете мои мысли!? :) А вообще, идея состоит в том, чтобы пользователям L2TP при отрицательном балансе или при неправильном пароле - выдавать серый адрес с сервисом редиректа, и никуда не выпускать кроме кошелька (ну и может быть пары банковских сайтов для пополнения оплаты). Также это позволит снизить нагрузку на биллинг и железо, когда у пользователей кончается тариф их роутер начинает с постоянным периодом долбать ASR и Billing в пустую. Когда таких пользователей немного - еще можно жить, но когда их несколько тысяч... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ShyLion Опубликовано 15 мая, 2015 (изменено) · Жалоба Если у абонента при положительном балансе должен быть реальный IP, то какой смысл выдавать ему серый? Все равно за ним должно быть резервирование на случай внезапной проплаты. Исходя из этого достаточно просто редирект навешивать когда денег нет. Тем более, что обычно нужен доступ к банковским системам для оплаты онлайн, которые добавляются в исключения из редиректа. Емкость реального пула должна соответствовать количеству заключенных договоров а не количеству активных абонентов, иначе можно словить проблемы на ровном месте. ИМХО NATилка у тебя на другом роутере? Изменено 15 мая, 2015 пользователем ShyLion Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...