Документация: ПО Факел — разрабатываемая версия
Сервер 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 |
Задает интерфейс |
2 |
set vpn l2tp remote-access outside-address |
Задает внешний адрес, к которому подключаются VPN клиенты |
3 |
set vpn l2tp remote-access gateway-address |
Задает адрес шлюза, который передается клиентам |
4 |
set vpn l2tp remote-access client-ip-pool |
Создает пул адресов клиентов |
5 |
set vpn l2tp remote-access default-pool |
Задает пул |
6 |
set vpn l2tp remote-access ipsec-settings authentication mode |
Включает аутентификацию IPsec по общему секретному ключу |
7 |
set vpn l2tp remote-access ipsec-settings authentication pre-shared-secret |
Задает общий секретный ключ |
8 |
set vpn l2tp remote-access authentication mode |
Включает локальную аутентификацию пользователей |
9 |
set vpn l2tp remote-access authentication local-users username |
Создает локального пользователя |
Если на внешнем интерфейсе установлена локальная политика межсетевого экрана, то необходимо разрешить сетевой трафик по указанным ниже портам:
Номер порта 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 |
Создает правило |
2 |
set firewall ipv4 input filter rule |
Применяет правило |
3 |
set firewall ipv4 input filter rule |
Создает правило |
4 |
set firewall ipv4 input filter rule |
Применяет правило |
5 |
set firewall ipv4 input filter rule |
Применяет правило |
6 |
set firewall ipv4 input filter rule |
Создает правило |
7 |
set firewall ipv4 input filter rule |
Применяет правило |
8 |
set firewall ipv4 input filter rule |
Применяет правило |
9 |
set firewall ipv4 input filter rule |
Создает правило |
10 |
set firewall ipv4 input filter rule |
Применяет правило |
11 |
set firewall ipv4 input filter rule |
Применяет правило |
Для разрешения VPN клиенту подключаться через указанный внешний адрес также необходимо наличие правила трансляции (NAT).
Настройка правила трансляции:
Шаг |
Команда |
Описание |
|---|---|---|
1 |
set nat source rule |
Задает исходящий интерфейс |
2 |
set nat source rule |
Задает сеть клиентов, адреса которых транслируются |
3 |
set nat source rule |
Включает трансляцию адресов источника в адрес исходящего интерфейса |
VPN клиент обычно запрашивает параметры конфигурации, в числе которых может быть и список DNS серверов для клиента.
Настройка DNS серверов для VPN клиентов:
Шаг |
Команда |
Описание |
|---|---|---|
1 |
set vpn l2tp remote-access name-server |
Добавляет DNS сервер |
2 |
set vpn l2tp remote-access name-server |
Добавляет DNS сервер |
Список установленных соединений можно посмотреть с помощью команды
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 |
Задает внешний адрес, к которому подключаются VPN клиенты |
2 |
set vpn l2tp remote-access gateway-address |
Задает адрес шлюза, который передается клиентам |
3 |
set vpn l2tp remote-access client-ip-pool |
Создает пул адресов клиентов |
4 |
set vpn l2tp remote-access default-pool |
Задает пул |
5 |
set vpn l2tp remote-access lns shared-secret |
Задает пароль туннеля |
6 |
set vpn l2tp remote-access ppp-options disable-ccp |
Отключает протокол управления сжатием (CCP) |
7 |
set vpn l2tp remote-access authentication mode |
Включает локальную аутентификацию пользователей |
8 |
set vpn l2tp remote-access authentication local-users username |
Создает локального пользователя |
Ограничение полосы пропускания¶
Лимиты пропускной способности могут быть установлены как для локальных пользователей так и для пользователей RADIUS с помощью специальных атрибутов (см. Аутентификация RADIUS).
Настройка ограничений полосы пропускания для локальных пользователей:
Шаг |
Команда |
Описание |
|---|---|---|
1 |
set vpn l2tp remote-access outside-address |
Задает внешний адрес, к которому подключаются VPN клиенты |
2 |
set vpn l2tp remote-access gateway-address |
Задает адрес шлюза, который передается клиентам |
3 |
set vpn l2tp remote-access client-ip-pool |
Создает пул адресов клиентов |
4 |
set vpn l2tp remote-access default-pool |
Задает пул |
5 |
set vpn l2tp remote-access authentication mode |
Включает локальную аутентификацию пользователей |
6 |
set vpn l2tp remote-access authentication local-users username |
Создает локального пользователя |
7 |
set vpn l2tp remote-access authentication local-users username |
Ограничивает полосу пропускания download для пользователя |
8 |
set vpn l2tp remote-access authentication local-users username |
Ограничивает полосу пропускания upload для пользователя |
Лимиты пропускной способности устанавливаются в единицах кбит/с (килобит в секунду).
Настроенные лимиты можно посмотреть с помощью команды
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>¶
Синтаксис:
set vpn ipsec interface
<interface>delete vpn ipsec interface
<interface>show vpn ipsec interface
Аргументы:
<interface>— имя сетевого интерфейса. Формат: строка. Можно задать несколько значений.
Режим: «Конфигурирование».
vpn l2tp remote-access outside-address <outside-address>¶
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>¶
Синтаксис:
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>¶
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 authentication mode <mode>¶
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>¶
Синтаксис:
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>¶
Синтаксис:
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>¶
Синтаксис:
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 ppp-options disable-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¶
Синтаксис:
show l2tp-server sessions
Режим: «Администрирование».
l2tp-server statistics¶
Service l2tp is not configured.Синтаксис:
show l2tp-server statistics
Режим: «Администрирование».
reset vpn l2tp all¶
Синтаксис:
reset vpn l2tp all
Режим: «Администрирование».
Уровень привилегий: «Администратор».
reset vpn l2tp interface <interface>¶
Синтаксис:
reset vpn l2tp interface
<interface>
Аргументы:
<interface>— имя интерфейса сеанса. Формат: строка.
Режим: «Администрирование».
Уровень привилегий: «Администратор».
reset vpn l2tp user <user>¶
Синтаксис:
reset vpn l2tp user
<user>
Аргументы:
<user>— имя пользователя. Формат: строка.
Режим: «Администрирование».
Уровень привилегий: «Администратор».