Установка VPN сервера mpd5 + сжатие и шифрование [2009]
На днях появилась задача в Офисе настроить VPN сервер. Выбрал что то по проще а именно mpd.
Задачи: Удаленно иметь доступ к сети Офиса (192.168.10.0/24), для того что бы бухгалтер, менеджер, я и другие сотрудники с ноутбука и не только ОС на которых Windows XP Professional, мог подключаться к корпоративной сети и иметь доступ к программам 1С Торговля, Бухгалтерия итд итп. Так как тарифный план нашего провайдера ЮТК дороговат и не анлим, понадобилось сжатие трафика, ну и конечно же шифрование.
Итого: нужен доступ к корпоративной сети, сжатием трафика и шифрование.
Конфигурация сервера: Celeron-1700Hz,DDR-256Mb,HDD-20Gb=> 2 сетевых интерфейса rl0 и rl1 rl0 192.168.10.11 (в локалку смотрит) rl1 192.168.1.11 (в модем смотрит) FreeBSD 6.2 Получается так INTERNET-----(Модем)---rl1(Server_VPN)rl0-----LAN
Ставим VPN сервер MPD5
//> 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
#################################################################
#
# 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.15005
set console open
# configure the web server
set web self 0.0.0.05006
set web open
default:
load pptp_server
pptp_server:
# Определяем диапазон выдаваемых IP удалённым клиентам
# у меня с ...200 по ...220
set ippool add poolsat 192.168.10.200192.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 1075
# 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