//> cd /usr/ports/net/mpd5 /usr/ports/net/mpd5/> make config
+--------------------------------------------------------------------+ | Options for mpd 5.2 | | +----------------------------------------------------------------+ | | | [ ] NG_CAR Use ng_car kernel module from port (< 7.0 only)| | | | [ ] NG_IPACCT Use ng_ipacct kernel module from port | | | | | | +-+------v(+)------------------------------------------------------+-+ | [ OK ] Cancel | +--------------------------------------------------------------------+
/usr/ports/net/mpd5/> make install clean
//> cd /usr/local/etc/mpd5
Создаем конфиг VPN сервера mpd.conf и файл где храниться будут логины и пароли mpd.secret
/usr/local/etc/mpd5/> touch mpd.conf /usr/local/etc/mpd5/> touch mpd.secret
Далее даем права тольно на чтение -r--r--r--
//> chmod 444 /usr/local/etc/mpd5/mpd.conf //> chmod 444 /usr/local/etc/mpd5/mpd.secret
Пишем конфиг нашего VPN сервера
//> ee /usr/local/etc/mpd5/mpd.conf
################################################################# # # MPD configuration file # # This file defines the configuration for mpd: what the # bundles are, what the links are in those bundles, how # the interface should be configured, various PPP parameters, # etc. It contains commands just as you would type them # in at the console. Lines without padding are labels. Lines # starting with a "#" are comments. # # $Id: mpd.conf.sample,v 1.45 2007/11/26 20:41:37 amotin Exp $ # ################################################################# startup: # configure mpd users # Задаем пароль для доступа в web-intarface # т.е меняем password на свой пароль set user admin password admin # set user password cancer # configure the console set console self 127.0.0.1 5005 set console open # configure the web server set web self 0.0.0.0 5006 set web open default: load pptp_server pptp_server: # Определяем диапазон выдаваемых IP удалённым клиентам # у меня с ...200 по ...220 set ippool add poolsat 192.168.10.200 192.168.0.220 create bundle template B set iface enable proxy-arp set iface idle 0 set iface enable tcpmssfix set ipcp yes vjcomp set ipcp ranges 192.168.55.255/32 ippool poolsat # Если есть свой ДНС сервер, то меняем IP адрес set ipcp dns 192.168.10.1 # Enable Microsoft Point-to-Point encryption (MPPE) set bundle enable compression set ccp yes mppc set mppc yes compress e40 e56 e128 stateless create link template L pptp set link enable multilink set link yes acfcomp protocomp set link action bundle B set link no pap chap set link enable chap set link enable chap-msv1 set link enable chap-msv2 set link mtu 1460 set link keep-alive 10 75 # Configure PPTP and open link # Тут указываем IP сетевой карты которая смотрит в ИНЕТ set pptp self 192.168.1.11 set link enable incoming
Записываем в файл логины и пароли для доступа к VPN серверу
//> ee /usr/local/etc/mpd5/mpd.secret
################################################################# # # MPD secrets file # # This file contains login, password pairs, called "secrets". # Entries are used for authentication in either or both directions, # as well as telnet console login. # # For example, to use the "MyLogin" secret, use this command: # # set bundle authname MyLogin # # Each entry may have a third field containing an IP address range # specifying the allowable address assignments for that # peer. # # NOTE: this file should not be readable by anyone except root! # # $Id: mpd.secret.sample,v 1.2 2007/01/27 13:28:44 amotin Exp $ # ################################################################# #Пользователь Пароль Выдаваемый пользователю IP user1 "password" 192.168.10.200 user2 "password2" 192.168.10.201 # Этим 2 пользователям выдаются динамический IP адреса с ..200 по ..220 # т.е те которые в момент подключения не заняты user3 "password3" * user4 "password4" *
Добавим в строки в syslog.conf для того что бы можно было смотреть логи нашего сервера
//> ee /etc/syslog.conf
!mpd *.* /var/log/mpd.log
Создаем файл где куда будут записывать логи mpd
//> touch /var/log/mpd.log
Даем права только root для чтения и записи в mpd.log
//> chmod 600 /var/log/mpd.log
Перезапускаем syslogd
//> /etc/rc.d/syslogd reload
Добавляем mpd в автозапуск
//> echo 'mpd_enable="YES"' >> /etc/rc.conf
Запускаем MPD5
//> /usr/local/etc/rc.d/mpd5 start Starting mpd5. //>
Смотрим в процессы
//> ps axw | grep mpd 14405 ?? Is 0:00,02 /usr/local/sbin/mpd5 -p /var/run/mpd5.pid -b
Если стоит на сервере фаерволл pf или еще какой, нужно открыть порт 1723
pass in quick on $ext_if proto { tcp, udp } from any to self port 1723
Качаем mppc-1.0.tgz и кладем его в /usr/home/
Модули компрессии MPPC
файл
скачан
размер
размещён
примечание
22
4.8kb
2009-01-28
Модули компрессии mppc-1.0.tgz
Распаковываем содержимое mppc-1.0.tgz и сразу же кладем сюда /usr/src/sys/net/
/usr/home/> tar -xvf mppc-1.0.tgz -C /usr/src/sys/net/
Правим Makefile для того что бы активировать сжатие
//> ee /usr/src/sys/modules/netgraph/mppc/Makefile # поменять NETGRAPH_MPPC_COMPRESSION?= 0 # на NETGRAPH_MPPC_COMPRESSION?= 1
Переходим в директорию
//> cd /usr/src/sys/modules/netgraph/mppc
И устанавливаем
/usr/src/sys/modules/netgraph/mppc/> make && make install && make clean
Далее выполняем это действие для тех у кого FreeBSD 6.2 или менее, для тех у кого FreeBSD 6.3 и выше, пропускает это действие
//> ee /usr/src/sys/conf/files
net/mppcc.c optional netgraph_mppc_compression net/mppcd.c optional netgraph_mppc_compression
//> rehash
Теперь нужно собрать ядро с поддержкой сжатия MPPCПодробнее от том как собирать ядро и что оно о себе представляет тут или читаем handbookДобавляем эти опции в ядро
//> ee /usr/src/sys/i386/conf/GENERIC
options NETGRAPH options NETGRAPH_ETHER options NETGRAPH_SOCKET options NETGRAPH_TEE options NETGRAPH_MPPC_ENCRYPTION options NETGRAPH_MPPC_COMPRESSION options NETGRAPH_BPF options NETGRAPH_IFACE options NETGRAPH_KSOCKET options NETGRAPH_PPP options NETGRAPH_PPTPGRE options NETGRAPH_TCPMSS options NETGRAPH_VJC options NETGRAPH_ONE2MANY options NETGRAPH_RFC1490 options NETGRAPH_TEE options NETGRAPH_TTY options NETGRAPH_UI
//> cd /usr/src/
И собираем ядро
/usr/src/> make buildkernel KERNCONF=GENERIC && \ make installkernel KERNCONF=GENERIC && shutdown -r now