Vpn pptp сервер linux

Настройка VPN-сервера (PPTP) на Ubuntu Server 18.04 LTS

Устанавливаем PPTP сервер:

Редактируем файл конфигурации:

sudo nano /etc/pptpd.conf

В нём находим или исправляем имеющиеся строчки:

Редактируем следующий конфиг:

В нём находим или исправляем имеющиеся строчки:

Правим ещё один конфиг авторизации пользователей:

В нём настраиваем авторизацию:

где username — имя пользователя, pptpd — имя подключения, password — пароль (подробнее ), * — ip адрес

Снова правим очередной конфиг:

В нём добавляем в конец:

В нем нужно раскомментировать строчку:

Нижеуказанная команда внесет все изменения, которые содержатся в файле /etc/sysctl.conf:

sysctl — в BSD и Linux — утилита, предназначенная для управления параметрами ядра на лету

Смотрим, через какой интерфейс в интернет смотрит сервер:

В моём случае eth0 (да и в большинстве других случаев, думаю, тоже).

И самое главное, в моём случае — правила iptables. PPTP работает через TCP-порт 1723, он должен быть открыт. Например:

В него вставляем:

узнать название внешнего сетевого интерфейса можно командой ifconfig (у него значение inet будет равняться вашему внешнему ip адресу, если вы не за натом, как бывает на amazon AWS и тп.)

Добавляем автоматическую загрузку правил iptables как описано ниже:

PPTP работает на порту 1723, и мы можем после этого быстро проверить, открыт ли он, выполнив на сервере:

Будет что-то вроде:

Так же доступность открытого порта из интернета можно проверив при помощи командной строки в windows:

Дополнительно можно почитать в следующих статьях:

Источник

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

  • Главная
  • Настраиваем VPN сервер. Часть 3 — PPTP. Платформа Linux.

Настраиваем VPN сервер. Часть 3 — PPTP. Платформа Linux.

Рассмотрев в предыдущих частях теоретические вопросы перейдем к практической реализации. Сегодня мы рассмотрим создание VPN сервера PPTP на платформе Ubuntu Server. Данный материал рассчитан на читателей, имеющих навыки работы с Linux, поэтому мы не будем отвлекаться на вещи описанные нами в других статьях, таких как настройку сети и т.п. Если вы испытываете затруднения — предварительно изучите другие наши материалы.

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

Рассмотрим схему, которую мы создали в нашей тестовой лаборатории для практического знакомства с данной технологией:


У нас имеется локальная сеть 10.0.0.0/24 с сервером терминалов 10.0.0.2 и роутером10.0.0.1, который будет выполнять функции VPN сервера, для VPN мы зарезервировали сеть 10.0.1.0/24. Внешний интерфейс сервера имеет условный выделенный IP адрес X.X.X.X. Наша цель — предоставить удаленным клиентам доступ к терминальному серверу и общим ресурсам на нем.

Настройка сервера PPTP

Установим пакет pptpd реализующий функционал PPTP VPN:

Читайте также:  Последняя версия java для linux

Теперь откроем файл /etc/pptpd.conf и зададим основные настройки VPN сервера. Перейдем в самый конец файла, где укажем адрес сервера в VPN сети:

И диапазон адресов для выдачи клиентам:

Адресов нужно выделить не меньше, чем возможных одновременных соединений, лучше с небольшим запасом, так как их увеличение без перезапуска pptpd невозможно. Также находим и раскомментируем строку:

Это позволит передавать VPN клиентам широковещательные пакеты внутренней сети.

Также можно использовать опции listen и speed, первая позволяет указать IP адрес локального интерфейса для прослушивания входящих PPTP соединений, второй указать скорость VPN соединений в бит/с. Например разрешим серверу принимать PPTP соединения только с внешнего интерфейса:

Более тонкие настройки находятся в файле /etc/ppp/pptpd-options. Настройки по умолчанию вполне соответствуют нашим требованиям, однако кратко рассмотрим некоторые из них, чтобы вы имели представление о их назначении.

Секция #Encryption отвечает за шифрование данных и проверку подлинности. Данные опции запрещают использование устаревших и небезопасных протоколов PAP, CHAP и MS-CHAP:

Далее предписывается использовать безопасный протокол проверки подлинности MS-CHAP v2 и 128-битное шифрование MPPE-128:

Следующая секция #Network and Routing, здесь следует обратить внимание на опцию ms-dns, которая позволяет использовать DNS сервер во внутренней сети. Это может быть полезно при доменной структуре сети или наличия в ней DNS сервера который содержит имена всех ПК сети, что дает возможность обращаться к компьютерам по их именам, а не только по IP. В нашем случае данная опция бесполезна и закомментирована. Подобным образом можно задать и адрес WINS сервера опцией ms-wins.

Здесь же находится опция proxyarp, включающая, как несложно догадаться из названия, поддержку сервером Proxy ARP.

В секции #Miscellaneous содержится опция lock, которая ограничивает клиента одним подключением.

На этом настройку сервера можно считать законченной, осталось создать пользователей. Для этого внесем необходимые записи в /etc/ppp/chap-secrets. Записи должны иметь вид:

Первая запись позволяет подключаться к серверу пользователю ivanov c паролем 123 и присваивает ему произвольный IP адрес, вторая создает пользователя petrov с паролем 456, которому при подключении будет присваиваться постоянный адрес 10.0.1.201.

Важное замечание! Если pptpd не хочет перезапускаться, зависая на старте, а в /var/log/syslog добавляя строку long config file line ignored обязательно добавьте в конец файла /etc/pptpd.conf перенос строки.

Наш сервер готов к работе.

Настройка клиентских ПК

В общем случае достаточно настроить VPN соединение с опциями по умолчанию. Однако мы советуем явно указать тип соединения и отключить лишние протоколы шифрования.

Далее, в зависимости от структуры сети, необходимо указать статические маршруты и основной шлюз. Эти вопросы подробно разбирались в предыдущих частях.

Устанавливаем VPN соединение и пробуем пропинговать какой либо ПК в локальной сети, мы без каких либо затруднений получили доступ к терминальному серверу:

Теперь еще одно важное дополнение. В большинстве случаев доступ к компьютерам локальной сети будет возможен только по IP адресам, т.е. путь \\10.0.0.2 будет работать, а \\SERVER — нет. Это может оказаться неудобным и непривычным для пользователей. Существует несколько способов решения данной проблемы.

Если локальная сеть имеет доменную структуру, достаточно указать DNS сервером для VPN подключения DNS сервер контроллера домена. Воспользуйтесь опцией ms-dns в /etc/ppp/pptpd-options сервера и данные настройки будут получены клиентом автоматически.

Если DNS сервер в локальной сети отсутствует, то можно создать и использовать WINS сервер, информацию о нем также можно автоматически передавать клиентам при помощи опции ms-wins. И наконец, если удаленных клиентов немного, использовать на клиентских ПК файлы hosts (C:\Windows\System32\drivers\etc\hosts), куда следует добавить строки вида:

Читайте также:  Gigabyte ga h61m s2pv драйвера windows 10

По одной для каждого ПК в локальной сети к ресурсам которого требуется доступ.

Дополнительные материалы:

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Или подпишись на наш Телеграм-канал:

Источник

Как установить и настроить безопасный 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.

Читайте также:  Драйвера nvidia geforce 6600 драйвер для windows

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

Источник

Установка VPN сервера с использованием протокола PPTP MS-CHAP v2 на Linux

Рассмотрим установку и настройки простейшего VPN сервера на Linux Debian 9. В качестве алгоритма шифрования будет использоваться MS-CHAP v2, наверно на сегодня самый минимальный допустимый алгоритм для шифрования. PPTPd, на мой взгляд самый простой сервер на Linux и также прост в настройке.

Большим плюсом является то, что нет необходимости установки и настройки клиентской части VPN сети. Для организации туннели для доступа к ресурсам маленькой/средней компаний вполне достаточен PPTPd сервер. Максимум длина ключа алгоритма 128.

Итак, рассмотрим ситуацию для разворачивания VPN:

  • Внутренняя сеть IP 192.168.1.0/24
  • DHCP Pool — 192.168.1.30 192.168.1.140
  • DNS AD — IP 192.168.1.1
  • Внутренний адрес IP VPN сервера — 192.168.1.200
  • Диапазон адресов для VPN сервера- IP 192.168.1.141-192.168.1.150
  • Сервер имеет белый (живой) внешний IP
  • Сервер Linux Debian 9.x

Установка сервера:

Обновляем пакеты и систему

Из сетевых инструментов, что не было в установке: Netstat и iptables-persistent, установим в процессе.

Установка сервера VPN

Создадим файл конфигурации, файл по умолчанию сохраним с .default

Редактируем файл конфигурации

Настройка файла с опциями pptp-сервера

Настройка файла для аутентификации пользователей

Перезапуск и проверка PPTPD-сервера

Проверка запущен ли pptp-сервер

Добавляем PPTPD-сервис в автозагрузку

Настройка Iptables для корректной работы PPTP-подключения клиентов

Разрешим входящее подключения на порт PPTP-сервера (1723) по протоколу TCP

Разрешим входящее подключения по протоколу GRE, который используется для PPTP-туннеля

Для того, чтобы PPTP-клиенты смогли общаться между собой дополнительно настраиваем iptables – цепочку FORWARD в таблице filter (если политика по умолчанию для цепочки FORWARD установлена в DROP)

Настраиваем маршрутизацию и NAT для внутренней сети на PPTP-сервере

eth0 — сеть смотрит в Интернет.

Сохраним изменения и перезапустим iptables.

Наш сервер готов. Создаем подключение VPN на клиентской машине, вводим логин пароль из настроек файла /etc/ppp/chap-secrets. После успешного соединения нам доступны ресурсы внутри сети VPN.

Источник

Оцените статью