=====MPD 3.18===== Конфигурация ====Установка==== ===Патч, расширяющий возможности MPD=== Лучше всего использовать исходники [[http://abills.asmodeus.com.ua/soft/mpd- 3.18.tar.gz|отсюда]]. При использовании MPD с дистрибутивов выше FreeBSD 5.1 патч не применяется корректно. **soft/kha0s-mpd.tar.gz** (''Входит в Abills, каталог soft'') Патч ставится после патча boco@ufanet.ru - mpd-3.18-drop-user-1.diff, хотя и полностью независим от него. Предназначен для тех случаев, когда пользователю необходимо предоставить предоплаченный объем трафика. Для удобства и универсальности лимит выставляется по аналогии с exppp:\\ VENDOR Exppp 1976 ATTRIBUTE Exppp-Traffic-Limit 2 integer Exppp Максимально возможное значение трафика за сессию - 2147483647 байт. Проверка счетчиков происходит раз в секунду, что вносит небольшую погрешность. Этот интервал можно поменять в самом патче согласно своих предпочтений и ресурсов. При завершении сессии по превышению лимита трафика выставляется Acct-Terminate-Cause со значением Session-Timeout для удобства анализа статистики по сессиям. ''kha0s(at)ukr.net'' tar zxvf kha0s-mpd.tar.gz -C /usr/ports/net/mpd cd /usr/ports/net/mpd make make install mpd -b -c 10001 Конфигурационный файл для подключения к радиусу\\ **/etc/radius.conf** auth 127.0.0.1:1812 radsecret 4 4 acct 127.0.0.1:1813 radsecret 4 4 127.0.0.1 - адрес Radius сервера\\ **mpd.conf** default: load pptp0 load pptp1 load pptp2 pptp0: new -i ng0 pptp0 pptp0 load pptp_standart pptp1: new -i ng1 pptp1 pptp1 load pptp_standart pptp2: new -i ng2 pptp2 pptp2 load pptp_standart pptp_standart: set bundle disable multilink set bundle max-logins 1 set iface disable on-demand set iface idle 0 set iface enable tcpmssfix set iface up-script "/usr/local/abills/libexec/linkupdown mpd up" set iface down-script "/usr/local/abills/libexec/linkupdown mpd down" set link no pap chap set link enable chap set link keep-alive 10 60 set link max-redial -1 set ipcp ranges 192.168.168.1/32 192.168.168.128/25 set ipcp dns 192.168.168.1 192.168.168.2 set bundle enable compression set ccp yes mppc set ccp yes mpp-e40 set ccp yes mpp-e128 set ccp yes mpp-stateless set pptp self 192.168.168.1 set pptp enable incoming set pptp disable originate set radius config /etc/radius.conf set radius me 192.168.168.1 set radius acct-update 300 set ipcp enable radius-ip set bundle enable radius-auth set bundle enable radius-acct set iface enable radius-idle radius-session radius-mtu radius-route set ccp enable radius **mpd.links**\\ pptp0: set link type pptp pptp1: set link type pptp pptp2: set link type pptp ====ABillS==== **/ System configuration/ NAS/** ^Type: | mpd | ^:Manage: | ^IP:PORT: | xxx.xxx.xxx.xxx:10001\\ IP-адрес NAS сервера и порт объявленный ''-c 10001'' | **Если Вы используете не пропатченый MPD, тогда тип сервера устанавливайте - other и задайте параметр Session-Timeout=65000 в поле RADIUS Parameters (,)**. =====MPD 4.xx===== [http://sourceforge.net/projects/mpd] перед началом конфигурации MPD соберите ядро системы со следующими параметрами # Поддержка netgraph options NETGRAPH options NETGRAPH_PPPOE # Поддержка шейпера options IPFIREWALL options IPFIREWALL_DEFAULT_TO_ACCEPT options DUMMYNET options IPFIREWALL_FORWARD - Для перенаправление на страницу авторизаци options IPFIREWALL_NAT - Поддержка НАТ options LIBALIAS Конфигурационный файл для подключения к радиусу\\ **/etc/radius.conf** auth 127.0.0.1:1812 radsecret 4 4 acct 127.0.0.1:1813 radsecret 4 4 127.0.0.1 - адрес Radius сервера\\ Общие настройки для MPD:\\ **mpd.conf** startup: # enable TCP-Wrapper (hosts_access(5)) to block unfriendly clients set global enable tcp-wrapper # configure the console set console port 5005 set console ip 127.0.0.1 set console user admin secretpass set console open #Netflow options set netflow export 127.0.0.1 9996 set netflow source 127.0.0.1 9990 #set netflow timeouts inactive active #set netflow node nodename #Radius Config radius: set radius config /etc/radius.conf set radius retries 3 set radius timeout 3 set radius me 192.168.202.15 set auth acct-update 300 set auth enable radius-auth set auth enable radius-acct set bundle enable compression set ccp yes mppc set auth enable mppc-pol set radius enable message-authentic ====PPTP==== Для поднятия сервиса дописываем в **mpd.conf** default: load pptp0 load pptp1 pptp0: new -n -i ng0 pptp0 pptp0 load pptp pptp1: new -i ng1 pptp1 pptp1 load pptp #Incoming PPTP link config pptp: # new -i ng0 pptp pptp set iface disable on-demand set iface enable proxy-arp set iface idle 1800 set iface enable tcpmssfix set bundle enable multilink # use RADIUS servers load radius set link yes acfcomp protocomp set link no pap chap set link enable chap set link keep-alive 10 60 set link mtu 1460 set ipcp yes vjcomp set ipcp ranges 10.0.0.1/32 10.0.0.50/32 set ipcp dns 192.168.1.3 set ipcp nbns 192.168.1.4 # # The five lines below enable Microsoft Point-to-Point encryption # (MPPE) using the ng_mppc(8) netgraph node type. # set bundle enable compression set ccp yes mppc set ccp yes mpp-e40 set ccp yes mpp-e128 set ccp yes mpp-stateless set pptp self %VPN_SERVER_IP% set pptp enable incoming set pptp disable originate и в **mpd.links** pptp0: set link type pptp pptp1: set link type pptp ====L2TP==== Для запуска сервиса дописываем в **mpd.conf** default: load l2tp0 load l2tp1 l2tp0: new -i ng0 l2tp0 l2tp0 load l2tp_server l2tp1: new -i ng1 l2tp1 l2tp1 load l2tp_server l2tp_server: set bundle disable multilink set bundle enable compression set bundle yes crypt-reqd set ipcp yes vjcomp # set ipcp ranges 131.188.69.161/32 131.188.69.170/28 set ipcp dns %DNS_SERVER% set ccp yes mppc set iface disable on-demand set iface enable proxy-arp set link yes acfcomp protocomp set link no pap chap set link enable chap set link keep-alive 10 180 load radius set iface up-script "/usr/abills/libexec/linkupdown mpd up" set iface down-script "/usr/abills/libexec/linkupdown mpd down" set l2tp self 192.168.202.15 set l2tp enable incoming set l2tp disable originate и в **mpd.links** l2tp0: set link type l2tp l2tp1: set link type l2tp ====Dial-In==== Для запуска сервиса дописываем в **mpd.conf** startup: # configure the console set console port 5005 set console ip 127.0.0.1 set console user admin gbgtw set console open default: load dialin dialin: new dialin modema set iface idle 900 set iface session 0 set bundle enable noretry set ipcp yes vjcomp set link enable chap # set link enable chap pap set link yes acfcomp protocomp set link max-redial -1 set bundle enable noretry set ipcp dns 192.168.1.100 set modem idle-script AnswerCall load radius radius: set radius config /etc/radius.conf set radius retries 3 set radius timeout 3 set radius me 127.0.0.1 set auth acct-update 300 set auth enable radius-auth set auth enable radius-acct set bundle enable compression set ccp yes mppc set ccp enable mppe-policy set radius enable message-authentic и в **mpd.links** modema: set phys type modem set modem device /dev/cuad1 set modem speed 115200 set modem var $DialPrefix "DT" bitsurfr: set phys type modem set modem device /dev/cuad2 set link latency 1000 set link bandwidth 92160 set modem speed 115200 set modem watch +cd set modem var $TA_SwitchType "NI-1" set modem var $TA_Dirno1 "2125551212" set modem var $TA_Dirno2 "2125551212" set modem var $TA_SPID1 "212555121201" set modem var $TA_SPID2 "212555121202" set modem var $TA_Bonding "yes" ====ABillS==== **/ System configuration/ NAS/** ^Type: | mpd4 | ^:Manage: | ^IP:PORT: | 127.0.0.1:5005\\ IP-дрес и порт контроля NAS-сервера | ^User: | admin | ^Password:| secretpass |