Користувальницькькі налаштування

Налаштування сайту


mgmpdppp

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
Попередня ревізія
Остання ревізія По сторонах наступні версії
mgmpdppp [2018/09/15 01:15]
mgmpdppp [2023/06/20 13:11]
dnason
Рядок 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}/32 0.0.0.0/0
 + 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 *
 +
 +</file>
 +
 +Малий довідник: \\
 +{LISTEN_IP} - локальний IP NAS до якого білінг може звернутись через зазначений порту {PORT} (за звичай 3799). \\
 +{NAS_SECRET} - пароль для нашого NAS, сгенерирований при його додаванні в біллінг ([[http://wiki.ubilling.net.ua/doku.php?id=multigen#%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B0%D1%86%D0%B8%D1%8F_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%BE%D0%B2_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0|приклад]]) \\
 +
 +===== Налаштування RADIUS аттрибутів =====
 +Аттрибути ділятся на три типа:
 +  - Призначаються всім користувачам
 +  - Тільки активним
 +  - Тілько не активним
 +З цього можна скласти наступну логіку. \\
 +Активні користувачі отримують доступ в інетрнет на швидкості тарифа. \\
 +Неактивні потрапляють до таблички 47. Логічно, що щ ними щось будуть робити згодом, наприклад доступ до ЛК, wallet garden та інше на що вистачить фантазії. \\
 +Трохи не тривіально, через те,що різні атрибути не можуть мати однакового імені в рамках одного сценарію. Тому робимо наступним чином:
 +
 +{{:mgmpdpppoe2.jpg?500|}}
 +\\
 +Варто звернути увагу на подвійні лапки. Там немає помилки, аттрибути повинні бути заповнені саме так. \\
 +Для отримання більш докладної інформації, зверніться до офіційної документації mpd. \\
 +
 +===== Налаштування сервісів=====
 +{{:services.jpg?500|}} \\ 
 +Відкриваємо редагування Сервісів та в залежності від типа NAS, який ми зазначили (PoD/CoA) будемо заповнлювати той чи інший. \\
 +Для MPD підходять оба типа: і PoD і CoA. \\
 +PoD добре поєднуєтся з опцієй "Тільки автиним користувачам". Коли користувач становится неактивним, надсилаєм PoD та видаляємо данні з БД до того часу, поки він знову не стане активним. \\
 +Нижче приклади.
 +==== PoD ====
 +<code>
 +{PRINTF} "User-Name= {USERNAME}" | {SUDO} {RADCLIENT} {NASIP}:{NASPORT} disconnect {NASSECRET} 
 +</code>
 +
 +==== CoA ====
 +CoA Connect:
 +<code>
 +{PRINTF} "User-Name={USERNAME}\nmpd-limit+="\""in#1=all rate-limit {SPEEDDOWNB} {SPEEDDOWNBC}"\""\nmpd-limit+="\""out#1=all rate-limit {SPEEDUPB} {SPEEDUPBC}"\" | {SUDO} {RADCLIENT} {NASIP}:{NASPORT} coa {NASSECRET} 
 +</code>
 +
 +CoA Disconnect:
 +<code>
 +{PRINTF} "User-Name= {USERNAME}\n mpd-table-static+=47" | {SUDO} {RADCLIENT} {NASIP}:{NASPORT} coa {NASSECRET} 
 +</code>
 +
 +==== Підготовка FreeRADIUS ====
 +Не забуваємо про словник для нашого NAS. Правим файл /usr/local/etc/raddb/dictionary. \\
 +Раскоментуємо рядок та перезапустимо freeradius.
 +<code>
 +$INCLUDE       /usr/local/etc/raddb/dictionary_preset/mpd.dictionary
 +</code>
 +
 +
 +==== Конфигурация для тестування ====
 +<code>
 +eyJvcHRpb25zIjp7ImlkIjoiMSIsIm5hc2lkIjoiMSIsInVzZXJuYW1ldHlwZSI6ImxvZ2luIiwic2VydmljZSI6InBvZCIsIm9ubHlhY3RpdmUiOiIxIiwicG9ydCI6IjM3OTkifSwiYXR0cmlidXRlcyI6eyIxIjp7ImlkIjoiMSIsIm5hc2lkIjoiMSIsInNjZW5hcmlvIjoiY2hlY2siLCJtb2RpZmllciI6ImFsbCIsImF0dHJpYnV0ZSI6IkNsZWFydGV4dC1QYXNzd29yZCIsIm9wZXJhdG9yIjoiOj0iLCJjb250ZW50Ijoie1BBU1NXT1JEfSJ9LCIyIjp7ImlkIjoiMiIsIm5hc2lkIjoiMSIsInNjZW5hcmlvIjoicmVwbHkiLCJtb2RpZmllciI6ImFsbCIsImF0dHJpYnV0ZSI6IkZyYW1lZC1JUC1BZGRyZXNzIiwib3BlcmF0b3IiOiI9IiwiY29udGVudCI6IntJUH0ifSwiMyI6eyJpZCI6IjMiLCJuYXNpZCI6IjEiLCJzY2VuYXJpbyI6InJlcGx5IiwibW9kaWZpZXIiOiJhbGwiLCJhdHRyaWJ1dGUiOiJGcmFtZWQtTmV0bWFzayIsIm9wZXJhdG9yIjoiPSIsImNvbnRlbnQiOiIyNTUuMjU1LjI1NS4yNTUifSwiNCI6eyJpZCI6IjQiLCJuYXNpZCI6IjEiLCJzY2VuYXJpbyI6InJlcGx5IiwibW9kaWZpZXIiOiJhY3RpdmUiLCJhdHRyaWJ1dGUiOiJtcGQtbGltaXQiLCJvcGVyYXRvciI6Iis9IiwiY29udGVudCI6Ilwib3V0IzE9YWxsIHJhdGUtbGltaXQge1NQRUVERE9XTkJ9IHtTUEVFRERPV05CQ31cIiJ9LCI1Ijp7ImlkIjoiNSIsIm5hc2lkIjoiMSIsInNjZW5hcmlvIjoicmVwbHkiLCJtb2RpZmllciI6ImluYWN0aXZlIiwiYXR0cmlidXRlIjoibXBkLXRhYmxlLXN0YXRpYyIsIm9wZXJhdG9yIjoiKz0iLCJjb250ZW50IjoiNDcifSwiNiI6eyJpZCI6IjYiLCJuYXNpZCI6IjEiLCJzY2VuYXJpbyI6Imdyb3VwcmVwbHkiLCJtb2RpZmllciI6ImFjdGl2ZSIsImF0dHJpYnV0ZSI6Im1wZC1saW1pdCIsIm9wZXJhdG9yIjoiKz0iLCJjb250ZW50IjoiXCJpbiMxPWFsbCByYXRlLWxpbWl0IHtTUEVFRFVQQn0ge1NQRUVEVVBCQ31cIiJ9fSwic2VydmljZXMiOnsiMSI6eyJpZCI6IjEiLCJuYXNpZCI6IjEiLCJwb2QiOiJ7UFJJTlRGfSBcIlVzZXItTmFtZT0ge1VTRVJOQU1FfVwiIHwge1NVRE99IHtSQURDTElFTlR9IHtOQVNJUH06e05BU1BPUlR9IGRpc2Nvbm5lY3Qge05BU1NFQ1JFVH0iLCJjb2Fjb25uZWN0IjoiIiwiY29hZGlzY29ubmVjdCI6IiJ9fX0=
 +</code>
  
mgmpdppp.txt · Востаннє змінено: 2023/08/30 19:00 повз nightfly