Проект переехал на новый домен!  [[ перейти ]]

mpd или строим сервер для входящих подключений

sh# cd /usr/ports/net/mpd4
sh# make install clean
sh# 

Конфиг для PPPOE сервера получился таким:
sh# cat /usr/local/etc/mpd/mpd.conf
---------------------------------------------------
startup:
default:
	load pppoe0
	load pppoe1
pppoe0:
	new -i ng0 pppoe0 pppoe0
	set ipcp ranges 192.168.40.1/32 10.0.0.1/32
	load pppoe_std
pppoe1:
	new -i ng1 pppoe1 pppoe1
	set ipcp ranges 192.168.40.1/32 10.0.0.2/32
	load pppoe_std

pppoe_std:
	#Чтобы не отваливалась локалка:
	set iface enable proxy-arp
	set iface disable on-demand
	set bundle disable multilink

	#Интерфейс для входящих	
	set pppoe iface rl0
	#Имя сервиса. Обязательно указать в подключении!
	set pppoe service "F63"

	#DNS
	set ipcp dns 192.168.1.1
	set ipcp enable vjcomp
	
	#Аутентификация по протоколу CHAP
	set link disable pap chap
	set link enable chap
	set link keep-alive 60 180

	set pppoe disable originate
	#Принемать входяще подключения
	set pppoe enable incoming

	open
---------------------------------------------------
Так же для PPPOE, понадобится модуль:
sh# kldload /boot/kernel/ng_pppoe.ko

Конфиг для PPTP сервера получился таким:
sh# cat /usr/local/etc/mpd/mpd.conf
---------------------------------------------------
startup:
default:
    load client0
    load client1

client0:
    new pptp0 pptp0
    load pptp_standart

client1:
    new pptp1 pptp1
    load pptp_standart

pptp_standart:
    set ipcp ranges 192.168.1.1/32 10.10.10.0/24
    set iface disable on-demand
    set bundle enable multilink
    set link yes acfcomp protocomp
    set link no pap chap
    set link enable chap
    set link keep-alive 60 180
    set ipcp yes vjcomp
    set ipcp dns 192.168.10.1
    set iface enable proxy-arp

    #Компрессия и стойкость шифра
    #Совместимая с microsoft
    set bundle enable compression
    set ccp yes mppc
    set ccp yes mpp-e40
    set ccp yes mpp-e56
    set ccp yes mpp-e128
    set ccp yes mpp-stateless

    set pptp self 192.168.5.124
    set pptp enable incoming
    set pptp disable originate
    set iface mtu 1500
    set link mtu 1500
    open
---------------------------------------------------
Для mppc, понадобится модуль:
sh# kldload /boot/kernel/ng_mppc.ko

Файл линк для PPPOE будет выглядеть так:
sh# cat /usr/local/etc/mpd/mpd.links
----------------------------------------
pppoe0:
        set link type pppoe
pppoe1:
        set link type pppoe
----------------------------------------

А для PPTP будет выглядеть так:
sh# cat /usr/local/etc/mpd/mpd.links
------------------------------------
pptp0:
        set link type pptp
pptp1:
        set link type pptp
------------------------------------

Файл mpd.secret для PPPOE
sh# cat /usr/local/etc/mpd/mpd.secret
-------------------------------------
user01		"qwerty"	
user02		"qwerty"	
-------------------------------------

Файл mpd.secret для PPTP
sh# cat /usr/local/etc/mpd/mpd.secret
------------------------------------------
user01		"qwerty"	10.10.10.3
user02		"qwerty"	*
user03		"qwerty"	*
user04		"qwerty"	10.10.10.5
------------------------------------------

Всё собрано для пары юзеров. Для большего количества
нужно создать больше линков... Для PPPOE и PPTP немного
по-разному выдаётся ip пользователям (для общего развития)

PS: Чуть не забыл про логи:
sh# ee /etc/rc.conf
--------------------------------------------
mpd_enable="yes"
mpd_flags=" --background --syslog-ident mpd"
--------------------------------------------

sh# ee /etc/syslog.conf
------------------------------------------------
!mpd
*.*				/var/log/mpd.log
------------------------------------------------
sh# touch /var/log/mpd.log
sh# chmod 600 /var/log/mpd.log
sh# /etc/rc.d/syslog restart