Документация: ПО Факел — разрабатываемая версия

Сервер PPTP

Обзор

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

По умолчанию, если не задана иная конфигурация, для аутентификации разрешены протоколы PAP, CHAP, MS-CHAP и MS-CHAP v2 (параметр authentication protocols), а использование шифрования MPPE запрашивается у клиента, но при его отказе соединение сохраняется (параметр ppp-options mppe, значение prefer).

Адрес шлюза (gateway-address) необходимо задать явно: если он не задан, при проверке конфигурации выводится предупреждение.

Контроль работы

Состояние сервера PPTP отображают команды режима «Администрирование»: show pptp-server sessions выводит установленные соединения (интерфейс, имя пользователя, адрес клиента, время работы и счетчики переданных данных), show pptp-server statistics — сводную статистику сервера. Если сервер PPTP не настроен (vpn pptp remote-access), команды выводят сообщение Service pptp is not configured, если служба не запущена — pptp server is not running.

Сеансы сервера PPTP завершают команды reset vpn pptp: все сеансы (all), сеанс на указанном интерфейсе (interface) или сеансы указанного пользователя (user). Команды доступны только пользователю уровня «Администратор» (см. Уровни пользователей).

Пример настройки

Пример настройки на стороне сервера

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

Шаг

Команда

Описание

1

set vpn pptp remote-access authentication local-users username test password test

Создает локального пользователя test с паролем test

2

set vpn pptp remote-access authentication mode local

Включает локальную аутентификацию пользователей

3

set vpn pptp remote-access client-ip-pool PPTP-POOL range 192.168.0.10-192.168.0.15

Создает пул адресов клиентов PPTP-POOL и задает диапазон его адресов

4

set vpn pptp remote-access default-pool PPTP-POOL

Задает пул PPTP-POOL пулом адресов клиентов по умолчанию

5

set vpn pptp remote-access gateway-address 10.100.100.1

Задает адрес шлюза, который передается клиентам

6

set vpn pptp remote-access outside-address 10.1.1.120

Задает внешний адрес, к которому подключаются VPN клиенты

Пример настройки на стороне клиента

В данном примере рассматривается настройка PPTP клиента в операционной среде Debian 9.

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

apt-get install pptp-linux
pptpsetup --create TESTTUNNEL --server 10.1.1.120 --username test --password test --encrypt
pon TESTTUNNEL

Команда pon TESTTUNNEL позволяет установить PPTP туннель с удаленным хостом (PPTP сервером).

Текущее состояние сессий (туннелей) можно вывести на экран командой show pptp-server sessions в режиме Администрирования.

Пример работы команды show pptp-server sessions:

fakel@fakel:~$ show pptp-server sessions
ifname | username |      ip      | ip6 | ip6-dp | calling-sid | rate-limit | state  |  uptime  | rx-bytes | tx-bytes
-------+----------+--------------+-----+--------+-------------+------------+--------+----------+----------+---------
pptp0  | test     | 192.168.0.10 |     |        | 10.1.1.99   |            | active | 00:00:58 | 3.1 KiB  | 2.8 KiB

Список команд


Режим «Конфигурирование»


vpn pptp remote-access authentication local-users username <username> password <password>

Описание:
Создает локального пользователя и задает его пароль. Локальные пользователи используются при аутентификации в режиме local.

Синтаксис:

  • set vpn pptp remote-access authentication local-users username <username> password <password>

  • delete vpn pptp remote-access authentication local-users username <username> password <password>

  • show vpn pptp remote-access authentication local-users username <username> password

Аргументы:

  • <username> — имя пользователя. Формат: строка.

  • <password> — пароль пользователя. Формат: строка.

Режим: «Конфигурирование».


vpn pptp remote-access authentication mode <mode>

Описание:
Задает режим аутентификации пользователей на сервере PPTP.
В режиме local необходимо настроить хотя бы одного локального пользователя с паролем и хотя бы один пул адресов клиентов. В режиме radius необходимо настроить хотя бы один RADIUS сервер с ключом.

Синтаксис:

  • set vpn pptp remote-access authentication mode <mode>

  • delete vpn pptp remote-access authentication mode <mode>

  • show vpn pptp remote-access authentication mode

Аргументы:

  • <mode> — режим аутентификации. Возможные значения: local — локальные пользователи, заданные в конфигурации; radius — пользователи RADIUS сервера; noauth — аутентификация отключена. Значение по умолчанию: local.

Режим: «Конфигурирование».


vpn pptp remote-access client-ip-pool <client-ip-pool> range <range>

Описание:
Создает пул IP-адресов, которые выдаются VPN клиентам, и задает диапазон адресов пула.
Для режимов аутентификации local и noauth необходимо настроить хотя бы один пул адресов клиентов (IPv4 или IPv6).

Синтаксис:

  • set vpn pptp remote-access client-ip-pool <client-ip-pool> range <range>

  • delete vpn pptp remote-access client-ip-pool <client-ip-pool> range <range>

  • show vpn pptp remote-access client-ip-pool <client-ip-pool> range

Аргументы:

  • <client-ip-pool> — имя пула адресов клиентов. Формат: строка.

  • <range> — диапазон адресов пула. Формат: IPv4-префикс (x.x.x.x/x) или диапазон IPv4-адресов внутри сети /24 (x.x.x.x-x.x.x.x). Можно задать несколько значений.

Режим: «Конфигурирование».


vpn pptp remote-access default-pool <default-pool>

Описание:
Задает пул адресов клиентов, из которого адреса выдаются по умолчанию.
Пул с этим именем должен быть создан командой client-ip-pool. В режимах аутентификации local и noauth при заданных пулах адресов и незаданном пуле по умолчанию выводится предупреждение.

Синтаксис:

  • set vpn pptp remote-access default-pool <default-pool>

  • delete vpn pptp remote-access default-pool <default-pool>

  • show vpn pptp remote-access default-pool

Аргументы:

  • <default-pool> — имя пула адресов клиентов. Формат: строка.

Режим: «Конфигурирование».


vpn pptp remote-access gateway-address <gateway-address>

Описание:
Задает IP-адрес шлюза по умолчанию, который передается клиенту.
Если параметр не задан, при проверке конфигурации выводится предупреждение о необходимости его настроить.

Синтаксис:

  • set vpn pptp remote-access gateway-address <gateway-address>

  • delete vpn pptp remote-access gateway-address <gateway-address>

  • show vpn pptp remote-access gateway-address

Аргументы:

  • <gateway-address> — IP-адрес шлюза. Формат: IPv4-адрес (x.x.x.x).

Режим: «Конфигурирование».


vpn pptp remote-access outside-address <outside-address>

Описание:
Задает внешний IP-адрес, к которому подключаются VPN клиенты.

Синтаксис:

  • set vpn pptp remote-access outside-address <outside-address>

  • delete vpn pptp remote-access outside-address <outside-address>

  • show vpn pptp remote-access outside-address

Аргументы:

  • <outside-address> — внешний IP-адрес сервера. Формат: IPv4-адрес (x.x.x.x).

Режим: «Конфигурирование».


Режим «Администрирование»


pptp-server sessions

Описание:
Показывает список установленных PPTP соединений (активных сеансов) и их параметры.

Синтаксис:

  • show pptp-server sessions

Режим: «Администрирование».


pptp-server statistics

Описание:
Показывает сводную статистику сервера PPTP: время работы службы, использование ресурсов и число сеансов в разных состояниях. Если сервер PPTP не настроен, выводит сообщение Service pptp is not configured.

Синтаксис:

  • show pptp-server statistics

Режим: «Администрирование».


reset vpn pptp all

Описание:
Завершает все сеансы сервера PPTP.

Синтаксис:

  • reset vpn pptp all

Режим: «Администрирование».

Уровень привилегий: «Администратор».


reset vpn pptp interface <interface>

Описание:
Завершает сеанс сервера PPTP на указанном интерфейсе.

Синтаксис:

  • reset vpn pptp interface <interface>

Аргументы:

  • <interface> — имя интерфейса сеанса. Формат: строка.

Режим: «Администрирование».

Уровень привилегий: «Администратор».


reset vpn pptp user <user>

Описание:
Завершает сеансы сервера PPTP указанного пользователя.

Синтаксис:

  • reset vpn pptp user <user>

Аргументы:

  • <user> — имя пользователя. Формат: строка.

Режим: «Администрирование».

Уровень привилегий: «Администратор».