- Ubuntu Documentation
- Setup PPTP Server
- Setup IP Forwarding
- Записки IT специалиста
- Настраиваем VPN сервер. Часть 3 — PPTP. Платформа Linux.
- Настройка сервера PPTP
- Настройка клиентских ПК
- Дополнительные материалы:
- Как установить и настроить безопасный PPTP сервер на Debian Linux
- Как установить PPTP сервер на Debian
- Как настроить PPTP сервер на Debian
- Настройка безопасности PPTP
- Настройка адресации VPN тоннеля
- Список пользователей PPTP сервера
- Запуск PPTP сервера на Debian
- Автозагрузка PPTP сервера при старте операционной системы
- Заключение
- Setting up a PPTP VPN Server on Debian/Ubuntu
- Quick setup: Copy and Paste
- Install the PPTPD package
- Setup VPN and DNS IP addresses
- Add usernames and passwords
- Enable forwarding and create iptables rules
- Create a VPN connection on your computer
Ubuntu Documentation
This guide has been tested with Ubuntu 12.4 Server.
Setup PPTP Server
First we need to install pptp server using apt-get
Then we need to configure the pptpd.
Add server IP and client IP at the end of the file. You can add like below:
This sets up the PPTP server to use IP 192.168.0.1 while distributing the IP range 192.168.0.100 to 192.168.0.200 to PPTP clients. Change these as you wish as long as they are private IP addresses and do not conflict with IP addresses already used by your server.
Configure DNS servers to use when clients connect to this PPTP server
Uncomment the ms-dns and add google like below or OpenDNS
Now add a VPN user in /etc/ppp/chap-secrets file.
The column is username. Second column is server name, you can put “pptpd” in there. Third column is password. The last column is the IP addresses, you can put * to allow all IP.
Finally start your server
Setup IP Forwarding
To enable IPv4 forward. Change /etc/sysctl.conf file, add forward rule below.
Uncomment the line
Then reload the configuration
Add forward rule in iptables
adding to the bottom just before the exit 0
This example is using 192.168.0 for its PPTP subnet. The second rule adjusts the MTU size :
You are done. Just reboot your server and you should be able to connect to using PPTPD and send all your traffic through this server.
PPTPServer (последним исправлял пользователь jwt 2014-11-23 12:49:29)
The material on this wiki is available under a free license, see Copyright / License for details
You can contribute to this wiki, see Wiki Guide for details
Источник
Записки 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. Это проверено мной лично.
В прочем и другие клиенты так же не должны испытывать проблем при подключении.
Источник
Setting up a PPTP VPN Server on Debian/Ubuntu
Last month the undersea cable SEA-ME-WE 4 cable was cut near Egypt causing a massive degradation of internet speed in India. For me several websites including the world’s 6th popular website Wikipedia didn’t load at all. And to make matters worse I wasn’t able to access my own blog :'( as it was located in Dallas (so traffic had to pass through damaged cable). So I quickly setup VPN server on an AWS micro instance running Linux (Ubuntu) and accessed everything I wanted, so here I am writing this article for the benefit of all netizens. To create a similar type of VPN server in windows read this tutorial. You’ll find a lot of articles on the internet with the similar topic but in this article I’ll keep the configuration part as short as possible setting up only the bare minimum to get a PPTP VPN server running in the time it takes to make noodles!
Quick setup: Copy and Paste
This section is for the impatient. All you have to do is login to your Debian/Ubuntu server and copy paste the following commands and you’ll have a working VPN server in less than 2 mins.
In this section I assume you’re logged in as the root user, do NOT have any instance of pptpd installed now or earlier and the “net.ipv4.ip_forward” is commented in the /etc/sysctl.conf file.
Notice the bolded username and password you should change it to your preferred combination. To save IPtables rules read this tutorial. Proceed to creating a VPN connection.
Install the PPTPD package
On Debian/Ubuntu operating systems
Setup VPN and DNS IP addresses
Edit the following file
And add the following lines to the end
You can use any private IP address range just make sure it is not already used in your local network and the local IP and the remote IP are in the same range.
Edit the following file to mention DNS servers
Add the following lines to the end
You can use any DNS server here I’m using Google Public DNS just as an example.
Add usernames and passwords
Edit the following file
and add username/password combinations one in each line in the following format
If only you are going to use this VPN server a single username/password combination is enough.
Restart the pptpd service
Enable forwarding and create iptables rules
Our main purpose of setting up this VPN server is to access website right ? So our traffic has to be forwarded out of the VPN server’s public network interface.
Enable port forwarding on Linux by editing the sysctl.conf file
Add or find and comment out the following line
Save, close the file and run the following command to make the changes take effect.
The following iptables firewall rules allow port 1723, GRE and perform NAT
In the last rule replace “eth0” with the interface connecting to the internet on your VPN server. Finally the following rule is required to ensure websites load properly
Replace 172.20.1.0/24 with the IP address range used in the “remoteip” option in the /etc/pptpd.conf this firewall rule is used to ensure a proper MTU value is used to prevent fragmentation. To save the IPTables rules read this article.
Create a VPN connection on your computer
If you are using Linux at home refer this article.
Windows users follow the instructions below.
1. Navigate to Control Panel\Network and Internet\Network and Sharing Center and click “Setup a new connection or network”.
Choose setup a new connection or network from Network and Sharing Center
2. Choose “Connect to a workplace” option and click next.
3. Under “How do you want to connect?” click “Use my internet connection (VPN)”.
4. Enter the public IP address or the FQDN of the VPN server configured previously, enter a name for the VPN connection, also check “Don’t connect now; just set it up so I can connect later” and click next.
5. In the final screen enter an username/password combination from the chap-secrets file, click create and close.
6. Back in the “Network and sharing center” from the top left click “Change Adapter Settings”.
7. Right-click the VPN connection created now, go to properties, choose the “Security” tab, under “Type of VPN” select “Point to Point Tunneling Protocol (PPTP)” and click OK.
8. Now click connect, fire your favourite browser and go to this page to check if you are using a different IP address.
Any problems/suggestions just comment below. Happy browsing .
Hire me to setup this PPTP VPN on your server.
Источник