Настройка 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: |