Настройка соединения pptp в Linux

Обновлено: 21.11.2024

pptpclient — это программа, реализующая протокол Microsoft PPTP. Таким образом, его можно использовать для подключения к сети Microsoft VPN (или любой VPN на основе PPTP), предоставляемой учебным заведением или на рабочем месте.

Содержание

Установка

Настроить

Чтобы настроить pptpclient, вам необходимо получить у администратора сети следующую информацию:

  • IP-адрес или имя хоста VPN-сервера.
  • Имя пользователя, которое вы будете использовать для подключения.
  • Пароль, который вы будете использовать для подключения.
  • Доменное имя аутентификации (Windows). Для некоторых сетей в этом нет необходимости.

Вы также должны решить, как назвать туннель.

Настроить с помощью pptpsetup

Вы можете настроить и удалить туннели, запустив инструмент pptpsetup от имени пользователя root. Например:

Настроить вручную

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

Редактировать файл параметров

Файл /etc/ppp/options устанавливает параметры безопасности для вашего VPN-клиента. Если у вас возникли проблемы с подключением к сети, возможно, вам придется смягчить параметры. Как минимум, этот файл должен содержать опции lock, noauth, nobsdcomp и nodeflate.

Редактировать файл chap-secrets

Файл /etc/ppp/chap-secrets содержит учетные данные для аутентификации туннеля. Убедитесь, что никто, кроме root, не может прочитать этот файл, так как он содержит конфиденциальную информацию.

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

Замените каждый термин в квадратных скобках соответствующим значением. Опустите \\, если для вашего подключения не требуется домен.

Примечание. Заключите пароль в двойные кавычки ( " ), если он содержит специальные символы, такие как $ .

Назовите свой туннель

Файл /etc/ppp/peers/ содержит параметры настройки туннеля. это имя, которое вы хотите использовать для своего VPN-подключения. Файл должен выглядеть так:

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

в файле /etc/ppp/chap-secrets.

Примечание. Если вам не нужна поддержка MPPE, вам следует удалить опцию require-mppe-128 из этого файла и из /etc/ppp/options

Подключить

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

Если все настроено правильно, команда pon не должна завершаться. Убедившись в успешном подключении, вы можете завершить команду.

Примечание. В качестве дополнительной проверки вы можете запустить ip addr show и убедиться, что новое устройство ppp0 доступно.

Чтобы нормально подключиться к VPN, просто выполните:

Где находится имя туннеля, который вы установили ранее. Обратите внимание, что эту команду следует запускать от имени пользователя root.

Маршрутизация

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

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

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

Раздельное туннелирование

Пакеты с пунктом назначения в сети VPN должны направляться через интерфейс VPN (обычно ppp0 ). Для этого вы создаете маршрут:

Это направит весь трафик с пунктом назначения 192.168.10.* через интерфейс вашей VPN ( ppp0 ).

Направить весь трафик

Может оказаться желательным направить весь трафик через ваше VPN-подключение. Вы можете сделать это, запустив:

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

Направить весь трафик с помощью /etc/ppp/ip-up.d

Убедитесь, что скрипт является исполняемым.

Раздельное туннелирование на основе порта с помощью /etc/ppp/ip-up.d

Убедитесь, что скрипт является исполняемым и что таблица vpn добавлена ​​в /etc/iproute2/rt_tables

Отключить

Чтобы отключиться от VPN, выполните следующие действия:

имя вашего туннеля.

Создание демона VPN и подключение при загрузке

Эта статья или раздел устарели.

Вы можете создать простой демон для своего VPN-подключения, создав соответствующий сценарий /etc/rc.d/*:

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

Примечание. Функция stop этого скрипта не будет работать, если аргументы updetach и persist переданы в /usr/bin/pon при запуске pon.Причина этого в том, что скрипт /usr/bin/poff содержит ошибку при определении PID указанного процесса pppd, если в pon были переданы аргументы.

Чтобы решить эту проблему, вы можете исправить файл /usr/bin/poff, внеся следующие изменения в строку 93:

Примечание: мы вызываем pon в скрипте с двумя дополнительными аргументами: updetach и persist. Аргумент updetach блокирует pon до тех пор, пока соединение не будет установлено. Другой аргумент, persist , заставляет сеть автоматически переподключаться в случае сбоя. Для подключения при загрузке добавьте @ -vpn в конец массива DAEMONS в /etc/rc.conf .

Устранение неполадок

Если клиентские подключения продолжают истекать по тайм-ауту с сообщением «LCP: тайм-аут отправки Config-Requests», убедитесь, что GRE разрешен через клиентский брандмауэр. Для iptables необходимая команда:

В качестве альтернативы, если вы хотите разрешить только трафик PPTP, соответствующий запросу на подключение, поступающему с вашего локального компьютера, вы можете использовать вспомогательную функцию conntrack PPTP:

Вторая строка должна автоматически загружать необходимые для этого модули ядра nf_conntrack_pptp и nf_conntrack_proto_gre.

Если вы получаете сообщение «EAP: неизвестный тип аутентификации 26; Naking», откройте /etc/ppp/options.pptp и закомментируйте строки reject-chap и reject-mschap и добавьте запись файла опций в файл туннеля следующим образом:

Примечания

Дополнительную информацию о настройке pptpclient можно найти на их веб-сайте: веб-сайт pptpclient. Содержание этой статьи было адаптировано из Ubuntu How-To, в котором также содержатся некоторые советы о том, как выполнять такие действия, как подключение при загрузке. Эти примеры должно быть легко адаптировать к демонам или другим сценариям, чтобы помочь автоматизировать настройку.

Это краткое руководство поможет вам настроить VPN-соединение PPTP на вашем компьютере с Linux. Хорошо известно, что PPTP не является безопасным протоколом. Однако все еще есть варианты настройки PPTP в Linux. Но по возможности следует переключиться на альтернативный протокол VPN.

Настройка PPTP VPN в Linux [Обзор]

Настроить PPTP в Linux очень просто, и доступно несколько вариантов:

  • Вариант 1. Используйте Network Manager (GUI) для ручной настройки PPTP в Linux.
  • Вариант 2. Используйте командную строку (CLI) для большего контроля над настройкой PPTP.
  • Вариант 3. Установите клиентское приложение VPN для Linux.

Кроме того, вы можете рассмотреть более общее решение для настройки PPTP на вашем маршрутизаторе и подключения всех ваших устройств, которым требуется использование зашифрованного туннеля (включая ваши машины Linux), к маршрутизатору.

Что вы узнаете

Что такое PPTP и когда его использовать в Linux?

Протокол Microsoft Point-to-Point Tunneling Protocol (PPTP) устарел и небезопасен. Тем не менее, это может быть полезно для сокрытия вашего IP-адреса и изменения вашего местоположения, когда не используются конфиденциальные данные, такие как разблокировка потоковых каналов или доступ к игровым серверам.

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

PPTP больше нельзя настроить на iOS; на Mac вам нужно использовать некоторые обходные пути, но вы все равно можете использовать PPTP на Windows, для создания туннелей PPTP на Android и, конечно же, на Linux. Опять же, убедитесь, что вы используете PPTP только тогда, когда вас устраивает слабозащищенный VPN-туннель.

Как настроить PPTP VPN в Linux

Существует несколько вариантов настройки PPTP в Linux: от самого простого путем установки приложения VPN (виртуальная частная сеть) до более сложного с использованием командной строки. Вот доступные варианты.

Использовать диспетчер сети (графический интерфейс)

Настройка соединения PPTP с помощью графического интерфейса одинакова для различных дистрибутивов Linux, и это простой способ. Я собираюсь продемонстрировать установку на Ubuntu GNU/Linux (v20):

  1. Откройте приложение Настройки.
  2. Нажмите на панель Сетевые подключения в меню слева.
  3. Нажмите кнопку "+" (Добавить) рядом с VPN.

Использовать командную строку (CLI)

В большинстве дистрибутивов Linux клиент PPTP устанавливается по умолчанию. Однако, если его нет, вы можете установить его следующим образом:

  • В Debian/Ubuntu с помощью команды apt-get (pptp-linux — это PPTP-клиент командной строки, а network-manager-pptp< /em> — инструмент управления графическим интерфейсом):
  • В Fedora/CentOS, выполнив команду yum (проверьте документацию клиента PPTP для других дистрибутивов):

Далее вам нужно отредактировать или создать файлы конфигурации:

  • Файл секретов CHAP (/etc/ppp/chap-secrets) для аутентификации пользователя в канале VPN.
  • Файл конфигурации VPN-подключения (/etc/ppp/peers/vpnname) для добавления информации о подключении, такой как имя VPN-сервера, настройки шифрования и т. д.

Предположим, что вы хотите подключиться к PPTP-серверу со следующими данными подключения (вам нужно будет ввести свои собственные данные):

Выполните следующие шаги:

Синтаксис информации для аутентификации с использованием CHAP:

Таким образом, вам нужно ввести что-то вроде:

Сохраните и закройте файл chap-secrets.

  • Создайте файл, содержащий данные конфигурации туннеля (где pptp-us1 – это имя, которое вы будете использовать для подключения к VPN):
  • Добавьте в файл конфигурации следующие команды и параметры:

Обратите внимание, что вам необходимо заменить имя VPN-сервера (pptp-us1.vladtalks.tech), имя пользователя VPN (anonymousbat), имя файла подключения ( pptp-us1) с вашими данными.

  • Наконец, вам нужно направить весь трафик через интерфейс VPN. Запись должна быть добавлена ​​в таблицу маршрутизации.

Создайте следующий файл:

И добавьте код:

Сохранить и закрыть. Сделайте файл vpn-трафик исполняемым:

  • Теперь вы готовы подключиться к зашифрованному туннелю:
  • Чтобы отключить VPN, остановите процесс pppd:

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

Установите клиентское приложение VPN для Linux

Если вы ищете VPN-клиент для Linux, аналогичный простым в использовании и дружественным VPN-приложениям, доступным в Windows или macOS, вы будете разочарованы.

Крупные провайдеры VPN прекратили использование своих клиентов PPTP для всех операционных систем. Например, у Hide.me было клиентское приложение PPTP для Linux, но оно было прекращено в конце 2019 года.

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

Альтернативы PPTP VPN в Linux

PPTP — это не тот протокол, который вы хотите использовать для защиты своих VPN-соединений. Другие протоколы VPN безопаснее и надежнее, и их следует использовать в Linux:

    , новый протокол VPN, включен в ядро ​​Linux, и вы можете легко его настроить. отлично работает в Linux.
  • L2TP/IPSec можно настроить аналогично PPTP.

Обзор

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

Хотите узнать больше о VPN? Подписывайтесь на нашу новостную рассылку! Это сделает трансильванскую летучую мышь 🦇счастливой.

Об авторе

Адриан Роман

Постоянный пользователь VPN, прокси-сервера и Smart DNS, соучредитель ibVPN, бывший менеджер продукта ibVPN, исследователь безопасности данных.

Настройка подключения к VPN-клиенту — это простое действие в ОС Windows, но в Linux это включает в себя установку пакета, настройку паролей, параметров VPN-сервера и, наконец, маршрутизацию трафика, предназначенного для сети VPN, через VPN-подключение. . Пакет с именем pptp используется на стороне клиента для настройки соединения. Чтобы настроить VPN-сервер, прочитайте Как настроить VPN-сервер в Windows Server 2008. Это руководство предназначено как для вариантов Debian Linux, так и для вариантов Red Hat Linux.

Установка PPTP-клиента Fedora/Red Hat/CentOS

Установите клиент pptp

ням установить pptp

Установка PPTP-клиента Debian/Ubuntu

Используйте команду apt-get

apt-get установить pptp-linux

Настройка учетных данных VPN и параметров сервера

Отредактируйте следующий файл и введите имя пользователя и пароль VPN

Синтаксис файла следующий

ДОМЕН\\имя пользователя PPTP vpnпароль *

ПРИМЕР\\jesin PPTP pass1 *

Если ваша сеть VPN не относится к домену, замените DOMAIN своим именем VPNSERVER.

Далее необходимо настроить параметры VPN-сервера. Создайте и отредактируйте новый файл в каталоге одноранговых узлов

Добавьте контент в соответствии с приведенным ниже синтаксисом

pty "pptp vpn-server-hostname-or-ip-address --nolaunchpppd"
имя ДОМЕН\\имя пользователя
удаленное имя PPTP
require-mppe-128
файл /etc/ppp/options.pptp
ipparam vpnconnection1

Здесь «ДОМЕН\\имя_пользователя» совпадает с введенным в файле chap-secrets. ipparam должен содержать имя вновь созданного файла, в данном случае это «vpnconnection1»

Добавление маршрута в таблицу маршрутизации

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

Добавить следующий контент

Сделать файл исполняемым

chmod +x /etc/ppp/ip-up.d/vpn1-route

Проверка соединения

Чтобы подключиться с помощью только что созданного VPN-подключения, используйте следующую команду

pppd вызывает vpnconnection1

Просмотрите файл журнала сообщений с помощью следующей команды

tail -f /var/log/messages

вы должны увидеть что-то похожее на это

Попробуйте пропинговать систему в сети VPN, и вы должны получить правильные ответы.

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

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

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

Наиболее популярными VPN-решениями являются OpenVPN и PPTP. Мы будем использовать PPTP. Прежде чем мы продолжим и настроим нашу собственную сеть VPN, у нас должен быть один компьютер, который будет сервером VPN. Этот компьютер будет отвечать за назначение IP-адресов клиентам, установление начального соединения между клиентами или между клиентом и сервером, обработку протоколов безопасности и аутентификацию пользователей/клиентов. Чтобы установить PPTP, мы выполним следующую команду:

В качестве альтернативы, если мы используем CentOS, мы должны выполнить:

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

В этом случае 172.16.0.1 — это IP-адрес, который будет использоваться VPN-сервером внутри VPN, а IP-адрес из диапазона 172.16.0.100-200 будет назначен каждому клиенту, который будет аутентифицирован.

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

Чтобы создать новый клиент с именем client1, который сможет использовать сервер pptpd из любого места, используя пароль password1, мы должны добавить следующую строку, в следующем случае звездочка означает, что любой IP-адрес может использовать этот логин. информация:

Последнее, что нам нужно сделать перед запуском нашего VPN-сервера, — это добавить DNS-сервер. Мы можем добавить DNS-серверы, предоставленные интернет-провайдером, или мы можем использовать DNS-серверы Google и вставить их в файл.

Теперь мы можем запустить демон pptpd с помощью команды:

Чтобы убедиться, что он работает и ожидает входящие соединения, мы должны выполнить:

Вывод должен выглядеть примерно так:

Чтобы VPN-сервер работал правильно и мог пересылать запросы, мы должны убедиться, что в /etc/systl.conf существует следующая строка.

Если он не существует, нам нужно добавить его, а затем применить конфигурацию с помощью следующей команды:

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

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

Чтобы клиентский компьютер мог подключиться к нашему VPN-серверу, мы должны установить клиент PPTP с помощью следующей команды (первая для CentOS, вторая для Debian/Ubuntu):

Клиент VPN запрашивает модуль ppp_mppe, поэтому нам нужно его загрузить:

Конфигурация клиента должна быть создана в папке /etc/ppp/peers/. Чтобы настроить параметры сервера, который мы хотим использовать, мы должны создать файл конфигурации с помощью нашего любимого редактора и установить следующие параметры (сейчас мы на client1):

Если наши конфигурационные файлы в приведенном выше примере были названы /etc/ppp/peers/vpnserver , то для того, чтобы запустить клиент и подключиться к VPN-серверу, мы должны выполнить:

После запуска клиента проверьте файлы журнала на наличие возможных ошибок или информацию об успешном подключении, используя следующую команду:

Мы должны явно указать правильную маршрутизацию для VPN-трафика на наших клиентах:

Хотели бы вы узнать о Zuul, инструменте управления проектами CI/CD? Скачайте нашу белую книгу и читайте!

Мохаммед Насер 2020-10-29T19:59:22+00:00 17 февраля 2014 г. | Комментарии отключены о том, как настроить собственный VPN с помощью PPTP в Linux (CentOS, Ubuntu, Debian)

Об авторе: Мохаммед Насер

Генеральный директор VEXXHOST днем ​​и активный участник проектов с открытым исходным кодом ночью, Мохаммед вносит свой вклад в проекты от OpenStack до Ansible, где он является PTL. Мохаммед имеет опыт работы с инфраструктурой, развертывая, запуская и управляя облаками OpenStack более десяти лет. Вы можете найти его в Твиттере, где, как вы уже догадались, он рассказывает о проектах с открытым исходным кодом.

Читайте также: