MPD 3.18

Конфигурация

Установка

Патч, расширяющий возможности MPD

Лучше всего использовать исходники отсюда. При использовании 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