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

Сервер L2TP

Обзор

L2TP сервер ПО Факел может использоваться как с локальной аутентификацией, так и совместно с подключенным сервером RADIUS (см. Аутентификация RADIUS).

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

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

IPsec с использованием L2TP

Пример настройки простого использования протокола L2TP поверх стека протоколов IPsec для защищенного удаленного доступа (VPN).

В данном примере предполагается, что внешний адрес сервера 192.0.2.2 принадлежит интерфейсу eth0, а клиентам выдаются адреса из диапазона 192.168.255.2 - 192.168.255.254.

Настройка L2TP:

Шаг

Команда

Описание

1

set vpn ipsec interface eth0

Задает интерфейс eth0 для IPsec

2

set vpn l2tp remote-access outside-address 192.0.2.2

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

3

set vpn l2tp remote-access gateway-address 192.168.255.1

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

4

set vpn l2tp remote-access client-ip-pool L2TP-POOL range 192.168.255.2-192.168.255.254

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

5

set vpn l2tp remote-access default-pool L2TP-POOL

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

6

set vpn l2tp remote-access ipsec-settings authentication mode pre-shared-secret

Включает аутентификацию IPsec по общему секретному ключу

7

set vpn l2tp remote-access ipsec-settings authentication pre-shared-secret MYSECRETKEY

Задает общий секретный ключ MYSECRETKEY

8

set vpn l2tp remote-access authentication mode local

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

9

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

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

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

  • Номер порта UDP 500 (для протокола IKE);

  • Номер протокола IP 50 (для протокола ESP);

  • Номер порта UDP 1701 (для протокола L2TP);

  • Номер порта UDP 4500 (для механизма NAT-Traversal).

Разрешение сетевого трафика по порту UDP 4500 необходимо для работы механизма NAT-Traversal (NAT-T), когда между VPN сервером и VPN клиентом находится шлюз, выполняющий трансляцию адресов (NAT). В этом случае сетевые пакеты ESP дополнительно упаковываются в UDP для обеспечения работы стека протоколов IPsec.

Настройка локальной политики межсетевого экрана:

Шаг

Команда

Описание

1

set firewall ipv4 input filter rule 40 action accept

Создает правило 40 в цепочке input с действием accept

2

set firewall ipv4 input filter rule 40 protocol esp

Применяет правило 40 к протоколу ESP

3

set firewall ipv4 input filter rule 41 action accept

Создает правило 41 с действием accept

4

set firewall ipv4 input filter rule 41 destination port 500

Применяет правило 41 к порту назначения 500 (IKE)

5

set firewall ipv4 input filter rule 41 protocol udp

Применяет правило 41 к протоколу UDP

6

set firewall ipv4 input filter rule 42 action accept

Создает правило 42 с действием accept

7

set firewall ipv4 input filter rule 42 destination port 4500

Применяет правило 42 к порту назначения 4500 (NAT-T)

8

set firewall ipv4 input filter rule 42 protocol udp

Применяет правило 42 к протоколу UDP

9

set firewall ipv4 input filter rule 43 action accept

Создает правило 43 с действием accept

10

set firewall ipv4 input filter rule 43 destination port 1701

Применяет правило 43 к порту назначения 1701 (L2TP)

11

set firewall ipv4 input filter rule 43 protocol udp

Применяет правило 43 к протоколу UDP

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

Настройка правила трансляции:

Шаг

Команда

Описание

1

set nat source rule 110 outbound-interface name eth0

Задает исходящий интерфейс eth0 для правила 110

2

set nat source rule 110 source address 192.168.255.0/24

Задает сеть клиентов, адреса которых транслируются

3

set nat source rule 110 translation address masquerade

Включает трансляцию адресов источника в адрес исходящего интерфейса

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

Настройка DNS серверов для VPN клиентов:

Шаг

Команда

Описание

1

set vpn l2tp remote-access name-server 198.51.100.8

Добавляет DNS сервер 198.51.100.8 в список серверов для клиентов

2

set vpn l2tp remote-access name-server 198.51.100.4

Добавляет DNS сервер 198.51.100.4 в список серверов для клиентов

Список установленных соединений можно посмотреть с помощью команды show l2tp-server sessions в режиме Администрирования.

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

fakel@fakel:~$ show l2tp-server sessions
ifname | username |       ip      | ip6 | ip6-dp | calling-sid  | rate-limit | state  |  uptime  | rx-bytes | tx-bytes
-------+----------+---------------+-----+--------+--------------+------------+--------+----------+----------+---------
l2tp0  | test     | 192.168.255.2 |     |        | 192.168.0.36 |            | active | 00:06:13 | 3.1 KiB  | 2.8 KiB

Сервер доступа LNS (L2TP Network Server)

Сервер доступа LNS зачастую используется для подключения к серверу LAC (L2TP Access Concentrator).

В приведенном примере в качестве внешнего IP адреса используется 192.0.2.2. Для сервера LAC обычно требуется пароль аутентификации, который в приведенной в примере конфигурации задан как lns shared-secret secret. Данная настройка требует отключения протокола управления сжатием (Compression Control Protocol, CCP), что достигается командой set vpn l2tp remote-access ppp-options disable-ccp.

Настройка сервера доступа LNS:

Шаг

Команда

Описание

1

set vpn l2tp remote-access outside-address 192.0.2.2

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

2

set vpn l2tp remote-access gateway-address 192.168.255.1

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

3

set vpn l2tp remote-access client-ip-pool L2TP-POOL range 192.168.255.2-192.168.255.254

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

4

set vpn l2tp remote-access default-pool L2TP-POOL

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

5

set vpn l2tp remote-access lns shared-secret secret

Задает пароль туннеля secret, который используется для аутентификации клиента (LAC)

6

set vpn l2tp remote-access ppp-options disable-ccp

Отключает протокол управления сжатием (CCP)

7

set vpn l2tp remote-access authentication mode local

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

8

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

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

Ограничение полосы пропускания

Лимиты пропускной способности могут быть установлены как для локальных пользователей так и для пользователей RADIUS с помощью специальных атрибутов (см. Аутентификация RADIUS).

Настройка ограничений полосы пропускания для локальных пользователей:

Шаг

Команда

Описание

1

set vpn l2tp remote-access outside-address 192.0.2.2

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

2

set vpn l2tp remote-access gateway-address 192.168.255.1

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

3

set vpn l2tp remote-access client-ip-pool L2TP-POOL range 192.168.255.2-192.168.255.254

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

4

set vpn l2tp remote-access default-pool L2TP-POOL

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

5

set vpn l2tp remote-access authentication mode local

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

6

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

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

7

set vpn l2tp remote-access authentication local-users username test rate-limit download 20480

Ограничивает полосу пропускания download для пользователя test значением 20480 кбит/с

8

set vpn l2tp remote-access authentication local-users username test rate-limit upload 10240

Ограничивает полосу пропускания upload для пользователя test значением 10240 кбит/с

Лимиты пропускной способности устанавливаются в единицах кбит/с (килобит в секунду).

Настроенные лимиты можно посмотреть с помощью команды show l2tp-server sessions в режиме Администрирования.

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

fakel@fakel:~$ show l2tp-server sessions
ifname | username |       ip      | ip6 | ip6-dp | calling-sid  |  rate-limit | state  |  uptime  | rx-bytes | tx-bytes
-------+----------+---------------+-----+--------+--------------+-------------+--------+----------+----------+---------
l2tp0  | test     | 192.168.255.2 |     |        | 192.168.0.36 | 20480/10240 | active | 00:06:30 | 3.1 KiB  | 2.8 KiB

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


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


vpn ipsec interface <interface>

Описание:
Задает сетевой интерфейс, который используется для IPsec. Общие сведения о настройке IPsec приведены в разделе Site-to-Site VPN.

Синтаксис:

  • set vpn ipsec interface <interface>

  • delete vpn ipsec interface <interface>

  • show vpn ipsec interface

Аргументы:

  • <interface> — имя сетевого интерфейса. Формат: строка. Можно задать несколько значений.

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


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

Описание:
Задает внешний IP-адрес, к которому подключаются VPN клиенты.
Этот же адрес используется как локальный адрес IPsec, поэтому при настройке параметров ipsec-settings задание outside-address обязательно.

Синтаксис:

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

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

  • show vpn l2tp remote-access outside-address

Аргументы:

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

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


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

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

Синтаксис:

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

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

  • show vpn l2tp remote-access gateway-address

Аргументы:

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

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


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

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

Синтаксис:

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

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

  • show vpn l2tp 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 l2tp remote-access default-pool <default-pool>

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

Синтаксис:

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

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

  • show vpn l2tp remote-access default-pool

Аргументы:

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

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


vpn l2tp remote-access ipsec-settings authentication mode pre-shared-secret

Описание:
Включает аутентификацию IPsec по общему секретному ключу (Pre-shared Secret). Ключ задается командой ipsec-settings authentication pre-shared-secret.

Синтаксис:

  • set vpn l2tp remote-access ipsec-settings authentication mode pre-shared-secret

  • delete vpn l2tp remote-access ipsec-settings authentication mode pre-shared-secret

  • show vpn l2tp remote-access ipsec-settings authentication mode

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


vpn l2tp remote-access ipsec-settings authentication pre-shared-secret <secret>

Описание:
Задает общий секретный ключ IPsec, который используется при аутентификации VPN клиентов, если выбран режим pre-shared-secret.

Синтаксис:

  • set vpn l2tp remote-access ipsec-settings authentication pre-shared-secret <secret>

  • delete vpn l2tp remote-access ipsec-settings authentication pre-shared-secret <secret>

  • show vpn l2tp remote-access ipsec-settings authentication pre-shared-secret

Аргументы:

  • <secret> — общий секретный ключ (последовательность символов). Формат: строка.

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


vpn l2tp remote-access authentication mode <mode>

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

Синтаксис:

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

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

  • show vpn l2tp remote-access authentication mode

Аргументы:

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

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


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

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

Синтаксис:

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

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

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

Аргументы:

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

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

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


vpn l2tp remote-access authentication local-users username <username> rate-limit download <download>

Описание:
Задает для локального пользователя ограничение полосы пропускания download. Ограничение задается в единицах кбит/с (килобит в секунду).
Ограничения download и upload необходимо задавать вместе: если задано только одно из них, проверка конфигурации завершается ошибкой.

Синтаксис:

  • set vpn l2tp remote-access authentication local-users username <username> rate-limit download <download>

  • delete vpn l2tp remote-access authentication local-users username <username> rate-limit download <download>

  • show vpn l2tp remote-access authentication local-users username <username> rate-limit download

Аргументы:

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

  • <download> — ограничение полосы пропускания в кбит/с. Формат: целое число. Диапазон значений: от 1 до 10000000.

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


vpn l2tp remote-access authentication local-users username <username> rate-limit upload <upload>

Описание:
Задает для локального пользователя ограничение полосы пропускания upload. Ограничение задается в единицах кбит/с (килобит в секунду).
Ограничения download и upload необходимо задавать вместе: если задано только одно из них, проверка конфигурации завершается ошибкой.

Синтаксис:

  • set vpn l2tp remote-access authentication local-users username <username> rate-limit upload <upload>

  • delete vpn l2tp remote-access authentication local-users username <username> rate-limit upload <upload>

  • show vpn l2tp remote-access authentication local-users username <username> rate-limit upload

Аргументы:

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

  • <upload> — ограничение полосы пропускания в кбит/с. Формат: целое число. Диапазон значений: от 1 до 10000000.

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


vpn l2tp remote-access name-server <name-server>

Описание:
Задает адрес DNS сервера, который передается VPN клиенту в параметрах конфигурации.
Можно задать не более двух IPv4-адресов и не более трех IPv6-адресов.

Синтаксис:

  • set vpn l2tp remote-access name-server <name-server>

  • delete vpn l2tp remote-access name-server <name-server>

  • show vpn l2tp remote-access name-server

Аргументы:

  • <name-server> — адрес DNS сервера. Формат: IPv4-адрес (x.x.x.x) или IPv6-адрес (h:h:h:h:h:h:h:h). Можно задать несколько значений.

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


vpn l2tp remote-access lns shared-secret <shared-secret>

Описание:
Задает пароль туннеля, который используется для аутентификации клиента (LAC) на сервере доступа LNS. Данная настройка требует отключения протокола управления сжатием (CCP) командой ppp-options disable-ccp.

Синтаксис:

  • set vpn l2tp remote-access lns shared-secret <shared-secret>

  • delete vpn l2tp remote-access lns shared-secret <shared-secret>

  • show vpn l2tp remote-access lns shared-secret

Аргументы:

  • <shared-secret> — пароль туннеля (последовательность символов). Формат: строка.

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


vpn l2tp remote-access ppp-options disable-ccp

Описание:
Отключает протокол управления сжатием (Compression Control Protocol, CCP).

Синтаксис:

  • set vpn l2tp remote-access ppp-options disable-ccp

  • delete vpn l2tp remote-access ppp-options disable-ccp

  • show vpn l2tp remote-access ppp-options disable-ccp

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


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


l2tp-server sessions

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

Синтаксис:

  • show l2tp-server sessions

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


l2tp-server statistics

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

Синтаксис:

  • show l2tp-server statistics

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


reset vpn l2tp all

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

Синтаксис:

  • reset vpn l2tp all

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

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


reset vpn l2tp interface <interface>

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

Синтаксис:

  • reset vpn l2tp interface <interface>

Аргументы:

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

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

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


reset vpn l2tp user <user>

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

Синтаксис:

  • reset vpn l2tp user <user>

Аргументы:

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

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

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