VPN сервер на Linux. PPTPD-OPTIONS на русском

Linux - Сети

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 сеть, мы расскажем вам позже.

Поделится с другими

Комментарии  

 
-1 #1 Бабай 24.04.2011 19:25
Сейчас практически во всех дистрибутивах уже по умолчанию стоит VPN соединение,рань ше были проблемы.
Цитировать
 
 
+1 #2 Squ1sh 25.04.2011 01:22
Ты хотел сказать, что есть апплеты для создания соединения по VPN. В этой же статье идёт речь о VPN-сервере ) А по поводу клиентов планируется написание статьи о объединении 2 удалённых шлюзов. И всё через консоль. Постоянное соединение.
Цитировать
 
 
-1 #3 Бабай 25.04.2011 13:09
Интересно будет познакомится, ждем
Цитировать
 
 
-1 #4 turetskiy 13.09.2011 13:28
Когда продолжение?
Цитировать
 
 
-1 #5 DragoN 24.09.2011 23:42
Самому интересно куда автор делся
Цитировать
 
 
+1 #6 Squ1sh 25.09.2011 02:05
Я прошу меня дико извинить. Но просто я сейчас завален по уши работой, и к сожалению временно не могу продолжить эту статью или найти время на другую. Надеюсь на ваше понимание.
Цитировать
 
 
+1 #7 Roman 10.10.2011 10:50
Ждемс!
Цитировать
 
 
+1 #8 urop9H 07.02.2012 17:14
побыстрее бы пожаааалуйстооо
Цитировать
 

Добавить комментарий



Обновить

Рейтинг пользователей: / 10
ХудшийЛучший 



Кто онлайн?

  • MoeksNami

Donate

Помочь проекту Сделать пожертвование

Реклама



Мы в twitter

Последние комментарии

  • Ну да, для дома или пары клиентов рублей 9 выкину...
    By a148ru
  • Бизнес в интернете - ровно как и заработок в интер...
    By culbipa
  • непонял
    By DragoN
  • ДЕЛАЛ ПОЛНОСТЬЮ ПО МАНУАЛУ - В /BOOT НИ ЧЕ КРОМЕ G...
    By romka
  • Сам вспомнил, что днс спокойно можно клиентам раз...
    By alex2012
  • Великолепный сайт, читаю не отрываясь уже третий ч...
    By biz87
  • 2 Петр становитесь соавтором! :-)
    By Squ1sh
  • Так здорово наблюдать, как кто-то пытается разобра...
    By Петр
линуксы.рф

RamblerTop100