Как установить и настроить безопасный PPTP сервер на Debian Linux

Как установить и настроить безопасный PPTP сервер на Debian Linux

Для объединения компьютеров между собой и даже целых локальных сетей через интернет используют VPN туннели. Как правило один из узлов используется в качестве сервера, а остальные подключаются к нему как клиенты.

Существует много ПО для построения VPN тоннелей, но PPTP, пожалуй, самый простой в настройке, поддерживается практически всеми операционными системами и устройствами, при этом быстро работает. Единственное «Но», он не самый безопасный (защищенный).

PPTP (англ. Point-to-Point Tunneling Protocol) — туннельный протокол типа точка-точка, позволяющий компьютеру устанавливать защищённое соединение с сервером за счёт создания специального туннеля в стандартной, незащищённой сети.
Подробнее в Википедии

В этой статье я расскажу как настроить PPTP сервер на операционной системе Debian 9.

Как установить PPTP сервер на Debian

Чтобы установить PPTP сервер на Debian выполните последовательно следующие команды в консоли от имени ROOT:

Обратите внимание, что демон (сервис) PPTP в имени на конце содержит букву [d].

Как настроить PPTP сервер на Debian

Настройка сервера для построения VPN туннеля на основе PPTP сводится к редактированию трех файлов:

  • /etc/pptpd.conf
  • /etc/ppp/chap-secrets
  • /etc/ppp/pptpd-options

Настройка безопасности PPTP

Как правило файл /etc/ppp/pptpd-options уже содержит все необходимые инструкции для правильной и безопасной работы PPTP сервера и редактировать его не надо. В нем находятся не только настройки безопасности, но именно на них следует обратить особое внимание.

В Debian 9 по-умолчанию файл /etc/ppp/pptpd-options имеет следующее содержание:

Если у вас этого файла нет или у него другое содержимое и вы хотите внести в него изменения, то с начала сделайте резервную копию файла настроек:

Оптимальные параметры PPTP сервера, проверьте их наличие и при необходимости добавьте в файл /etc/ppp/pptpd-options:

  • name pptpd — имя сервиса, которое используется в файле аутентификации /etc/ppp/chap-secrets
  • refuse-pap — запрет небезопасной авторизации pap
  • refuse-chap — запрет небезопасной авторизации chap
  • refuse-mschap — запрет небезопасной авторизации mschap
  • require-mschap-v2 — требование безопасной авторизации mschap v2
  • require-mppe-128 — требование максимального шифрования mppe-128
  • proxyarp — необходим для трансляции ARP-ответов из одного сегмента сети в другой
  • nodefaultroute — запрещает изменять шлюз по-умолчанию на сервере при активации PPTP соединения
  • lock — параметр на создания файла блокировки на эксклюзивный доступ
  • nobsdcomp — используется на не BSD системах (OpenBSD, FreeBSD)
  • novj — запрет компресии, она используется только клиентами Windows 9x/ME/XP
  • novjccomp — запрет компрессии, она используется только клиентам Windows 9x/ME/XP
  • nologfd — блокирует запись в системный журнал через системную функцию stderr

Настройка адресации VPN тоннеля

Адресация компьютеров (устройств) в тоннеле не должна совпадать с уже используемой адресацией у всех участников VPN туннеля.

Адреса для туннеля следует выбирать из «серых» подсетей. Подробнее о них можно почитать здесь — https://moonback.ru/page/belye-i-serye-ip-adresa-ipv4.

В моем примере я буду использовать подсеть 172.22.22.0. Чтобы ее настроить для PPTP тоннеля необходимо отредактировать файл /etc/pptpd.conf.

По правилам «хорошего тона» сначала сделаем резервную копию оригинального файла конфигурации:

а затем в конец файла добавляем настройки адресов нашего тоннеля:

Сделать это можно с помощью редактора, например из состава MC (Midnight Commander):

Или прямо из командной строки:

Список пользователей PPTP сервера

Следующим шагом добавим пользователей, которые будут подключаться к нашему PPTP серверу. Для этого необходимо внести правки в файл /etc/ppp/chap-secrets.

Не забываем про «правила хорошего тона» и делаем резервную копию файла настроек:

Формат строки: имя-пользователя имя-сервиса пароль адрес-клиента-в-тоннеле.

В случае, если вы будете использовать множественный вход, то вместо конкретного адреса можно указать звездочку.

Добавить пользователя можно не прибегая к редактору, прямо из консоли:

Так как данные хранятся в окрытом виде, то для хоть какой-то безопасности присвоим файлу /etc/ppp/chap-secrets следующие права:

Запуск PPTP сервера на Debian

Если все сделали без ошибок, то можно запустить PPTP сервер:

Читайте также:  Как заменить лампу ближнего света на Митсубиши Лансер 9

При необходимости можно проверить сатус его работы:

Автозагрузка PPTP сервера при старте операционной системы

В Debian 9 PPTP сервер добавить в автозагрузку можно следующей командой:

исключить из автозагрузки соответственно:

Для просмотра сервисов добавленных в автозагрузку используйте команду:

Заключение

К серверу настроенному по этой инструкции беспроблемно подключаются клиенты Windows 8.1/10, Android 9, а так же роутеры серии Keenetic. Это проверено мной лично.

В прочем и другие клиенты так же не должны испытывать проблем при подключении.

Источник

Установка и настройка VPN сервера на Debian, Ubuntu Linux используя pptp и arno-iptables-firewall

Установка и настройка VPN сервера PPTPD в Debian LinuxЭта инструкция описывает установку и настройку PPTP сервера под управлением Debian GNU/Linux Squeeze.

PPTP — туннельный протокол типа точка-точка, позволяющий компьютеру устанавливать защищённое соединение с сервером за счёт создания специального туннеля в стандартной, незащищённой сети.

IP адрес сервера в локалке пусть будет 192.168.0.1
IP адреса в VPN будут 192.168.2.0/24

Начинаем установку необходимых программ:

Теперь приступаем к настройке.

Первым делом открываем в редакторе файл /etc/pptpd.conf и дописываем в конец следующие строки:

Добавляем в файл /etc/ppp/pptpd-options следующие строки:

Сохраняем конфигурационный файл и создаем файл лога командой:

Переходим к настройке паролей в файле /etc/ppp/chap-secrets
Добавляем по примеру:

После этого перезапускаем pptpd:

Переходим к настройке нашего скрипта файрвола arno-iptables-firewall, который создаёт правила для iptables на основе конфигурационных файлов.

# Разрешаем протокол GRE для всех:
Вносим переменную DC_OPEN_IP в файл /etc/arno-iptables-firewall/firewall.conf

В файл /etc/arno-iptables-firewall/debconf.cfg вносим переменную DC_OPEN_IP и открываем протокол GRE для сервера
было:

Перезагружаем ARNO командой:

Если же вы используете самописный скрипт iptables, тогда необходимо добавить следующие строки в свой скрипт:

Теперь можно пинговать наш сервер 192.168.0.1 и пользоватся интернетом через него.

На этом настройка VPN сервера на PPTP закончена, если Вам понадобится подключится к VPN сервер из Windows, Вам достаточно почитать инструкцию: Инструкция подключения к серверу PPTPD из Windows.

С Вами был Сергей Лазаренко, если Вам понравилась статья, подписывайтесь на получение обновлений с сайта на свою почту. А также прошу поделится с друзьями данной инструкцией нажав на иконку Вашей социальной сети.

После труда, принято немножко отдохнуть, потому посмотрим интересный видео ролик о подводной охоте на сома:

Источник



Debian → Установка VPN сервера Debian/Ubuntu с использованием протокола PPTP (шифрование по алгоритму MS-CHAP v2 )

Иногда возникает необходимость, зайти в локальную сеть, чтобы пользоваться ее внутренними ресурсами, это могут быть файловые, почтовые, сервера баз данных, VoIP и многое другое на что хватает фантазии и знаний. Для этого мы воспользуемся VPN, а конкретно протоколом PPTP. Он представляет, из себя, соединение точка-точка и помогает организовать защищенное соединение поверх не защищенного. В настоящее время поддерживается, большинством современных операционных систем и не требует сложной настройки.
Данное руководство актуально для Dedian/Ubuntu 10.х, а при небольшой адаптации и для других дистрибутивов.
Схема работы:

Но также можно соединять сервера в удаленных филиалах.

Вводная:
У нас есть внутренняя сеть с IP адресами в диапазоне 192.168.1.1-192.168.1.200 c Маской подсети 255.255.255.0, которые раздаются в локальной сети с помощью DHCP севера, о способе его настройки можно прочитать в статье опубликованной ранее. У нас есть шлюз, на котором установлено 2 сетевых интерфейса eth0 имеет статический IP 192.168.1.1 и, как не сложно догадаться, смотрит в локальную сеть, eth1-имеет внешний IP к которому привязано доменное имя vpn.example.org. Доменное имя использовано исключительно для простоты запоминания, если его нет-не беда, можно подключаться по IP. В нутрии локальной сети работают DNS, WINS сервера. Это все, что нам понадобится для нормальной работоспособности соединения.

Установку операционной системы я опущу.
Ставим необходимые пакеты.

Нам придется отредактировать 3 конфигурационных файла:

Нас интересуют следующие пункты:

этот параметр указывает на то откуда перенаправлять широковещательные сообщения, локальной сети, в нашей ситуации eht0, смотрит в локальную сеть, оттуда мы и будем перенапрявлять эти пакеты.

Читайте также:  Социальные стереотипы и их влияние на восприятие мира

Вообще при установке VPN соединения имя шлюза не выдается, а шлюзом по умолчанию становится тот сетевой интерфейс, который принимает соединения от пользователей локальной сети и отправляет их в интеренет, в нашем случае это eth0, его IP мы и указываем, но если необходимо блокировать доступ в Интернет пользователям использующим подключающимся удаленно, то можно указать другой IP и в интеренет они через наш сервер выйти не смогут.

Этот пункт отвечает за то, какие IP адреса будут выданы клиентам подключенным по VPN, в данном случае – IP адреса будут выдаваться из диапазона начиная с192.168.1.240 по 192.168.1.254 из этого становиться ясно что в текущей конфигурации, к серверу могут подключиться 14 клиентов, зачастую больше и не требуется. Естественно эту группу IP адресов необходимо исключить из выдачи нашего DHCP сервера, который работает в нутри локалки, чтобы не возникало конфликтов между повторяющимися адресами внутри сети.
Также в этот файл можно добавить параметр listen и указать в нем IP адрес нашего внешнего сетевого интерфейса, который будет принимать внешние подключения, должно выгладеть

Где: 000.000.00.000 необходимо заменить на свой внешний, реальный IP.

Сохраняем изменения, выходим.

Далее нам необходимо отредактировать

В пункте –Encryption привести к виду указанному ниже.

Этим пунктом мы запрещаем использовать протоколы, которые давно и успешно взломаны и по рекомендации Microsoft, не должны использоваться: pap, chap, mschap, а также жестко указываем что можно использовать только mschap версии 2.

В разделе Network and Routing, можно указать
ms-dns 192.168.1.20

Если в сети работает DNS сервер, например в ОС сервества Windows 2003/2008, который работает совместно с Active Directory, то можно указать его IP и тогда клиенты смогут увидеть все компьютеры и прочие сетевые ресурсы, присутствующие в нашей сети, обращаясь к ним по именам, а не по IP.

ms-wins 192.168.1.20

Из названия данного пункта, можно догадаться, что он отвечает за адрес сервера WINS, если конечно он используется, в нашем случае, служба WINS работает на одном сервере с DNS, его IP мы и указываем. Данная служба существенно снижает нагрузку на сеть. Если она не используется, то данный параметр, можно оставить закомментированным.

На этом все, сохраняем изменения и выходим.

Теперь самое главное, нам необходимо добавить клиентов которые будут подключатся к нашему серверу из вне. Для этого отредактируем:

Можно добавлять в него записи вида
Username * secretpassword -тогда пользователю будет выдан IP из диапазона который мы установили в файле pptpd.conf

Но бывает и так, что за определенным пользователем необходимо закрепить определенный IP например 192.168.1.250, тогда запись приобретает вид
Username * secretpassword 192.168.1.250

Где: Username-имя пользователя, secretpassword-пароль

На этом настройку сервера можно считать завершенной, его необходимо перезагрузить

(Небольшое, но важное дополнение: Если после завершения настроек при попытке перезапустить pptpd-зависает, то необходимо, убедиться что во всех конфигурационных файлах, а особенно в pptpd.conf, после последней строки необходимо нажать Enter, чтобы курсор перешел на новую строку!)

Все работает нормально, теперь нам необходимо настроить клиентов, рассмотрим эту ситуацию на примере windows 7.
Настройка VPN происходит стандартно и в большинстве случае сложности не вызывает, но все-таки рассмотрим ее подробнее.

Настройка самого соединения проходит штатно

Указываем доменное имя нашего VPN сервера, для этого, заранее необходимо создать DNS запись в вашем домене, если доменное имя еще не куплено-не проблема, можно указать IP адрес нашего сервера в интернет. Устанавливаем галочку, чтобы система не начала устанавливать соединение по окончанию настройки.

Указываем имя пользователя и пароль и жмем кнопку создать

Теперь находим наше свежесозданное подключение и настраиваем его-перейдя в его свойства

Читайте также:  Монтаж розеток Норматив Ценообразование

Переходим во вкладку Безопасность
В тип VPN указываем PPTP переходим в меню-Разрешить следующие протоколы и оставляем галочку на против MSCHAP v2

Переходим во вкладку Сеть:
Необходимость этого пункта зависти от того для чего мы используем этот сервер!
Если планируем соединить удаленные офисы в единую сеть, при этом офисы подключаются к нам через WLAN, и не имеют местного доступа в интернет, будут выходить в глобальную сеть через головой офис или через тот где интернет обходится дешевле, то необходимость того что написано ниже, отпадает, нажимаем OK и пробуем подключиться, мы сразу получим доступ в Интернет, а шлюзом будет выступать сервер головного офиса.

Если сервер VPN будет использоваться для подключения удаленных сотрудников для работы с ресурсами локальной сети, то им нет необходимости выходить в интернет через наш сервер-он и так у них есть на месте и в этой ситуации этот пункт нам понадобится. По умолчанию VPN соединение получает более высокий приоритет, а VPN сервер становится шлюзом по умолчанию, данный параметр регулируется сетевой метрикой, чем число в метрике меньше-тем приоритет этого соединения выше. В этой ситуации, нам необходимо, сказать системе не использовать это соединение для доступа в интернет, а только для работы в локальной сети.

Выбираем протокол TCP/IP v4 и переходим в его свойства

В свойствах выбираем Дополнительно

В дополнительных параметрах нам необходимо снять галочку с пункта: Использовать основной шлюз удаленной сети
Теперь это соединение не будет использоваться как основное, для подключения к интернет, но работоспособность локальной сети сохранится.

На этом можно и закончить. В результате проделанной работы у нас получился первоклассный VPN шлюз, который обеспечивает передачу данных по шифрованному каналу между двумя точками, что позволит защитить их от третьих лиц. На его настройку уйдет примерно 15 мин.
Теперь можно смело подключать сетевые диски файловых серверов и подключаться к сетевым принтерам или непосредственно к серверу печати если такой имеется.

Источник

Блог о Linux и Windows

Записки по настройке Debian Ubuntu и Microsoft Windows

Настройка PPTP в Debian Ubuntu сервера и клиента

В качестве исходных данных будем использовать:

Debian Lenny 5.0.4 с адресом в локальной сети 192.168.0.10.

Для начала устанавливаем всё необходимое:

apt-get install ppp pptpd

Далее приступаем к настройке. Всё достаточно просто.

Первым делом открываем в редакторе файл /etc/pptpd.conf и дописываем в конец следующие строки:

Так же добавляем в /etc/ppp/pptpd-options следующие строчки:

Добавляем наших пользователей в /etc/ppp/chap-secrets, таким видом:

# Если пользователь должен динамически получать IP-адрес

# из диапазона remoteip в pptpd.conf:

# Если мы хотим привязать определённый IP к логину:

Быстрое и удобное добавления пользователей из консоли:

$ echo «test1 pptpd 11111 * » >> /etc/ppp/chap-secrets

Настройка PPTP-клиента в Debian/Ubuntu

$ apt-get install pptp-linux

Для простоты введем переменные:

название нашего соединения ($NameVPN)

IP address(host) нашего сервера — ($SERVER),

наше имя пользователя (username)($USERNAME),

наш пароль (password)($PASSWORD),

так же если есть домен (domain)($DOMAIN)

Приводим наши файлы до следующего вида:

Внимание: параметр nodetach, выводит в стандартный поток вывода ошибок — stderr, выводится на терминал. Это удобно для отладки соединения. После того, как Вы убедились, что скрипт работает, как задумано, параметр nodetach можно убрать и pppd при запуске будет уходить в фоновый режим, перенаправляя stderr скрипта в файл /etc/ppp/connect-errors.

Создаем файл $NameVPN в /etc/ppp/peers/:

Если нам ни нужна поддержка MPPE,то удаляем строчку из require-mppe-128 из файла.

Если нужно увидеть отладочную информацию:

pon $NameVPN debug nodetach

Если нужен автоматический запуск при загрузке системы, добавьте в файл /etc/network/interfaces следующие строки:

Заметка: мне пришлось поставить апперанд & после ($NameVPN&), иначе загрузка шла до подключения ppp и на этом останавливалась.

Источник

Adblock
detector