Windows vpn pptp на linux

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

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

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

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

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

apt-get install pptpd

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

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

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

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

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

где 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-сервера и ранее созданные логин и пароль.
Наслаждайтесь результатом своей работы.

Источник

Как настроить VPN с помощью PPTP

Введение

Один из часто задаваемых нашими пользователями вопросов — как добавить другой IP-адрес к их серверу. Вы можете назначить свой приватный IP-адрес Вашему дроплету путем создания VPN-туннеля. Для построения своей собственной виртуальной частной сети (VPN) или присвоения SSL-сертификата этому IP-адресу существует несколько вариантов. Из всех возможных вариантов наиболее оптимальным является выбор между PPTP и OpenVPN. Point-To-Point Tunneling Protocol (PPTP) позволяет Вам поднять свой VPN очень быстро и является совместимым с большинством мобильных устройств. И хотя PPTP менее безопасен, чем OpenVPN, он быстрее и использует меньше ресурсов процессора.

Шаг 1 — Установка PPTP

Вам необходимо выбрать один сервер, который будет отвечать за раздачу IP-адресов другим серверам и авторизацию всех Ваших серверов в Вашей VPN. Он и станет Вашим PPTP-сервером.

На CentOS 6 x64:

На Ubuntu 12.10 x64:

Теперь необходимо отредактировать файл /etc/pptpd.conf , добавив в него следующие строчки:

В данном случае, localip — это IP-адрес вашего сервера, а remoteip — IP-адреса, которые будут присваиваться клиентам, которые в ним соединяются.

Затем Вам необходимо настроить авторизацию для PPTP путем добавления пользователей и их паролей. Просто добавьте их в /etc/ppp/chap-secrets :

Здесь сlient — это имя пользователя (логин), server — тип сервиса (в нашем примере — pptpd), secret — пароль, а в IP addresses указывается, какие IP-адреса могут авторизоваться (с данным логином и паролем). Установив в поле IP-адресов звёздочку * Вы указываете, что данная пара логин/пароль должна приниматься с любого IP.

Шаг 2 — Добавление DNS-серверов в /etc/ppp/pptpd-options

Теперь Вы можете запустить PPTP-демон:

Проверьте, что он работает и принимает соединения:

Шаг 3 — Настройка форвардинга (Forwarding)

Очень важно включить форвардинг IP на Вашем PPTP-сервере. Это позволит Вам пересылать пакеты между публичным IP и приватными IP, которые Вы настроили при помощи PPTP. Просто отредактируйте /etc/sysctl.conf , добавив туда следующую строку, если ее там еще не было:

Читайте также:  Как открыть заднюю крышку принтера ecosys

Для применения изменений выполните команду sysctl -p

Шаг 4 — Создание NAT-правил для iptables

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

Теперь Ваш PPTP-сервер также работает и как роутер.

Если Вы хотите установить ограничение на то, какие сервера могут соединяться с Вашими дроплетами, Вы можете задать правило для IP-таблиц, которое ограничивает TCP-соединения к порту 1723.

Шаг 5 — Настройка клиентов

Установите PPTP-клиент на Ваших клиентских серверах:

Шаг 6 — Добавление необходимого модуля ядра

Создайте новый файл /etc/ppp/peers/pptpserver и добавьте туда следующие строчки, заменяя имя и пароль Вашими значениями:

Здесь 198.211.104.17 — публичный IP-адрес нашего PPTP-сервера, box1 и 24oiunOi24 — это пара логин/пароль, которые мы задали в файле /etc/ppp/chap-secrets на нашем PPTP-сервере.

Теперь мы можем “вызывать” этот PPTP-сервер. В следующей команде необходимо использовать имя, которое Вы дали файлу с пирами (peers) в директории /etc/ppp/peers/ . Поскольку в нашем примере мы назвали этот файл pptpserver , наша команда выглядит следующим образом:

Вы должны увидеть успешное подключение в логах PPTP-сервера:

На Вашем PPTP-клиенте настройте маршрутизацию на Вашу приватную сеть через интерфейс ppp0:

Ваш интерфейс ppp0 должен быть настроен, что можно проверить путем запуска ifconfig

Теперь Вы можете сделать пинг к Вашему PPTP-серверу и любым другим клиентам, подключенным к этой сети:

Мы можем добавить второй PPTP-клиент к этой сети:

Добавьте необходимые строки в файл /etc/ppp/peers/pptpserver (заменяя логины и пароли своими):

Теперь на втором клиенте выполните следующие команды:

Вы можете сделать пинг к первому клиенту, при этом пакеты будут идти через PPTP-сервер и перенаправляться по правилам ip-таблиц, которые мы задали ранее:

Такая настройка позволит Вам создать Вашу собственную виртуальную частную сеть:

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

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

Поскольку трафик внутри сети шифруется 128-битным шифрованием, PPTP меньше нагружает процессор, чем OpenVPN, но все же обеспечивает дополнительный уровень безопасности Вашего трафика.

Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in our Questions & Answers section, find tutorials and tools that will help you grow as a developer and scale your project or business, and subscribe to topics of interest.

Источник

Windows vpn pptp на linux

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

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

В тестовой среде в качестве сервера используется виртуальный сервер под управлением операционной системы Ubuntu Server 18.04. Брандмауэр на сервере отключен, так как его настройка не рассматривается в данной статье. Настройка клиентской части описана на примере Windows 10.

Подготовительные операции

Независимо от того, какой из вариантов VPN сервера вы предпочтете, доступ клиентов в Интернет будет реализован штатными средствами операционной системы. Для того, чтобы из внутренней сети открыть доступ в Интернет через внешний интерфейс сервера необходимо разрешить пересылку пакетов между интерфейсами (форвардинг пакетов), и настроить трансляцию адресов.

Читайте также:  Linux список активных сетевых соединений

Для включения форвардинга пакетов откроем файл “/etc/sysctl.conf” и изменим значение параметра “net.ipv4.ip_forward” на 1.

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

sudo sysctl -p /etc/sysctl.conf

Трансляция адресов настраивается средствами iptables. Предварительно уточним имя внешнего сетевого интерфейса, выполнив команду “ip link show”, оно понадобится на следующем шаге. В нашем случае имя интерфейса “ens3”.

Включаем трансляцию адресов на внешнем интерфейсе для всех узлов локальной сети.

sudo iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE

Обратите внимание, что в команде необходимо указать реальное имя сетевого интерфейса. На вашем сервере оно может отличаться.

По умолчанию все созданные правила iptables сбрасываются после перезагрузки сервера, для того, чтобы этого избежать, воспользуемся утилитой “iptables-persistent” Устанавливаем пакет.

sudo apt install iptables-persistent

В процессе установки откроется окно конфигурации, в котором система предложит сохранить текущие правила iptables. Так как правила уже настроены, соглашаемся и дважды нажимаем “Yes”. Теперь, после перезагрузки сервера правила будут восстанавливаться автоматически.

1. PPTP сервер

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

sudo apt install pptpd

После завершения установки открываем в любом текстовом редакторе файл “/etc/pptpd.conf” и приводим его к следующему виду.

option /etc/ppp/pptpd-options #путь к файлу с настройками
logwtmp #механизм логирования клиентских подключений
connections 100 #количество одновременных подключений
localip 172.16.0.1 #адрес, который будет шлюзом для клиентов
remoteip 172.16.0.2-200 #диапазон адресов для клиентов

Далее редактируем файл “/etc/ppp/pptpd-options”, большинство параметров уже установлены по умолчанию.

#имя сервиса, потребуется при создании учетных записей для клиентов
name pptpd

#запрещаем устаревшие методы аутентификации
refuse-pap
refuse-chap
refuse-mschap

#разрешаем более надежный метод аутентификации
require-mschap-v2

#включаем шифрование
require-mppe-128

#указываем dns сервера для клиентов, можно указать любые доступные
ms-dns 8.8.8.8
ms-dns 8.8.4.4

proxyarp
nodefaultroute
lock
nobsdcomp
novj
novjccomp
nologfd

На следующем этапе необходимо создать учетную запись для подключения клиентов. Предположим, мы хотим добавить пользователя “vpnuser”, с паролем “1” и разрешить для него динамическую адресацию. Открываем файл “/etc/ppp/chap-secrets” и добавляем в конец строку с параметрами пользователя.

vpnuser pptpd 1 *

Значение “pptpd” это имя сервиса, которое мы указали в файле “pptpd-options”. Вместо символа “*” для каждого клиента можно указать фиксированный ip-адрес. В результате содержимое файла “chap-secrets” будет таким.

Для применения настроек перезагружаем службу pptpd и добавляем её в автозагрузку.

sudo systemctl restart pptpd
sudo systemctl enable pptpd

Настройка сервера завершена.

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

Открываем “Пуск” — “Параметры” — “Сеть и интернет” — “VPN” и нажимаем “Добавить VPN-подключение”

В открывшемся окне вводим параметры подключения и нажимаем “Сохранить”

  • Поставщик услуг VPN: “Windows (встроенные)”
  • Имя подключения: “vpn_connect” (можно ввести любое)
  • Имя или адрес сервера: (указываем внешний ip адрес сервера)
  • Тип VPN: “Автоматически”
  • Тип данных для входа: “Имя пользователя и пароль”
  • Имя пользователя: vpnuser (имя, которое указано в файле “chap-secrets” на сервере)
  • Пароль: 1 (так же из файла “chap-secrets”)

После сохранения параметров, в окне VPN появится новое подключение. Щелкаем по нему левой кнопкой мыши и нажимаем “Подключиться”. При успешном соединении с сервером, на значке подключения появится надпись “Подключено”.

В свойствах подключения отображаются внутренние адреса клиента и сервера. В поле “Адрес назначения” указан внешний адрес сервера.

При установленном соединении внутренний ip-адрес сервера, в нашем случае 172.16.0.1, становится шлюзом по умолчанию для всех исходящих пакетов.

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

2. OpenVPN сервер

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

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

Устанавливаем необходимые пакеты. Пакет “Easy-RSA” нужен для управления ключами шифрования.

apt install openvpn easy-rsa

Создаем символическую ссылку на конфигурационный файл OpenSSL, в противном случае система выдаст ошибку при загрузке переменных.

ln -s /usr/share/easy-rsa/openssl-1.0.0.cnf /usr/share/easy-rsa/openssl.cnf

Переходим в рабочий каталог утилиты easy-rsa, загружаем переменные и очищаем старые конфигурации.

cd /usr/share/easy-rsa/
source ./vars
./clean-all

Читайте также:  Как заправлять картриджи ксерокс 3119

Приступаем к созданию ключей. Генерируем ключ Диффи-Хеллмана, процесс может занять некоторое время.

Генерируем центр сертификации.

В процессе необходимо ответить на вопросы и ввести информацию о владельце ключа. Вы можете оставить значения по умолчанию, которые указаны в квадратных скобках. Для завершения ввода нажимаем “Enter”.

Генерируем ключи для сервера, в качестве аргумента указываем произвольное название, в нашем случае это “vpn-server”

Как и на предыдущем шаге отвечаем на вопросы или оставляем значения по умолчанию. На завершающем этапе дважды нажимаем “y”.

Генерация ключей сервера завершена, все файлы находятся в папке “/usr/share/easy-rsa/keys”.

Создадим в рабочем каталоге OpenVPN папку “keys” для хранения ключей и скопируем туда необходимые файлы.

mkdir /etc/openvpn/keys
cp ca.crt dh2048.pem vpn-server.key vpn-server.crt /etc/openvpn/keys/

Копируем и распаковываем в каталог “/etc/openvpn/” шаблон конфигурационного файла.

cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
gzip -d /etc/openvpn/server.conf.gz

Открываем на редактирование файл “/etc/openvpn/server.conf” и убеждаемся в наличии следующих строк, при необходимости корректируем.

#Порт, протокол и интерфейс
port 1194
proto udp
dev tun

#Путь к ключам шифрования
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/vpn-server.crt
key /etc/openvpn/keys/vpn-server.key
dh /etc/openvpn/keys/dh2048.pem

#Сетевые параметры
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist /var/log/openvpn/ipp.txt
push «redirect-gateway def1 bypass-dhcp»
push “dhcp-option DNS 8.8.8.8”
push “dhcp-option DNS 8.8.4.4”

#Отключаем дополнительное шифрование
#tls-auth ta.key 0

#Включаем компрессию
compress lz4-v2
push «compress lz4-v2»

#Понижаем привилегии службы OpenVPN после запуска
user nobody
group nogroup

#Включаем сохранение параметров после перезапуска
persist-key
persist-tun

#Перенаправляем логи
log /var/log/openvpn/openvpn.log

Остальные параметры оставляем без изменений.
Перезапускаем службу OpenVPN для применения конфигурации.

systemctl restart openvpn

Настройка сервера завершена!

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

Заходим на официальный сайт проекта “https://openvpn.net”, переходим в раздел “COMUNITY”“DOWNLOADS”

и скачиваем инсталлятор для своей версии операционной системы. В нашем случае это Windows 10.

Устанавливаем приложение, оставляя все параметры по умолчанию.

На следующем этапе необходимо подготовить на сервере и передать на компьютер клиента следующие файлы:

  • публичный и приватный ключи;
  • копия ключа центра сертификации;
  • шаблон конфигурационного файла.

Подключаемся к серверу, повышаем права,переходим в рабочий каталог утилиты “easy-rsa” и загружаем переменные.

sudo -s
cd /usr/share/easy-rsa/
source ./vars

Генерируем ключевую пару для клиента, в качестве аргумента указываем произвольное имя, в нашем случае “client1”.

Отвечая на вопросы вводим свои данные или просто нажимаем “ENTER”, оставляя значения по умолчанию. После этого дважды нажимаем “y”

Сгенерированные ключи клиента также находятся в папке “/usr/share/easy-rsa/keys/” Для удобства создадим в домашнем каталоге папку “client1” и скопируем в нее все файлы предназначенные для переноса на клиентский компьютер.

cd /usr/share/easy-rsa/keys/
mkdir

/client1
cp client1.crt client1.key ca.crt

Скопируем в эту же папку шаблон клиентского конфигурационного файла. При копировании меняем расширение файла на “ovpn”.

Изменим владельца каталога

/client1/” и всех файлов находящихся в нем, для того, чтобы получить возможность перенести их на клиентский компьютер. В нашем случае сделаем владельцем пользователя “mihail”

chown -R mihail:mihail

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

/client1/” любым доступным способом, например с помощью утилиты “PSCP”, которая входит в состав клиента Putty.

PSCP -r [email protected][IP_сервера]:/home/mihail/client1 c:\client1

Файлы ключей “ca.crt”, “client1.crt”, “client1.key” можно хранить в любом месте, в нашем случае это папка “c:\Program Files\OpenVPN\keys”, а конфигурационный файл “client.ovpn” переносим в директорию “c:\Program Files\OpenVPN\config”.

Приступаем к конфигурированию клиента. Открываем в блокноте файл “c:\Program Files\OpenVPN\config\client.ovpn” и отредактируем следующие строки

#Сообщаем, что мы являемся клиентом
client

#Интерфейс и протокол так же как на сервере
dev tun
proto udp

#IP адрес сервера и порт
remote ip_адрес_сервера 1194

#сохранение параметров при перезапусках
persist-key
persist-tun

#Путь к ключам
ca “c:\\Program Files\\OpenVPN\\keys\\ca.cert”
cert “c:\\Program Files\\OpenVPN\\keys\\client1.crt”
key “c:\\Program Files\\OpenVPN\\keys\\client1.key”

#Включаем проверку подлинности сервера
remote-cert-tls server

#Отключаем дополнительное шифрование
#tls-auth ta.key 1

cipher AES-256-CBC
comp-lzo
auth-nocache
verb 3

Остальные параметры оставляем без изменений.

Сохраняем файл и запускаем клиентское приложение “OpenVPN GUI”.


Для подключения к серверу щелкаем правой кнопкой мыши на иконке в трее и выбираем “Подключиться”. При успешном соединении иконка станет зеленого цвета.

С помощью любого онлайн сервиса убеждаемся, что внешний ip адрес клиента изменился и совпадает с IP адресом сервера.

Источник

Поделиться с друзьями
КомпСовет
Adblock
detector