Документация по ОС FreeBSD Четверг, 28.03.2024, 22:05
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Apache [58]
DNS [25]
FTP [27]
Mail [74]
Samba [24]
Squid [46]
SSH [23]
VPN [35]
РРР [20]
Net [173]

Главная » Статьи » Сеть » VPN

Установка 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
/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

После сборки ядра сервер перезагрузится.После перезагрузки сжатие работает =), остается настроить клиента и подключаться.
 


Источник: http://www.lissyara.su/?id=1853
Категория: VPN | Добавил: oleg (31.01.2009) | Автор: Cancer
Просмотров: 2782 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024