Linux vpn pptp debian

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

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

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

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

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

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

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

# apt update # apt upgrade # apt install pptpd

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

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

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

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

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

############################################################################### # $Id$ # # Sample Poptop PPP options file /etc/ppp/pptpd-options # Options used by PPP when a connection arrives from a client. # This file is pointed to by /etc/pptpd.conf option keyword. # Changes are effective on the next connection. See "man pppd". # # You are expected to change this file to suit your system. As # packaged, it requires PPP 2.4.2 and the kernel MPPE module. ############################################################################### # Authentication # Name of the local system for authentication purposes # (must match the second field in /etc/ppp/chap-secrets entries) name pptpd # Optional: domain name to use for authentication # domain mydomain.net # Strip the domain prefix from the username before authentication. # (applies if you use pppd with chapms-strip-domain patch) #chapms-strip-domain # Encryption # (There have been multiple versions of PPP with encryption support, # choose with of the following sections you will use.) # BSD licensed ppp-2.4.2 upstream with MPPE only, kernel module ppp_mppe.o # >> # Network and Routing # If pppd is acting as a server for Microsoft Windows clients, this # option allows pppd to supply one or two DNS (Domain Name Server) # addresses to the clients. The first instance of this option # specifies the primary DNS address; the second instance (if given) # specifies the secondary DNS address. # Attention! This information may not be taken into account by a Windows # client. See KB311218 in Microsoft's knowledge base for more information. #ms-dns 10.0.0.1 #ms-dns 10.0.0.2 # If pppd is acting as a server for Microsoft Windows or "Samba" # clients, this option allows pppd to supply one or two WINS (Windows # Internet Name Services) server addresses to the clients. The first # instance of this option specifies the primary WINS address; the # second instance (if given) specifies the secondary WINS address. #ms-wins 10.0.0.3 #ms-wins 10.0.0.4 # Add an entry to this system's ARP [Address Resolution Protocol] # table with the IP address of the peer and the Ethernet address of this # system. This will have the effect of making the peer appear to other # systems to be on the local ethernet. # (you do not need this if your PPTP server is responsible for routing # packets to the clients -- James Cameron) proxyarp # Normally pptpd passes the IP address to pppd, but if pptpd has been # given the delegate option in pptpd.conf or the --delegate command line # option, then pppd will use chap-secrets or radius to allocate the # client IP address. The default local IP address used at the server # end is often the same as the address of the server. To override this, # specify the local IP address here. # (you must not use this unless you have used the delegate option) #10.8.0.100 # Debian: do not replace the default route nodefaultroute # Logging # Enable connection debugging facilities. # (see your syslog configuration for where pppd sends to) #debug # Print out all the option values which have been set. # (often requested by mailing list to verify options) #dump # Miscellaneous # Create a UUCP-style lock file for the pseudo-tty to ensure exclusive # access. lock # Disable BSD-Compress compression nobsdcomp # Disable Van Jacobson compression # (needed on some networks with Windows 9x/ME/XP clients, see posting to # poptop-server on 14th April 2005 by Pawel Pokrywka and followups, # http://marc.theaimsgroup.com/?t=111343175400006&r=1&w=2 ) novj novjccomp # turn off logging to stderr, since this may be redirected to pptpd, # which may trigger a loopback nologfd # put plugins here # (putting them higher up may cause them to sent messages to the pty)

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

# cp /etc/ppp/pptpd-options /etc/ppp/pptpd-options-original

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

name pptpd refuse-pap refuse-chap refuse-mschap require-mschap-v2 require-mppe-128 proxyarp nodefaultroute lock nobsdcomp novj novjccomp nologfd
  • 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
Читайте также:  Manjaro linux secure boot

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

Адресация компьютеров (устройств) в тоннеле не должна совпадать с уже используемой адресацией у всех участников VPN туннеля. Адреса для туннеля следует выбирать из «серых» подсетей. Подробнее о них можно почитать здесь — https://moonback.ru/page/belye-i-serye-ip-adresa-ipv4. В моем примере я буду использовать подсеть 172.22.22.0. Чтобы ее настроить для PPTP тоннеля необходимо отредактировать файл /etc/pptpd.conf. По правилам «хорошего тона» сначала сделаем резервную копию оригинального файла конфигурации:

# cp /etc/pptpd.conf /etc/pptpd_original.conf
# IP-адрес сервера в локальной сети localip 172.22.22.1 # Диапазон адресов для клиентов PPTP-сервера remoteip 172.22.22.22-29

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

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

# echo -e ' # IP-адрес сервера в локальной сети localip 172.22.22.1 # Диапазон адресов для клиентов PPTP-сервера remoteip 172.22.22.22-29 ' \ >> /etc/pptpd.conf

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

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

# cp /etc/ppp/chap-secrets /etc/ppp/chap-secrets_original

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

vpn-user pptpd user-password 172.16.22.22

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

vpn-user pptpd user-password *

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

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

# echo -e ' vpn-user pptpd user-password 172.16.22.22' >> /etc/ppp/chap-secrets

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

# chmod 0600 /etc/ppp/chap-secrets

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

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

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

# systemctl list-unit-files --type=service --state=enabled

Заключение

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

Читайте также:  Anydesk kali linux установка

Обсуждение (комментарии к статье)

Сделал как тут написано,все работает. Только клиенты подключаются и уже не могут подключиться к ресурсам во внешней сети. Как это исправить?

Drake, если вы хотите, чтобы клиенты ходили во внешнюю сеть через VPN, то настройте сервер по этой инструкции — https://moonback.ru/page/debian-vpn-client-to-inernet. Если нужно, чтобы интернет у клиентов оставался свой как и раньше, то у клиентов в настройках протокола IPv4 для VPN соединения в разделе дополнительные параметры отключите использование внешнего шлюза.

Спасибо. Уже разобрался. Единственно,у меня нет файла /etc/rc.local. Я по другому эту проблему решил, через файл /etc/network/interfaces

Благодарю за статью, но почему-то после всех настроек, не получается подключиться к серверу. Пишет, что сервер не отвечает. В чем может быть проблема?

Попробуй именно 9-й дебиан. На 11-м у меня тоже никак не завелось. День танцевания с бубном в утиль. А на 9м пошло сразу и без проблем.

Источник

Установка и настройка PPTP VPN на Ubuntu/Debian

Установка и настройка PPTP VPN на Ubuntu/Debian

Для работы использовался хостинг WebHost1.ru. Поделимся с вами промокодом для webhost1.ru на скидку 5%: fb7687-5.

В этой статье мы расскажем как настроить PPTP VPN-сервер на Debian/Ubuntu для подключения с Windows или Android-устройств

Для начала под рукой мы должны иметь установленную и обновленную ОС Debian (для примера) с установленными базовыми пакетами (ssh, mc, sudo и пр.). Сервер должен иметь внешний статический ip-адрес.

Установим пакет ppptd c помощью команды

Теперь открываем на редактирование файл /etc/pptpd/pptpd-options c помощью команды

Файл должен иметь следующее содержание

name vpn refuse-pap refuse-chap refuse-mschap require-mschap-v2 require-mppe-128 ms-dns 8.8.8.8 nodefaultroute lock nobsdcomp

где VPN — это произвольное имя VPN-подключения

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

Читайте также:  Linux l2tp server ubuntu

Файл должен иметь следующее содержание

option /etc/ppp/pptpd-options logwtmp localip 192.168.18.1 remoteip 192.168.18.2-254 bcrelay eth0

где localip — это внутренний адрес VPN-сервера, который он получит при успешном соединении,
remoteip — пул адресов для клиентов

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

Для этого откроем на редактирование файл /etc/ppp/chap-secrets

и добавим в него следующее содержимое

,где user — имя пользователя
vpn — имя подключения
test2021 — пароль

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

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Если у вас Debian свежих версий, то прочитать, как активировать rc.local вы можете в нашей статье

Нам также нужно активировать функцию маршрутизации на VPN-сервере, для этого необходимо раскомментировать строку

в файле /etc/sysctl.conf

Данный конфигурационный файл вступит в силу после перезагрузки сервера.
Для активации этого параметра «на лету» выполните команду

echo 1 > /proc/sys/net/ipv4/ip_forward

Теперь остается просто перезапустить службу командой

systemctl restart pptpd

Далее на своем Android-устройстве добавьте новое VPN-подключение с типом PPTP
Введите внешний ip-адрес нашего vpn-сервера и ранее созданные логин и пароль.
Наслаждайтесь результатом своей работы.

Источник

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