roysbike Опубликовано 9 декабря, 2011 · Жалоба Добрый день коллеги! Имеется в качестве bras-ов Freebsd 8.2 MPD5 pptp+pppoe . БД + freeradius. Трафик не считается. Подскажи, кто и как отслеживает в базе, что сессия online. И такой вопрос. 5 этих же bras-ов. На всех service name "pppoe.123" , Авторизация Login+Password+mac. Абонент подключен к серверу A. Так же он может подключится к серверу B. Каким образом можно ему запретить доступ. Acct? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Alex/AT Опубликовано 9 декабря, 2011 · Жалоба Если у Вас FreeRadius - делайте Session-Limit и чекалку в radcheck. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Deac Опубликовано 9 декабря, 2011 (изменено) · Жалоба Подскажи, кто и как отслеживает в базе, что сессия online. NOW() < last_update + 2 * alive_time MPD5 Там есть своя WEB-морда, можно CURL-ом выбирать активные сессии. Каким образом можно ему запретить доступ. Проверять NAS-ID/NAS-IP Изменено 9 декабря, 2011 пользователем Deac Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
terrible Опубликовано 9 декабря, 2011 · Жалоба Внимательно изучайте RADIUS протокол и мануал к фрирадиусу. Можно сделать так, что определённый абонент (или определённая группа абонентов) может подключаться только на определённый сервер получая определённые параметры (шейпинга, ACL и т.п.). PPPoE вы рулите настройкой тегерирования на узле, PPTP обычно прописано у абонента, так что имеенно там это и надо. Сессия online отслеживатется по наличию пустого поля accounting stop, вроде так называется в БД. Ну и по желанию выборки по client ip и другие параметры. Ещё настоятельно советую проработать перепроверку не MAC адреса, а ID свича при использовании фичи PPPoE circuit id insertion, гораздо более гибрая хрень. Ну и напоследок - убейте нахер PPTP, оставляйте только PPPoE, хоть и диагностируется несколько хуже, зато гораздо более удобная в плане распределения нагрузок между серваками. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
t00r Опубликовано 9 декабря, 2011 · Жалоба По поводу веб морды - вот мой скрипт для мониторинга группы серверов на mpd5: <?php error_reporting(E_ALL & ~E_DEPRECATED); ini_set('display_errors',1); $vpn_url = array(); #$vpn_url[] = "172.28.200.4"; $vpn_url[] = "172.28.200.61"; $vpn_url[] = "172.28.200.62"; $vpn_url[] = "172.28.200.71"; $vpn_url[] = "172.28.200.72"; $all_pptp = 0; $all_l2tp = 0; foreach($vpn_url as $k => $v ) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://$v:5006/"); curl_setopt($ch, CURLOPT_USERPWD, "admin:нутутвашпаролькоторыйвконфигеmpdуменяонединдлявсехбрасовтакжекакилогин"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //curl_setopt($ch, CURLOPT_HEADER, false); $out = curl_exec($ch); $count_pptp = count(explode('pptp', $out))-1; $count_l2tp = count(explode('l2tp', $out))-1; $count_sum = $count_pptp + $count_l2tp; $listing = str_replace("<H1>Multi-link PPP Daemon for FreeBSD</H1>\n<H2>Current status summary</H2>","<H2>VPN server $v ( pptp: $count_pptp + l2tp: $count_l2tp = $count_sum)</H2>",$out); $all_pptp = $all_pptp + $count_pptp; $all_l2tp = $all_l2tp + $count_l2tp; print $listing; curl_close($ch); } $all = $all_pptp+$all_l2tp; print "<br><h2>All: $all ALL pptp: $all_pptp, ALL l2tp: $all_l2tp</h2>"; ?> Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
roysbike Опубликовано 9 декабря, 2011 · Жалоба спасибо за подсказки. В будущем хотим съехать на pppoe. Балансирую с помощью DNS+ скрипты. Снимают по snmp нагрузку на интерфейсе и кидает на нужный сервер. Кому интересно могу выложить балансировку нагрузки с помощью DNS для pptp/lt2p. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
t00r Опубликовано 9 декабря, 2011 · Жалоба 1. не знаю как все, единого мнения тут никогда не будет - я в своей сети юзаю pptp ( для больных роутеров, которые л2 не знают ) и l2tp - лучше конечно уходить на ипое но денег на замену в поле железа нет 2. с помощью днс - да всё просто - пиши в днс несколько ипов для имени и всё - у меня есть имя в днс vpn.lan и l2tp.lan - там 4 ипа ( по конфигу ж видно ) - они по кругу роунд-робином и бегают - если чо-то отваливается, после 1-2 реконнектов юзер попадает на работающий брас Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
roysbike Опубликовано 9 декабря, 2011 (изменено) · Жалоба как быть с PPPoE ?. Если пользовтель может подключится с одной учетки на разные брасы с разных компов и получить инет. ПО каком отребуту запрещать или отслеживать? Изменено 9 декабря, 2011 пользователем roysbike Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Alex/AT Опубликовано 10 декабря, 2011 (изменено) · Жалоба У FreeRADIUS есть поддержка Session-Limit. Вот им и отслеживайте. В случае нетиповых BRAS'ов ещё придётся подпилить radcheck, но это задача достаточно тривиальная. Изменено 10 декабря, 2011 пользователем Alex/AT Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Deac Опубликовано 10 декабря, 2011 · Жалоба Сессия online отслеживатется по наличию пустого поля accounting stop, вроде так называется в БД. Не катит для "зависших" сессий. Вариант с неприходом двух ALIVE работает всегда. ПО каком отребуту запрещать или отслеживать? Говорю же - NAS-ID и/или NAS-IP. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
terrible Опубликовано 10 декабря, 2011 · Жалоба Если пользовтель может подключится с одной учетки на разные брасы с разных компов и получить инет. Добавляйте перепроверку порта свича при авторизации Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
roysbike Опубликовано 11 декабря, 2011 · Жалоба Если пользовтель может подключится с одной учетки на разные брасы с разных компов и получить инет. Добавляйте перепроверку порта свича при авторизации на узле упроваляемый, в подьездах плоское железо Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
terrible Опубликовано 11 декабря, 2011 · Жалоба там, где присутствуют гирлянды тупарей - привязывайтесь к MAC-адресу, в нормальном случае авторизируйте по порту свича. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
roysbike Опубликовано 11 декабря, 2011 · Жалоба там, где присутствуют гирлянды тупарей - привязывайтесь к MAC-адресу, в нормальном случае авторизируйте по порту свича. с маком то понятном. Не лучший вариант. Я вот толкьо не пойму как реализвоть по NAS-IP , в radcheck добавлять? и что? подключился он, потом отклбчился и на другой сервак, а там nas-ip другой уже/ Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 11 декабря, 2011 · Жалоба подключился он, потом отклбчился и на другой сервак, а там nas-ip другой уже/ В sql-базе биллинга должно отслеживаться состояние клиента - подключен или нет. В таблице пользователей есть такое поле? Проверять/устанавливать значение sql-запросом из FreeRADIUS'а. У нас он для users.connected = 'YES' просто выдавал клиенту туннельный IP 127.0.0.1. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Deac Опубликовано 12 декабря, 2011 · Жалоба Я вот толкьо не пойму как реализвоть по NAS-IP Добавить проверку в Auth. В биллинге добавить таблицы "nases"(заносить сюда NAS-ID/NAS-IP) и "allowed_nases"(поабонентский список разрешённых NAS). Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
roysbike Опубликовано 12 декабря, 2011 (изменено) · Жалоба подключился он, потом отклбчился и на другой сервак, а там nas-ip другой уже/ В sql-базе биллинга должно отслеживаться состояние клиента - подключен или нет. В таблице пользователей есть такое поле? Проверять/устанавливать значение sql-запросом из FreeRADIUS'а. У нас он для users.connected = 'YES' просто выдавал клиенту туннельный IP 127.0.0.1. биллинг самописный/ Можешь написать пример запроса. В доках перелыл не нашел. Изменено 12 декабря, 2011 пользователем roysbike Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
roysbike Опубликовано 12 декабря, 2011 · Жалоба Я вот толкьо не пойму как реализвоть по NAS-IP Добавить проверку в Auth. В биллинге добавить таблицы "nases"(заносить сюда NAS-ID/NAS-IP) и "allowed_nases"(поабонентский список разрешённых NAS). Они у нас есть. Авторизация для pppoe идет по Логину и Паролю. MAC привязывать не будем. Допустим абонент подключился на сервер A . Этот же абонент подключился на сервер B. И их пустило. Если сделать проверку на NAS IP , так ему же один сервер будет разрешен. ВОт и ищу каким радиус запросом можно проверить, что абонент online. В базу приходят Nas-IP .Тоесть мы знаем на каком сервере абонент. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Deac Опубликовано 13 декабря, 2011 · Жалоба ВОт и ищу каким радиус запросом можно проверить, что абонент online. NOW() < last_update + 2 * alive_time Неприход двух аливов гарантировано указывает на неактивность абонента. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
andriko Опубликовано 13 декабря, 2011 · Жалоба можно попытаться прочитать что такое checkrad Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Deac Опубликовано 13 декабря, 2011 · Жалоба можно попытаться прочитать что такое checkrad ...не работает с MPD. Уже при 5 NAS-ах опрос CURL-ом занимает изрядное время. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Alex/AT Опубликовано 13 декабря, 2011 · Жалоба ...не работает с MPD. Дык, допилить. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Deac Опубликовано 13 декабря, 2011 · Жалоба Дык, допилить. =юзать CURL, с вышеуказанным результатом. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
roysbike Опубликовано 16 декабря, 2011 · Жалоба Спасибо всем за помощь. Все получилось. Включи acct в mpd. Ловим начало и конец сессии. При подключении абонентов с одиноковой учеткой , проверяет на он-лайн. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
roysbike Опубликовано 11 января, 2012 (изменено) · Жалоба Вообщем не получилось грамотно отслеживать на online , с помощью конца сессии. Так как зависшие сессии присутствуют. Так CURL-ом проще? у меня 16 машин. Хотим уйти на mpd+pppoe. Полностью. Какими еще способами можно не допускать поднятие второй сессии с одинаковым логином. не много отстуспления. NAS MPD5+PPTP+PPPoE . Авторизация для pptp . Login+Password+IP. PPPoe Login+Password. Сеть сегментирована. Соотвественно на разных районах можно сидеть с одинаковыми IP. И выходит под одним логином подключаясь на разные сервера .На доме умное железо. В подъездах плоское. Изменено 11 января, 2012 пользователем roysbike Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...