Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Порівняння попередніх версій Попередня ревізія | Наступна ревізія По сторонах наступні версії | ||
mgmpdppp [2018/09/15 01:15] |
mgmpdppp [2022/09/24 14:39] 127.0.0.1 зовнішнє редагування |
||
---|---|---|---|
Рядок 1: | Рядок 1: | ||
+ | ====== MPD5 PPPoE сервер при помощи КучаГен ====== | ||
+ | ===== Конфиг MPD5 ===== | ||
+ | Для простоты вещи которые вы должни заменить будут в фигурных скобках в примере ниже: | ||
+ | <file mpd.conf> | ||
+ | startup: | ||
+ | #local console access | ||
+ | set user {CHANGEME_USERNAME} {CHANGEME_PASSWORD} admin | ||
+ | set console self 127.0.0.1 5005 | ||
+ | set console open | ||
+ | #send netflow to billing | ||
+ | set netflow peer {BILLING_IP} 42111 | ||
+ | set netflow timeouts 15 1800 | ||
+ | set netflow version 5 | ||
+ | #CoA/PoD access | ||
+ | set radsrv peer {BILLING_IP} {NASSECRET} | ||
+ | set radsrv self {LISTEN_IP} {NASPORT} | ||
+ | set radsrv open | ||
+ | |||
+ | |||
+ | default: | ||
+ | create bundle template B | ||
+ | set bundle enable compression | ||
+ | set bundle enable encryption | ||
+ | set iface idle 0 | ||
+ | set iface disable proxy-arp | ||
+ | set iface enable tcpmssfix | ||
+ | set iface enable netflow-in | ||
+ | set iface enable netflow-out | ||
+ | set ipcp yes vjcomp | ||
+ | set ipcp ranges {DEFAULT_GATEWAY}/ | ||
+ | set ipcp dns {DNS1} {DNS2} | ||
+ | set ccp yes mppc | ||
+ | set mppc yes compress | ||
+ | set mppc yes e40 | ||
+ | set mppc yes e56 | ||
+ | set mppc yes e128 | ||
+ | set mppc yes stateless | ||
+ | set ecp disable dese-bis dese-old | ||
+ | log -echo -ipv6cp -radius -rep | ||
+ | load common | ||
+ | common: | ||
+ | create link template PPPoE pppoe | ||
+ | set link enable no-orig-auth | ||
+ | set link max-children 300 | ||
+ | set auth max-logins 0 | ||
+ | load radius | ||
+ | load pppoe | ||
+ | |||
+ | radius: | ||
+ | set radius server {BILLING_IP} {NASSECRET} 1812 1813 | ||
+ | set radius timeout 3 | ||
+ | set radius me localhost | ||
+ | set auth acct-update 300 | ||
+ | set auth enable radius-auth | ||
+ | set auth enable radius-acct | ||
+ | set radius enable message-authentic | ||
+ | |||
+ | pppoe: | ||
+ | set link action bundle B | ||
+ | set link enable multilink | ||
+ | set link yes acfcomp protocomp | ||
+ | set link disable chap pap eap | ||
+ | set link enable chap chap-msv1 chap-msv2 chap-md5 | ||
+ | set link keep-alive 10 60 | ||
+ | |||
+ | create link template vtnet1 PPPoE | ||
+ | set pppoe iface {LOCAL_IFACE} | ||
+ | set link enable incoming | ||
+ | set pppoe service * | ||
+ | |||
+ | </ | ||
+ | |||
+ | Маленький справочник: | ||
+ | {LISTEN_IP} - локальный IP NAS к которому биллинг может достучаться по указанному порту {PORT} (обычно 3799). \\ | ||
+ | {NAS_SECRET} - пароль для нашего NAS сгенерированый при его добавлении в биллинг ([[http:// | ||
+ | |||
+ | ===== Настройка RADIUS аттрибутов ===== | ||
+ | Аттрибуты делятся на три типа: | ||
+ | - Назначаются всем пользователям | ||
+ | - Только активным | ||
+ | - Только не активным | ||
+ | Из этого можно составить примерно следующую логику. \\ | ||
+ | Активные пользователи получают доступ в интернет на скорости тарифа. \\ | ||
+ | Неактивные попадют в табличку 47. Логично с ними что-то делать потом, например доступ в ЛК, wallet garden и прочее на что хватит фантазии. \\ | ||
+ | Слегка не тривиально, | ||
+ | |||
+ | {{: | ||
+ | \\ | ||
+ | Стоит обратить внимание на двойные кавычки. Там нет никакой ошибки, | ||
+ | Для подробностей обратитесь к официальной документации по mpd. \\ | ||
+ | |||
+ | ===== Настройка сервисов ===== | ||
+ | {{: | ||
+ | Открываем редактирование Сервисов и в зависимости от типа NAS который мы указали (PoD/CoA) будем заполнять тот или иной. \\ | ||
+ | Для MPD подходят оба типа: и PoD и CoA. \\ | ||
+ | PoD хорошо сочетается с опцией " | ||
+ | Ниже примеры. | ||
+ | ==== PoD ==== | ||
+ | < | ||
+ | {PRINTF} " | ||
+ | </ | ||
+ | |||
+ | ==== CoA ==== | ||
+ | CoA Connect: | ||
+ | < | ||
+ | {PRINTF} " | ||
+ | </ | ||
+ | |||
+ | CoA Disconnect: | ||
+ | < | ||
+ | {PRINTF} " | ||
+ | </ | ||
+ | |||
+ | ==== Подготовка FreeRADIUS ==== | ||
+ | Не забываем про словарь для нашего NAS. Правим файл / | ||
+ | Раскоментируем строку с последующим перезапуском freeradius. | ||
+ | < | ||
+ | $INCLUDE | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Конфигурация чисто для тестирования ==== | ||
+ | < | ||
+ | eyJvcHRpb25zIjp7ImlkIjoiMSIsIm5hc2lkIjoiMSIsInVzZXJuYW1ldHlwZSI6ImxvZ2luIiwic2VydmljZSI6InBvZCIsIm9ubHlhY3RpdmUiOiIxIiwicG9ydCI6IjM3OTkifSwiYXR0cmlidXRlcyI6eyIxIjp7ImlkIjoiMSIsIm5hc2lkIjoiMSIsInNjZW5hcmlvIjoiY2hlY2siLCJtb2RpZmllciI6ImFsbCIsImF0dHJpYnV0ZSI6IkNsZWFydGV4dC1QYXNzd29yZCIsIm9wZXJhdG9yIjoiOj0iLCJjb250ZW50Ijoie1BBU1NXT1JEfSJ9LCIyIjp7ImlkIjoiMiIsIm5hc2lkIjoiMSIsInNjZW5hcmlvIjoicmVwbHkiLCJtb2RpZmllciI6ImFsbCIsImF0dHJpYnV0ZSI6IkZyYW1lZC1JUC1BZGRyZXNzIiwib3BlcmF0b3IiOiI9IiwiY29udGVudCI6IntJUH0ifSwiMyI6eyJpZCI6IjMiLCJuYXNpZCI6IjEiLCJzY2VuYXJpbyI6InJlcGx5IiwibW9kaWZpZXIiOiJhbGwiLCJhdHRyaWJ1dGUiOiJGcmFtZWQtTmV0bWFzayIsIm9wZXJhdG9yIjoiPSIsImNvbnRlbnQiOiIyNTUuMjU1LjI1NS4yNTUifSwiNCI6eyJpZCI6IjQiLCJuYXNpZCI6IjEiLCJzY2VuYXJpbyI6InJlcGx5IiwibW9kaWZpZXIiOiJhY3RpdmUiLCJhdHRyaWJ1dGUiOiJtcGQtbGltaXQiLCJvcGVyYXRvciI6Iis9IiwiY29udGVudCI6Ilwib3V0IzE9YWxsIHJhdGUtbGltaXQge1NQRUVERE9XTkJ9IHtTUEVFRERPV05CQ31cIiJ9LCI1Ijp7ImlkIjoiNSIsIm5hc2lkIjoiMSIsInNjZW5hcmlvIjoicmVwbHkiLCJtb2RpZmllciI6ImluYWN0aXZlIiwiYXR0cmlidXRlIjoibXBkLXRhYmxlLXN0YXRpYyIsIm9wZXJhdG9yIjoiKz0iLCJjb250ZW50IjoiNDcifSwiNiI6eyJpZCI6IjYiLCJuYXNpZCI6IjEiLCJzY2VuYXJpbyI6Imdyb3VwcmVwbHkiLCJtb2RpZmllciI6ImFjdGl2ZSIsImF0dHJpYnV0ZSI6Im1wZC1saW1pdCIsIm9wZXJhdG9yIjoiKz0iLCJjb250ZW50IjoiXCJpbiMxPWFsbCByYXRlLWxpbWl0IHtTUEVFRFVQQn0ge1NQRUVEVVBCQ31cIiJ9fSwic2VydmljZXMiOnsiMSI6eyJpZCI6IjEiLCJuYXNpZCI6IjEiLCJwb2QiOiJ7UFJJTlRGfSBcIlVzZXItTmFtZT0ge1VTRVJOQU1FfVwiIHwge1NVRE99IHtSQURDTElFTlR9IHtOQVNJUH06e05BU1BPUlR9IGRpc2Nvbm5lY3Qge05BU1NFQ1JFVH0iLCJjb2Fjb25uZWN0IjoiIiwiY29hZGlzY29ubmVjdCI6IiJ9fX0= | ||
+ | </ | ||