Окт 29 2008

Настройка mpd

Для того что бы, mpd нормально заработал, необходимо включить поддержку NETGRAPH в ядре,
я добавил в конфигурацию ядра такие строки:

options NETGRAPH
options NETGRAPH_ASYNC
options NETGRAPH_BPF
options NETGRAPH_ECHO
options NETGRAPH_ETHER
options NETGRAPH_HOLE
options NETGRAPH_IFACE
options NETGRAPH_KSOCKET
options NETGRAPH_L2TP
options NETGRAPH_LMI
options NETGRAPH_MPPC_ENCRYPTION
options NETGRAPH_ONE2MANY
options NETGRAPH_PPP
options NETGRAPH_PPTPGRE
options NETGRAPH_RFC1490
options NETGRAPH_SOCKET
options NETGRAPH_TEE
options NETGRAPH_TTY
options NETGRAPH_UI
options NETGRAPH_VJC

После пересборки ядра и перезагрузки, приступаем к установке mpd:

cd /usr/ports/net/mpd
make install clean

Пример конфигурационного файла:

#По умолчанию подгружаем секции pptp0-pptp4
default:
load pptp0
load pptp1
load pptp2
load pptp3
load pptp4
pptp0:
#Создаем новый интерфейс ng0
new -i ng0 pptp0 pptp0
#Задается локальный и удаленный ip адреса
set ipcp ranges 192.168.20.251/32 192.168.20.252/32
#Подключаем параметры описанные в секции pptp_standart
load pptp_standart
pptp1:
new -i ng1 pptp1 pptp1
set ipcp ranges 192.168.0.251/32 192.168.0.253/32
load pptp_standart
pptp2:
new -i ng2 pptp2 pptp2
set ipcp ranges 192.168.0.251/32 192.168.0.254/32
load pptp_standart
pptp3:
new -i ng3 pptp3 pptp3
set ipcp ranges 192.168.0.251/32 192.168.0.249/32
load pptp_standart
pptp4:
new -i ng4 pptp4 pptp4
set ipcp ranges 192.168.0.251/32 192.168.0.250/32
load pptp_standart
pptp_standart:
#Запрещаем звонки по требованию
set iface disable on-demand
#Запрещаем режим мультилинк ppp
set bundle disable multilink
set iface idle 0
#Требуем chap авторизации
set link no pap chap
set link enable chap
#Включаем сжатие данных
set ipcp yes vjcomp
#Опции для совместимости с Windows клиентами
set iface enable tcpmssfix
set pptp disable windowing
set pptp disable delayed-ack
#Устанавливаем DNS 
set ipcp dns 192.168.0.15
#Включаем компрессию данных
set bundle enable compression
#Включаем компрессию данных, совсестимую с Windows-клиентами
set ccp yes mppc
#Включаем шифрование, совместимое с Windows-клиентами
set ccp yes mpp-e40
set ccp yes mpp-e128
set ccp yes mpp-stateless
set bundle yes crypt-reqd
set ccp yes mpp-stateless
#Задаем адрес для входящих соединений
set pptp self 89.252.34.107
#Разрешаем входящие соединения
set pptp enable incoming
set pptp disable originate

Данные для авторизации описываются в файле mpd.secret:

#     login             pass            ip
hilik                     hilik               192.168.0.11

Так же для нормальной работы требуется файл mpd.links в нем описываются интерфейсы mpd:

pptp0:
set link type pptp
pptp1:
set link type pptp
pptp2:
set link type pptp
pptp3:
set link type pptp
pptp4:
set link type pptp

Если так получилось что, mpd завершился аварийно или был убит killall -9 mpd, то он оставляет после себя интерфейсы и запустить вновь mpd не получается. Исправить эту ситуацию можно выполнив команду:

ngctl shutdown ng0:
ngctl shutdown ng1:
ngctl shutdown ng2:
ngctl shutdown ng3:
ngctl shutdown ng4:

Украинская Баннерная Сеть