VPN сервер на Linux. PPTPD-OPTIONS на русском
VPN – Virtual Private Network (виртуальная частная сеть) – простыми словами, это служба, которая обеспечивает связь между удалёнными точками, путём объединения их в одну общую сеть. Протокол связи – PPPoE (point-to-point-over-ethernet), т.е. это туннелированное соединение с определёнными настройками шифрования, что в свою очередь позволяет не только объединить две удалённые сети в один сегмент, но и защитить такое соединение от перехвата пакетов злоумышленниками.
VPN можно использовать не только сетевым администраторам для нужд крупных компаний (объединение двух офисов), но и простым пользователям. Например для сетевых баталий, в случаях, когда игра не имеет официального сервера и не подразумевает неофициальные, а поиграть с товарищами ну очень хочется. Тогда можно объединить 2,3,4 и более компьютеров в единую сеть. Даже если вы отдалены от товарищей и находитесь на другом континенте, пользуетесь услугами другого провайдера и прочее…
В ОС Linux служба VPN настраивается путём установки пакета pptpd и редактирования конфигурационных файлов под ваши нужды. Я постараюсь максимально понятно объяснить что к чему. Вместе с вами мы настроим VPN сервер на Linux, научимся соединять с ним Linux машины с помощью графических утилит и просто терминала. Ну и конечно же мы разберём с вами подключение из под ОС Windows.
Итак, приступаем к установке и настройке:
Пункт первый – устанавливаем пакет pptpd. В Linux Debian/Ubuntu и подобных воспользуйтесь утилитой apt-get. Кстати пакет находится обычно в стандартных репозиториях, так что дополнительно ничего подключать не надо.
# apt-get install pptpd
Пункт второй – конфигурируем главный файл – pptpd-options. Лежит файлик в папке /etc/ppp и редактируется с правами администратора редактором на ваш вкус. Кстати, на всякий случай, чтобы было понятнее понять что к чему, я потрудился перевести pptpd-options на русский язык. Собственно вот он:
##############################################################################
# Перевод pptpd-options на русский язык.
# Вы можете использовать pptpd-options с комментариями на русском языке в своей системе.
# Вы можете свободно распространять текст перевода pptpd-options со ссылкой на источник.
# Конфигурационный файл pptpd-options переведён Squ1sh специально для StudyLinux.ru
###############################################################################
# Аутентификация
# Имя локальной системы аутентификации
# (Должно быть вторым в файле /etc/ppp/chap-secrets) (после имени пользователя)
name pptpd
# Опционально – имя домена для аутентификации.
# domain mydomain.net
# Префикс домена из имени пользователя до аутентификации.
# (применяется если вы используете pppd с chapms-strip-domain патчем)
#chapms-strip-domain
# Шифрование
# На заметку – refuse-выкл. тип шифрования, require – вкл. тип шифрования
refuse-pap
refuse-chap
refuse-mschap
# Рекомендуется включить mschap-v2 шифрования для аутентификации Windows клиентов
require-mschap-v2
# Включим MPPE 128-bit шифрование. На нём и будет всё завязано.
# (Внимание! MPPE использует MSCHAP-V2 во время аутентификации)
require-mppe-128
# Сеть и маршруты
# Если pppd работает для Microsoft Windows клиентов, включите в
# pppd поддержку одного или двух DNS (Domain Name Server – Сервер имён). Для linux клиентов не работает!
# адресов для клиентов. Первым указывается адрес первичного DNS сервера вашей #локальной сети; Вторым - вторичный (если таковой есть)
#ms-dns 10.0.0.1
#ms-dns 10.0.0.2
# По той же схеме можно указать адреса WINS серверов.
#ms-wins 10.0.0.3
#ms-wins 10.0.0.4
#Proxyarp - это одна из функциональных возможностей протокола ARP, позволяющая #имитировать принадлежность разных IP-сетей к одному Ethernet-сегменту
#(использование одного сетевого префикса для обеих сетей). Короче опция должна #быть включена, ибо без неё никак
proxyarp
# Не назначать маршрутом по умолчанию (defaultroute – назначение этого #соединения маршрутом по умолчанию в таблице маршрутизации)
nodefaultroute
# Пишем логи
# Включаем дебаггинг с записью логов.
#debug
# Показать все установленные опции.
# (Часто по просьбе список рассылки, чтобы поверить опции). Лично я вообще не #понял что это за вещь, и с чем её едят. Я даже сомневаюсь в правильности
#перевода… Ну да ладно, всё равно опция не важна.
#dump
# Разное
# Использовать блокировку портов UCPP, чтобы одновременно несколько # последовательных устройств не обращались к одному порту
lock
# Отключить BSD-Compress сжатие.
nobsdcomp
###########################################################################
Как вы могли заметить, я выделил несколько параметров жирным. Это минимальные 7 параметров для приемлемой работы VPN сервера. Т.е. ваш минимальный конфиг pptpd-options может выглядеть так:
name pptpd
require-mschap-v2
require-mppe-128
proxyarp
nodefaultroute
lock
nobsdcomp
Его вполне хватит для того, чтобы играться по сети, или объединить 2 офиса в сеть. Но, если не указать DNS-сервера в файле pptpd-options, то невозможно будет обращаться к компьютеру по Net-Bios имени (только по ip-адресу), что создаст некоторые трудности при не статичных адресах (работающий DHCP-сервер в сети), если вы не знаете адреса, а только имя нужной машины.
________________________________________
Пункт третий – настройка адресов/диапазона адресов в VPN. Пользователь, который будет подключаться к нашей сети должен естественно получить ip-адрес. Вы можете выдавать адреса из диапазона, либо привязать каждого пользователя к определённому адресу (уж как вам нравится). Если привяжете IP к имени пользователя VPN, то можете пропустить настройку pptpd.conf, если будете выдавать адреса из диапазона – читаем внимательно. Итак, файл pptpd.conf. Находится он прямо в корне папки /etc. Из него нам нужно только 2 параметра, их я и перевёл. Листаем файл в самый конец и видим следующее:
# IP-адрес сервера в локальной сети
localip 192.168.1.1
# Диапазон адресов для клиентов PPTP-сервера
remoteip 192.168.1.50-254
По этому файлу всё.
Пункт четвёртый – заводим пользователей VPN. Список пользователей, паролей и привязанных к ним ip-адресов хранится в файле chap-secrets. Лежит он в /etc/ppp.
Приведу 2 примера добавления пользователей:
#Пример №1 – пользователь получает ip-адрес из указанного нами в /etc/pptpd.conf диапазона адресов
Username pptpd password “*”
#Пример №2 – привязка ip-адреса к аккаунту VPN пользователя.
Username pptpd password “192.168.1.52”
Т.е. принцип таков – сначала пишем логин пользователя, потом имя службы (ту, котоую указали в параметре name в начале файла pptpd-options), затем идёт пароль, и в кавычках указываем ip-адрес, или * если выдавать из диапазона. Вот собственно и вся настройка.
Кстати, после того, как отредактируете все нужные файлы – перезапустите службу
/etc/init.d/pptpd restart
Естественно к вашему серверу должен быть доступ извне, т.е. в правилах iptables по необходимости добавить следующее:
# Разрешить всем протокол GRE iptables -A INPUT -p gre -j ACCEPT # Разрешить соединение с VPN-сервером; iptables -A INPUT -m tcp -p tcp --dport 1723 -j ACCEPT
ВНИМАНИЕ! Это только половина статьи! О том, как подключаться разными клиентами на разных операционных системах, а так же маршрутизации и приведение примера объединения двух и более офисов в 1 сеть, мы расскажем вам позже.
< Предыдущая |
---|
Кто онлайн?
- MoeksNami
Мы в twitter
Последние комментарии
-
Ну да, для дома или пары клиентов рублей 9 выкину...
By a148ru -
Бизнес в интернете - ровно как и заработок в интер...
By culbipa -
непонял
By DragoN -
ДЕЛАЛ ПОЛНОСТЬЮ ПО МАНУАЛУ - В /BOOT НИ ЧЕ КРОМЕ G...
By romka -
Сам вспомнил, что днс спокойно можно клиентам раз...
By alex2012 -
Великолепный сайт, читаю не отрываясь уже третий ч...
By biz87 -
2 Петр становитесь соавтором! :-)
By Squ1sh -
Так здорово наблюдать, как кто-то пытается разобра...
By Петр
Комментарии
RSS лента комментариев этой записи