- Настройка VPN-сервера (PPTP) на Ubuntu Server 18.04 LTS
- Записки IT специалиста
- Настраиваем VPN сервер. Часть 3 — PPTP. Платформа Linux.
- Настройка сервера PPTP
- Настройка клиентских ПК
- Дополнительные материалы:
- Как установить и настроить безопасный PPTP сервер на Debian Linux
- Как установить PPTP сервер на Debian
- Как настроить PPTP сервер на Debian
- Настройка безопасности PPTP
- Настройка адресации VPN тоннеля
- Список пользователей PPTP сервера
- Запуск PPTP сервера на Debian
- Автозагрузка PPTP сервера при старте операционной системы
- Заключение
- Установка VPN сервера с использованием протокола PPTP MS-CHAP v2 на 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:
Теперь откроем файл /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), куда следует добавить строки вида:
По одной для каждого ПК в локальной сети к ресурсам которого требуется доступ.
Дополнительные материалы:
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Источник
Как установить и настроить безопасный 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 сервер:
При необходимости можно проверить сатус его работы:
Автозагрузка 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.
Источник