Оглавление | ||
---|---|---|
|
Настройка сервера удаленного доступа к корпоративной сети по PPTP-протоколу
PPTP (англ. Point-to-Point Tunneling Protocol) – туннельный протокол типа точка-точка, позволяющий компьютеру устанавливать защищённое соединение с сервером за счёт создания специального туннеля в обычной незащищенной сети. PPTP помещает (инкапсулирует) кадры PPP в IP-пакеты для передачи по глобальной IP-сети, например, Интернет. PPTP может также использоваться для организации туннеля между двумя локальными сетями. РРТР использует дополнительное TCP-соединение для обслуживания туннеля.
Алгоритм
...
Шаг
...
Описание
...
Команда
...
Ключи
...
1
...
Создать профиль PPTP-сервера.
...
esr(config)# remote-access pptp <NAME>
...
<NAME> – имя профиля PPTP-сервера, задаётся строкой до 31 символа.
...
2
...
Указать описание конфигурируемого сервера (не обязательно).
...
esr(config-pptp-server)# description <DESCRIPTION>
...
<DESCRIPTION> – описание PPTP-сервера, задаётся строкой до 255 символов.
...
3
...
Указать IP-адрес, который должен обрабатывать PPTP-сервер.
...
esr(config-pptp-server)# outside-address
{ object-group <OBJ-GROUP-NETWORK-NAME> |
ip-address <ADDR> | interface { <IF> | <TUN> } }
...
<OBJ-GROUP-NETWORK-NAME> – имя профиля, содержащего IP-адрес, который должен слушать PPTP-сервер, задаётся строкой до 31 символа;
<ADDR> – начальный IP-адрес диапазона, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];
<IF> – тип и идентификатор интерфейса маршрутизатора;
<TUN> – тип и номер туннеля маршрутизатора.
...
4
...
Указать IP-адрес локального шлюза.
...
esr(config-pptp-server)# local-address
{ object-group <OBJ-GROUP-NETWORK-NAME > |
ip-address <ADDR> }
...
<OBJ-GROUP-NETWORK-NAME> – имя профиля IP-адресов, который содержит IP-адрес локального шлюза, задаётся строкой до 31 символа;
<ADDR> – начальный IP-адрес диапазона, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].
...
5
...
Указать список IP-адресов, из которого PPTP выдаются динамические IP-адреса удаленным пользователям.
...
esr(config-pptp-server)# remote-address
{ object-group <OBJ-GROUP-NETWORK-NAME > |
address-range <FROM-ADDR>-<TO-ADDR> }
...
<OBJ-GROUP-NETWORK-NAME> – имя профиля IP-адресов, который содержит список IP-адресов удаленных пользователей, задаётся строкой до 31 символа;
<FROM-ADDR> – начальный IP-адрес диапазона, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];
<TO-ADDR> – конечный IP-адрес диапазона, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].
...
6
...
Выбрать режим аутентификации PPTP-клиентов.
...
esr(config-pptp-server)# authentication mode
{ local | radius }
...
- local – аутентификация пользователя по локальной базе.
- radius – аутентификация пользователя по базе RADIUS-сервера. На маршрутизаторе должен быть сконфигурирован механизм взаимодействия с RADIUS-сервером см. раздел Алгоритм настройки AAA по протоколу RADIUS.
...
esr(config-pptp-server)# authentication method <METHOD>
...
<METHOD> – метод аутентификации, принимает значения [chap, mschap, mschap-v2, eap, pap].
По умолчанию разрешен только chap.
...
8
...
Указать имя пользователя (при использовании локальной аутентификации пользователей).
...
esr(config-pptp-server) username < NAME >
...
<NAME> – имя пользователя, задаётся строкой до 12 символов.
...
9
...
Указать пароль пользователя (при использовании локальной аутентификации пользователей).
...
esr(config-pptp-user) password ascii-text
{ <PASSWORD> | encrypted <PASSWORD> }
...
<PASSWORD> – пароль пользователя, задается строкой до 32 символов.
...
10
...
Активировать пользователя (при использовании локальной аутентификации пользователей).
...
esr(config-pptp-user) enable
...
11
...
Включить PPTP-сервер в зону безопасности и настроить правила взаимодействия между зонами или отключить firewall (см. раздел Конфигурирование Firewall).
...
esr(config-pptp-server)# security-zone <NAME>
...
<NAME> – имя зоны безопасности, задаётся строкой до 31 символа.
...
esr(config-pptp-server)# enable
...
13
...
Указать DSCP-приоритет исходящих пакетов (не обязательно).
...
esr(config-pptp-server)# dscp <DSCP>
...
<DSCP>– dscp-приоритет исходящих пакетов [0..63].
...
14
...
Включить шифрование MPPE для PPTP-соединений (не обязательно).
...
esr(config-pptp-server)# encryption mppe
...
15
...
Указать размер MTU (MaximumTransmitionUnit) для сервера (не обязательно).
MTU более 1500 будет активно только в случае применения команды "system jumbo-frames".
...
esr(config-pptp-server) mtu <MTU>
...
<MTU> – значение MTU, принимает значения в диапазоне [1280..1500].
Значение по умолчанию: 1500.
...
16
...
Указать список DNS-серверов, которые будут использовать удаленные пользователи (не обязательно).
...
esr(config-pptp-server)# dns-servers
object-group <OBJ-GROUP-NETWORK -NAME >
...
<OBJ-GROUP-NETWORK-NAME> – имя профиля IP-адресов, содержащего адреса необходимых DNS-серверов, задаётся строкой до 31 символа.
...
17
...
Указать список WINS-серверов, которые будут использовать удаленные пользователи (не обязательно).
...
esr(config-pptp-server)# wins-servers object-group
<OBJ-GROUP-NETWORK-NAME >
...
<OBJ-GROUP-NETWORK-NAME> – имя профиля IP-адресов, содержащего адреса необходимых WINS-серверов, задаётся строкой до 31 символа.
Scroll Pagebreak |
---|
Задача:
Настроить PPTP-сервер на маршрутизаторе.
- адрес PPTP-сервера – 120.11.5.1;
- шлюз внутри туннеля для подключающихся клиентов – 10.10.10.1;
- пул IP-адресов для выдачи 10.10.10.5-10.10.10.25;
- DNS-серверы: 8.8.8.8, 8.8.8.4;
- учетные записи для подключения – fedor, ivan.
Решение:
Создадим профиль адресов, содержащий адрес, который должен слушать сервер:
Блок кода |
---|
esr# configure
esr(config)# object-group network pptp_outside
esr(config-object-group-network)# ip address-range 120.11.5.1
esr(config-object-group-network)# exit |
Создадим профиль адресов, содержащий адрес локального шлюза:
Блок кода |
---|
esr(config)# object-group network pptp_local
esr(config-object-group-network)# ip address-range 10.10.10.1
esr(config-object-group-network)# exit |
Создадим профиль адресов, содержащий адреса клиентов:
Блок кода |
---|
esr(config)# object-group network pptp_remote
esr(config-object-group-network)# ip address-range 10.10.10.5-10.10.10.25
esr(config-object-group-network)# exit |
Scroll Pagebreak |
---|
Блок кода |
---|
esr(config)# remote-access pptp remote-workers
esr(config-pptp)# local-address object-group pptp_local
esr(config-pptp)# remote-address object-group pptp_remote
esr(config-pptp)# outside-address object-group pptp_outside
esr(config-pptp)# dns-servers object-group pptp_dns |
Выберем метод аутентификации пользователей PPTP-сервера:
Блок кода |
---|
esr(config-pptp)# authentication mode local |
Укажем зону безопасности, к которой будут относиться сессии пользователей:
Блок кода |
---|
esr(config-pptp)# security-zone VPN |
Создадим PPTP-пользователей Ivan и Fedor для PPTP-сервера:
Блок кода |
---|
esr(config-pptp)# username ivan
esr(config-pptp-user)# password ascii-text password1
esr(config-pptp-user)# enable
esr(config-pptp-user)# exit
esr(config-pptp)# username fedor
esr(config-pptp-user)# password ascii-text password2
esr(config-pptp-user)# enable
esr(config-pptp-user)# exit
esr(config-pptp)# exit |
Включим PPTP-сервер:
Блок кода |
---|
esr(config-pptp)# enable |
После применения конфигурации маршрутизатор будет прослушивать 120.11.5.1:1723. Состояние сессий PPTP-сервера можно посмотреть командой:
Блок кода |
---|
esr# show remote-access status pptp server remote-workers |
Счетчики сессий PPTP-сервера можно посмотреть командой:
Блок кода |
---|
esr# show remote-access counters pptp server remote-workers |
Очистить счетчики сессий PPTP-сервера можно командой:
Блок кода |
---|
esr# clear remote-access counters pptp server remote-workers |
Завершить сессию пользователя fedor PPTP-сервера можно одной из следующих команд:
Блок кода |
---|
esr# clear remote-access session pptp username fedor
esr# clear remote-access session pptp server remote-workers username fedor |
Scroll Pagebreak |
---|
Блок кода |
---|
esr# show remote-access configuration pptp remote-workers |
Примечание |
---|
Помимо создания PPTP-сервера необходимо в firewall открыть TCP-порт 1723 для обслуживания соединений и разрешить протокол GRE(47) для туннельного трафика. |
Настройка сервера удаленного доступа к корпоративной сети по L2TP over IPsec протоколу
L2TP (англ. Layer 2 Tunneling Protocol – протокол туннелирования второго уровня) – туннельный протокол, использующийся для поддержки виртуальных частных сетей. L2TP помещает (инкапсулирует) кадры PPP в IP-пакеты для передачи по глобальной IP-сети, например, Интернет. L2TP может также использоваться для организации туннеля между двумя локальными сетями. L2ТР использует дополнительное UDP-соединение для обслуживания туннеля. L2TP-протокол не предоставляет средств шифрования данных и поэтому он обычно используется в связке с группой протоколов IPsec, которая предоставляет безопасность на пакетном уровне.
Алгоритм настройки
...
Шаг
...
Описание
...
Команда
...
Ключи
...
1
...
Создать профиль L2TP-сервера.
...
esr(config)# remote-access l2tp <NAME>
...
<NAME> – имя профиля L2TP-сервера, задаётся строкой до 31 символа.
...
2
...
Указать описание конфигурируемого сервера (не обязательно).
...
esr(config-l2tp-server)# description <DESCRIPTION>
...
<DESCRIPTION> – описание L2TP-сервера, задаётся строкой до 255 символов.
...
3
...
Указать IP-адрес, который должен слушать L2TP-сервер.
...
esr(config-l2tp-server)# outside-address
{ object-group <NAME> | ip-address <ADDR> |
interface { <IF> | <TUN> } }
...
<OBJ-GROUP-NETWORK-NAME> – имя профиля содержащего IP-адрес, который должен слушать L2TP-сервер, задаётся строкой до 31 символа;
<ADDR> – начальный IP-адрес диапазона, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];
<IF> – тип и идентификатор интерфейса маршрутизатора;
<TUN> – тип и номер туннеля маршрутизатора.
...
4
...
Указать IP-адрес локального шлюза либо отключить firewall для PPTP-сервера.
...
esr(config-l2tp-server)# local-address { object-group
<OBJ-GROUP-NETWORK -NAME> | ip-address <ADDR> }
...
<OBJ-GROUP-NETWORK-NAME> – имя профиля IP-адресов, который содержит IP-адрес локального шлюза, задаётся строкой до 31 символа;
<ADDR> – начальный IP-адрес диапазона, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].
...
5
...
Указать список IP-адресов из которого L2TP выдаются динамические IP-адреса удаленным пользователям.
...
esr(config-l2tp-server)# remote-address
{ object-group <OBJ-GROUP-NETWORK -NAME > |
address-range <FROM-ADDR>-<TO-ADDR> }
...
<OBJ-GROUP-NETWORK-NAME> – имя профиля IP-адресов, который содержит список IP-адресов удаленных пользователей, задаётся строкой до 31 символа;
<FROM-ADDR> – начальный IP-адрес диапазона, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];
<TO-ADDR> – конечный IP-адрес диапазона, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].
...
6
...
Выбрать режим аутентификации L2TP-клиентов.
...
esr(config-l2tp-server)# authentication mode
{ local | radius }
...
- local – аутентификация пользователя по локальной базе.
- radius – аутентификация пользователя по базе RADIUS-сервера. На маршрутизаторе должен быть сконфигурирован механизм взаимодействия с RADIUS-сервером см. раздел Алгоритм настройки AAA по протоколу RADIUS.
...
esr(config-l2tp-server)# authentication method <METHOD>
...
<METHOD> – метод аутентификации, принимает значения [chap, mschap, mschap-v2, eap, pap].
По умолчанию разрешен только chap.
...
8
...
Включить L2TP-сервер в зону безопасности и настроить правила взаимодействия между зонами (см. раздел Конфигурирование Firewall).
...
esr(config-l2tp-server)# security-zone <NAME>
...
<NAME> – имя зоны безопасности, задаётся строкой до 31 символа.
...
9
...
Указать имя пользователя (при использовании локальной базы аутентификации).
...
esr(config-l2tp-server) username < NAME >
<NAME> – имя пользователя, задаётся строкой до 12 символов.
...
10
...
Указать пароль пользователя (при использовании локальной базы аутентификации).
...
esr(config-l2tp-user) password ascii-text
{ <PASSWORD> | encrypted <PASSWORD> }
...
<PASSWORD> – пароль пользователя, задается строкой до 32 символов.
...
11
...
Включить пользователя (при использовании локальной базы аутентификации).
...
esr(config-l2tp-user) enable
...
12
...
Выбрать метод аутентификации по ключу для IKE-соединения (по умолчанию).
...
esr(config-l2tp-server)# ipsec authentication method pre-shared-key
...
13
...
Указать общий секретный ключ для аутентификации, который должен совпадать у обоих сторон, устанавливающих туннель.
...
esr(config-l2tp-server)# ipsec authentication pre-shared-key
{ ascii-text { <TEXT> | encrypted <ENCRYPTED-TEXT> } |
hexadecimal {<HEX> | encrypted <ENCRYPTED-HEX> } }
...
<TEXT> – строка [1..64] ASCII-символов;
<HEX> – число размером [1..32] байт задаётся строкой [2..128] символов в шестнадцатеричном формате (0xYYYY...) или (YYYY...).
<ENCRYPTED-TEXT> – зашифрованный пароль размером [1..32] байт, задаётся строкой [2..128] символов;
<ENCRYPTED-HEX> – зашифрованное число размером [2..64] байт, задаётся строкой [2..256] символов.
...
<NAME> – имя ранее созданного профиля протокола IKE, задаётся строкой до 31 символа.
...
esr(config-l2tp-server)# ipsec proposal <NAME>
...
<NAME> – имя ранее созданного профиля IPsec, задаётся строкой до 31 символа.
...
16
...
Включить сервер.
...
esr(config-l2tp-server)# enable
...
17
...
Указать DSCP-приоритет исходящих пакетов.
...
esr(config-l2tp-server)# dscp <DSCP>
...
<DSCP> – DSCP-приоритет исходящих пакетов [0..63].
...
18
...
Указать размер MTU (MaximumTransmitionUnit) для сервера (не обязательно).
MTU более 1500 будет активно только в случае применения команды "system jumbo-frames".
...
esr(config-l2tp-server) mtu <MTU>
...
<MTU> – значение MTU, принимает значения в диапазоне [1280..1500].
Значение по умолчанию: 1500.
...
19
...
Указать список DNS-серверов, которые будут использовать удаленные пользователи (не обязательно).
...
esr(config-l2tp-server)# dns-servers object-group
<OBJ-GROUP-NETWORK -NAME >
...
<OBJ-GROUP-NETWORK-NAME> – имя профиля IP-адресов, содержащего, который содержит адреса необходимых DNS-серверов, задаётся строкой до 31 символа.
...
20
...
Указать список WINS-серверов, которые будут использовать удаленные пользователи (не обязательно).
...
esr(config-l2tp-server)# wins-servers
object-group <OBJ-GROUP-NETWORK -NAME >
...
<OBJ-GROUP-NETWORK-NAME> – имя профиля IP-адресов, который содержит адреса необходимых WINS-серверов, задаётся строкой до 31 символа.
Пример настройки
Задача:
Настроить L2TP-сервер на маршрутизаторе для подключения удаленных пользователей к ЛВС. Аутентификация пользователей проходит на RADIUS-сервере.
- адрес L2TP-сервера – 120.11.5.1;
- шлюз внутри туннеля – 10.10.10.1;
- адрес RADIUS-сервера – 192.168.1.4.
Для IPsec используется метод аутентификации по ключу: ключ — «password».
Решение:
Предварительно нужно выполнить следующие действия:
- Настроить подключение к RADIUS-серверу;
- Настроить зоны для интерфейсов te1/0/1 и gi1/0/1;
- Указать IP-адреса для интерфейсов te1/0/1 и te1/0/1.
Scroll Pagebreak |
---|
Блок кода |
---|
esr(config)# object-group network l2tp_local
esr(config-object-group-network)# ip address-range 10.10.10.1
esr(config-object-group-network)# exit |
Создадим профиль адресов, содержащий DNS-серверы:
Блок кода |
---|
esr(config)# object-group network pptp_dns
esr(config-object-group-network)# ip address-range 8.8.8.8
esr(config-object-group-network)# ip address-range 8.8.4.4
esr(config-object-group-network)# exit |
Создадим L2TP-сервер и привяжем к нему вышеуказанные профили:
Блок кода |
---|
esr(config)# remote-access l2tp remote-workers
esr(config-l2tp)# local-address ip-address 10.10.10.1
esr(config-l2tp)# remote-address address-range 10.10.10.5-10.10.10.15
esr(config-l2tp)# outside-address ip-address 120.11.5.1
esr(config-l2tp)# dns-server object-group l2tp_dns |
Выберем метод аутентификации пользователей L2TP-сервера:
Блок кода |
---|
esr(config-l2tp)# authentication mode radius |
Укажем зону безопасности, к которой будут относиться сессии пользователей:
Блок кода |
---|
esr(config-l2tp)# security-zone VPN |
Выберем метод аутентификации первой фазы IKE и зададим ключ аутентификации:
Блок кода |
---|
esr(config-l2tp)# ipsec authentication method psk
esr(config-l2tp)# ipsec authentication pre-shared-key ascii-text password |
Включим L2TP-сервер:
Блок кода |
---|
esr(config-l2tp)# enable |
После применения конфигурации маршрутизатор будет прослушивать IP-адрес 120.11.5.1 и порт 1701. Состояние сессий L2TP-сервера можно посмотреть командой:
Блок кода |
---|
esr# show remote-access status l2tp server remote-workers |
Счетчики сессий L2TP-сервера можно посмотреть командой:
Блок кода |
---|
esr# show remote-access counters l2tp server remote-workers |
Очистить счетчики сессий L2TP-сервера можно командой:
Блок кода |
---|
esr# clear remote-access counters l2tp server remote-workers |
Завершить сессию пользователя fedor L2TP-сервера можно одной из следующих команд:
Блок кода |
---|
esr# clear remote-access session l2tp username fedor
esr# clear remote-access session l2tp server remote-workers username fedor |
Конфигурацию L2TP-сервера можно посмотреть командой:
Блок кода |
---|
esr# show remote-access configuration l2tp remote-workers |
Примечание |
---|
Помимо создания L2TP-сервера необходимо в firewall открыть UDP-порты 500, 1701, 4500 для обслуживания соединений и разрешить протоколы ESP (50) и GRE (47) для туннельного трафика. |
Настройка сервера удаленного доступа к корпоративной сети по OpenVPN-протоколу
OpenVPN — полнофункциональное средство для построения виртуальных частных сетей (Virtual Private Networks, VPN), организации удалённого доступа и решения ряда других задач, связанных с безопасностью передачи данных, базирующееся на SSL.
Алгоритм настройки
...
Шаг
...
Описание
...
Команда
...
Ключи
...
1
...
Создать профиль OpenVPN-сервера.
...
esr(config)# remote-access openvpn <NAME>
...
<NAME> – имя профиля OpenVPN-сервера, задаётся строкой до 31 символа.
...
2
...
Указать описание конфигурируемого сервера (не обязательно).
...
esr(config-openvpn-server)# description <DESCRIPTION>
...
<DESCRIPTION> – описание OpenVPN-сервера, задаётся строкой до 255 символов.
...
3
...
Определим подсеть, из которой выдаются IP-адреса пользователям (только для tunnel ip).
...
esr(config-openvpn-server)# network <ADDR/LEN>
...
<ADDR/LEN> – адрес подсети, имеет следующий формат:
AAA.BBB.CCC.DDD/EE – IP-адрес подсети с маской в форме префикса, где AAA-DDD принимают значения [0..255] и EE принимает значения [16..29].
...
4
...
Указать инкапсулируемый протокол.
...
esr(config-openvpn-server)# protocol <PROTOCOL>
...
<PROTOCOL> – тип инкапсуляции, возможные значения:
- TCP-инкапсуляция в TCP-сегменты;
- UDP-инкапсуляция в UDP-дейтаграммы.
...
5
...
Определить тип соединения с частной сетью через OpenVPN-сервер.
...
esr(config-openvpn-server)# tunnel <TYPE>
...
<TYPE> – инкапсулирующий протокол, принимает значения:
- ip – соединение точка-точка;
- ethernet – подключение к L2-домену.
...
6
...
Указать список IP-адресов, из которого OpenVPN-сервером выдаются динамические IP-адреса удаленным пользователям в режиме L2 (только для tunnel ethernet).
...
esr(config-openvpn-server)# address-range <FROM-ADDR>-<TO-ADDR>
...
<FROM-ADDR> – начальный IP-адрес диапазона, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];
<TO-ADDR> – конечный IP-адрес диапазона, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].
...
7
...
Включить клиентские соединения по OpenVPN в L2-домен (только для tunnel ethernet).
...
esr(config-openvpn-server)# bridge-group <BRIDGE-ID>
...
<BRIDGE-ID> – идентификационный номер моста.
...
8
...
Указать сертификаты и ключи.
...
esr(config-openvpn-server)# crypto <CERTIFICATE-TYPE> <NAME>
...
<CERTIFICATE-TYPE> – тип сертификата или ключа, может принимать следующие значения:
- ca – сертификат удостоверяющего сервера;
- crl – список отозванных сертификатов;
- dh – ключ Диффи-Хеллмана;
- cert – публичный сертификат сервера;
- private-key – приватный ключ сервера;
- ta – HMAC-ключ.
<NAME> – имя сертификата или ключа, задаётся строкой до 31 символа.
...
9
...
Выбрать алгоритм шифрования, используемый при передачи данных.
...
esr(config-openvpn-server)# encryption algorithm <ALGORITHM>
...
<ALGORITHM> – идентификатор протокола шифрования, принимает значения: 3des,blowfish128, aes128.
...
10
...
Включить OpenVPN-сервер в зону безопасности и настроить правила взаимодействия между зонами (см. раздел Конфигурирование Firewall).
...
esr(config-openvpn-server)# security-zone <NAME>
...
<NAME> – имя зоны безопасности, задаётся строкой до 31 символа.
...
11
...
Определить дополнительные параметры для указанного пользователя OpenVPN-сервера (при использовании локальной базы для аутентификации пользователей).
...
esr(config-openvpn-server)# username < NAME >
<NAME> – имя пользователя, задаётся строкой до 31 символа.
...
12
...
Определить подсеть для указанного пользователя OpenVPN-сервера.
...
esr(config-openvpn-user)# subnet <ADDR/LEN>
...
<ADDR/LEN> – адрес подсети, имеет следующий формат:
AAA.BBB.CCC.DDD/EE – IP-адрес подсети с маской в форме префикса, где AAA-DDD принимают значения [0..255] и EE принимает значения [16..32].
...
13
...
Определить статический IP-адрес для указанного пользователя OpenVPN-сервера.
...
esr(config-openvpn-user)# ip address <ADDR>
...
<ADDR> – адрес имеет следующий формат:
AAA.BBB.CCC.DDD – IP-адрес подсети, где AAA-DDD принимают значения [0..255].
...
14
...
Включить профиль OpenVPN-сервера.
...
esr(config-openvpn-server)# enable
...
15
...
Включить блокировку передачи данных между клиентами (не обязательно).
...
esr(config-openvpn-server)# client-isolation
...
16
...
Устанавливается максимальное количество одновременных пользовательских сессий (не обязательно).
...
esr(config-openvpn-server)# client-max <VALUE>
...
<VALUE> – максимальное количество пользователей, принимает значения [1..65535].
...
17
...
Включается механизм сжатия передаваемых данных между клиентами и сервером OpenVPN (не обязательно).
...
esr(config-openvpn-server)# compression
...
18
...
Указать список DNS-серверов, которые будут использовать удаленные пользователи (не обязательно).
...
esr(config-openvpn-server)# dns-server <ADDR>
...
<ADDR> – IP-адрес DNS-сервера, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];
...
19
...
Указать TCP-/UDP-порт, который будет прослушиваться OpenVPN-сервером (не обязательно).
...
esr(config-openvpn-server)# port <PORT>
...
<PORT> – TCP-/UDP-порт, принимает значения [1..65535].
Значение по умолчанию: 1194.
...
20
...
Включить анонсирование маршрута по умолчанию для OpenVPN-соединений, что приводит к замене маршрута по умолчанию на клиентской стороне (не обязательно).
...
esr(config-openvpn-server)# redirect-gateway
...
21
...
Включить анонсирование указанных подсетей, шлюзом является IP-адрес OpenVPN-сервера (не обязательно).
...
esr(config-openvpn-server)# route <ADDR/LEN>
...
<ADDR/LEN> – адрес подсети, имеет следующий формат:
AAA.BBB.CCC.DDD/EE – IP-адрес подсети с маской в форме префикса, где AAA-DDD принимают значения [0..255] и EE принимает значения [1..32].
...
22
...
Указать временной интервал, по истечению которого встречная сторона считается недоступной (не обязательно).
...
esr(config-openvpn-server)# timers holdtime <TIME>
...
<TIME> – время в секундах, принимает значения [1..65535].
Значение по умолчанию: 120.
...
23
...
Указать временной интервал, по истечению которого идет проверка соединения со встречной стороной (не обязательно).
...
esr(config-openvpn-server)# timers keepalive <TIME>
...
<TIME> – время в секундах, принимает значения [1..65535].
Значение по умолчанию: 10.
...
24
...
Разрешить подключаться к OpenVPN-серверу нескольким пользователям с одним сертификатом.
...
esr(config-openvpn-server)# duplicate-cn
...
25
...
Указать список WINS-серверов, которые будут использовать удаленные пользователи (не обязательно).
...
esr(config-openvpn-server)# wins-server <ADDR>
...
<ADDR> – IP-адрес WINS-сервера, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].
...
esr(config-openvpn-server)# authentication algorithm <ALGORITHM>
...
<ALGORITHM> – алгоритм аутентификации:
- 8-128 bits key size: md4, rsa-md4, md5, rsa-md5, mdc2, rsa-mdc2
- 8-160 bits key size: sha, sha1, rsa-sha, rsa-sha1, rsa-sha1-2, dsa, dsa-sha, dsa-sha1, dsa-sha1-old, ripemd160, rsa-ripemd160, ecdsa-with-sha1
- 8-224 bits key size: sha-224, rsa-sha-224
- 8-256 bits key size: sha-256, rsa-sha-256
- 8-384 bits key size: sha-384, rsa-sha-384
- 8-512 bits key size: sha-512, rsa-sha-512, whirlpool
Значение по умолчанию: sha.
Пример настройки
Задача:
Настроить OpenVPN-сервер в режиме L3 на маршрутизаторе для подключения удаленных пользователей к ЛВС.
- подсеть OpenVPN-сервера – 10.10.100.0/24;
- режим – L3;
- аутентификация на основе сертификатов.
Scroll Pagebreak |
---|
Предварительно нужно выполнить следующие действия:
- Подготовить сертификаты и ключи:
- Сертификат Удостоверяющего Центра (СА),
- Ключ и сертификат для OpenVPN-сервера,
- Ключ Диффи-Хэллмана и HMAC для TLS.
- Настроить зону для интерфейса te1/0/1.
- Указать IP-адреса для интерфейса te1/0/1.
Импортируем по tftp сертификаты и ключи:
Блок кода |
---|
esr# copy tftp://192.168.16.10:/ca.crt crypto:cert/ca.crt
esr# copy tftp://192.168.16.10:/dh.pem crypto:dh/dh.pem
esr# copy tftp://192.168.16.10:/server.key crypto:private-key/server.key
esr# copy tftp://192.168.16.10:/server.crt crypto:cert/server.crt
esr# copy tftp://192.168.16.10:/ta.key crypto:ta/ta.key |
Создадим OpenVPN-сервер и подсеть, в которой он будет работать:
Блок кода |
---|
esr(config)# remote-access openvpn AP
esr(config-openvpn)# network 10.10.100.0/24 |
Укажем тип соединения L3 и протокол инкапсуляции:
Блок кода |
---|
esr(config-openvpn)# tunnel ip
esr(config-openvpn)# protocol tcp |
Объявим подсети ЛВС, которые будут доступны через OpenVPN соединение и укажем DNS-сервер:
Блок кода |
---|
esr(config-openvpn)# route 10.10.0.0/20
esr(config-openvpn)# dns-server 10.10.1.1 |
Укажем ранее импортированные сертификаты и ключи, которые будут использоваться OpenVPN-сервером:
Блок кода |
---|
esr(config-openvpn)# crypto ca ca.crt
esr(config-openvpn)# crypto dh dh.pem
esr(config-openvpn)# crypto private-key server.key
esr(config-openvpn)# crypto cert server.crt
esr(config-openvpn)# crypto ta ta.key |
Укажем зону безопасности, к которой будут относиться сессии пользователей:
Блок кода |
---|
esr(config-openvpn)# security-zone VPN |
Выберем алгоритм шифрования aes128:
Блок кода |
---|
esr(config-openvpn)# encryption algorithm aes128 |
Scroll Pagebreak |
---|
...
Блок кода |
---|
esr(config-openvpn)# enable |
После применения конфигурации маршрутизатор будет прослушивать порт 1194 (используется по умолчанию).
Состояние сессий OpenVPN-сервера можно посмотреть командой:
Блок кода |
---|
esr# show remote-access status openvpn server AP |
Счетчики сессий OpenVPN-сервера можно посмотреть командой:
Блок кода |
---|
esr# show remote-access counters openvpn server AP |
Очистить счетчики сессий OpenVPN-сервера можно командой:
Блок кода |
---|
esr# clear remote-access counters openvpn server AP |
Завершить сессию пользователя fedor OpenVPN-сервера можно одной из следующих команд:
Блок кода |
---|
esr# clear remote-access session openvpn username fedor
esr# clear remote-access session openvpn server AP username fedor |
Конфигурацию OpenVPN-сервера можно посмотреть командой:
Блок кода |
---|
esr# show remote-access configuration openvpn AP |
Примечание |
---|
Помимо создания OpenVPN-сервера необходимо в firewall открыть TCP-порт 1194. |
Настройка сервера удаленного доступа к корпоративной сети по WireGuard-протоколу
WireGuard — простой, быстрый и современный VPN, использующий современную криптографию (ChaCha20, Poly1305, Curve25519, BLAKE2s, SipHash24, HKDF). WireGuard надежно инкапсулирует IP-пакеты поверх UDP. В основе WireGuard лежит концепция под названием «Маршрутизация криптоключей», которая работает путем связывания открытых ключей со списком IP-адресов туннеля, которым разрешено находиться внутри туннеля. Каждый сетевой интерфейс имеет закрытый ключ и список пиров. У каждого узла есть открытый ключ. Открытые ключи короткие и простые и используются узлами для аутентификации друг друга. Их можно передавать для использования в файлах конфигурации любым внешним методом, аналогично тому, как можно отправить открытый ключ SSH для доступа к серверу.
Алгоритм настройки
...
Шаг
...
Описание
...
Команда
...
Ключи
...
1
...
Создать профиль WireGuard-сервера.
...
esr(config)# remote-access wireguard <NAME>
...
<NAME> – имя профиля WireGuard-сервера, задаётся строкой до 31 символа.
...
2
...
Указать описание конфигурируемого сервера (не обязательно).
...
esr(config-wireguard-server)# description <DESCRIPTION>
...
<DESCRIPTION> – описание WireGuard-сервера, задаётся строкой до 255 символов.
...
3
...
<MTU> – 552–10000.
Значение по умолчанию: 1500.
...
<ADDR | ADDR, ADDR> – IP-адрес или IP-адреса DNS-сервера, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. Можно указать до двух DNS-серверов.
...
Пример настройки
Задача:
Настроить WireGuard-сервер на маршрутизаторе для подключения удаленных пользователей к ЛВС.
- адресация внутри туннеля – 10.10.10.0/24;
- порт подключения к серверу – 43020;
- адрес WireGuard-сервера внутри туннеля – 10.10.10.1;
- DNS-серверы: 8.8.8.8, 8.8.8.4.
Scroll Pagebreak |
---|
Решение:
Предварительно нужно выполнить следующие действия:
- загрузить на ESR приватный ключ сервера и публичный ключ клиента;
- создать object-group network, в которой будет указан список IP-адресов, которым будет разрешено проходить через туннель.
Импортируем по tftp приватный ключ сервера и публичный ключ клиента:
Блок кода |
---|
esr# copy tftp://192.168.16.10:/server.priv crypto:private-key/server.priv
esr# copy tftp://192.168.16.10:/client.pub crypto:public-key/client.pub |
Создадим object-group network, в которой будет указан список IP-адресов, которым будет разрешено проходить через туннель:
Блок кода |
---|
esr(config)# object-group network client_wg
esr(config-object-group-network)# ip address-range 10.10.10.2 |
Создадим профиль WireGuard-сервера, зададим локальный адрес сервера, порт для прослушивания и выставим MTU:
Блок кода |
---|
esr(config)# remote-access wireguard WG
esr(config-wireguard-server)# local-address 10.10.10.1/24
esr(config-wireguard-server)# port 43020
esr(config-wireguard-server)# mtu 1420 |
Укажем приватный ключ сервера и отключим Firewall:
Блок кода |
---|
esr(config-wireguard-server)# private-key server.priv
esr(config-wireguard-server)# ip firewall disable |
Перейдем в настройки разрешённого туннеля, укажем связку публичного ключа клиента и разрешённого IP-адреса:
Блок кода |
---|
esr(config-wireguard-server)# peer 1
esr(config-wireguard-server-peer)# public-key client.pub
esr(config-wireguard-server-peer)# subnet client_wg |
Включим туннель и WireGuard-сервер:
Блок кода |
---|
esr(config-wireguard-server-peer)# enable
esr(config-wireguard-server-peer)# exit
esr(config-wireguard-server)# enable |
После применения конфигурации маршрутизатор будет прослушивать порт 43020.
Счётчики сессий WireGuard-сервера можно посмотреть командой:
Блок кода |
---|
esr# show remote-access counters wireguard server WG |
Scroll Pagebreak |
---|
Очистить счётчики сессий WireGuard-сервера можно командой:
Блок кода |
---|
esr# clear remote-access counters wireguard server WG |
Конфигурацию WireGuard-сервера можно посмотреть командой:
Блок кода |
---|
esr# show remote-access configuration wireguard WG |
Настройка клиента удаленного доступа по протоколу PPPoE
PPPoE — это туннелирующий протокол (tunneling protocol), который позволяет инкапсулировать IP PPP через соединения Ethernet и обладает программными возможностями PPP-соединений, что позволяет использовать его для виртуальных соединений на соседнюю Ethernet-машину и устанавливать соединение точка-точка, которое используется для транспортировки IP-пакетов, а также работает с возможностями PPP. Это позволяет применять традиционное PPP-ориентированное ПО для настройки соединения, которое использует не последовательный канал, а пакетно-ориентированную сеть (например, Ethernet), чтобы организовать классическое соединение с логином и паролем для Интернет-соединений. Кроме того, IP-адрес по другую сторону соединения назначается, только когда PPPoE-соединение открыто, позволяя динамическое переиспользование IP-адресов.
Алгоритм настройки
...
Шаг
...
Описание
...
Команда
...
Ключи
...
1
...
Создать PPPoE-туннель и перейти в режим конфигурирования PPPoE-клиента.
...
esr(config)# tunnel pppoe <PPPoE>
...
<PPPoE> – порядковый номер туннеля от 1 до 10.
...
2
...
Указать описание конфигурируемого клиента (не обязательно).
...
esr(config-pppoe)# description <DESCRIPTION>
...
<DESCRIPTION> – описание PPPoE-туннеля, задаётся строкой до 255 символов.
...
3
...
Указать имя экземпляра VRF, в котором будут использоваться PPPoE-клиент (не обязательно).
...
esr(config-pppoe)# ip vrf forwarding <VRF>
...
<VRF> – имя VRF, задается строкой до 31 символа.
...
4
...
Указать интерфейс, через который будет устанавливаться PPPoE соединение.
...
esr(config-pppoe)# interface <IF>
...
<IF> – интерфейс или группа интерфейсов.
...
5
...
Указать имя пользователя и пароль для подключения к PPPoE-серверу.
...
esr(config-pppoe)# username <NAME> password ascii-text
{ <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> }
...
<NAME> – имя пользователя, задаётся строкой до 31 символа;
<CLEAR-TEXT> – пароль, задаётся строкой [8 .. 64] символов;
<ENCRYPTED-TEXT> – зашифрованный пароль, задаётся строкой [16..128] символов.
...
6
...
Включить PPPoE-туннель в зону безопасности и настроить правила взаимодействия между зонами (см. раздел Конфигурирование Firewall).
...
esr(config-pppoe)# security-zone <NAME>
...
<NAME> – имя зоны безопасности, задаётся строкой до 31 символа.
...
7
...
Активировать конфигурируемый профиль.
...
esr(config-pppoe)# enable
...
8
...
Указать метод аутентификации (не обязательно).
...
esr(config-pppoe)# authentication method <METHOD>
...
<METHOD> – метод аутентификации, возможные значения: chap, mschap, mschap-v2, eap, pap.
Значение по умолчанию: chap.
...
9
...
Включить отказ от получения маршрута по умолчанию от PPPoE-сервера (не обязательно).
...
esr(config-pppoe)# ignore-default-route
...
10
...
Указать интервал времени, за который усредняется статистика о нагрузке (не обязательно).
...
esr(config-pppoe)# load-average <TIME>
...
<TIME> – интервал времени в секундах от 5 до 150 (по умолчанию 5 с).
...
11
...
Указать размер MTU (MaximumTransmitionUnit) для PPPOE-туннеля.
MTU более 1500 будет активно только если применена команда "system jumbo-frames"
(не обязательно).
...
esr(config-pppoe)# mtu <MTU>
...
<MTU> – значение MTU, принимает значения в диапазоне [552..1500].
Значение по умолчанию: 1500.
...
esr(config-pppoe)# ppp failure-count <NUM>
...
<NUM> – количество неудачных data-link тестов, задается в диапазоне [1..100].
Значение по умолчанию: 10.
...
esr(config-pppoe)# ppp timeout keepalive <TIME >
...
<TIME> – время в секундах, задается в диапазоне [1..32767].
Значение по умолчанию: 10.
...
esr(config-pppoe)# ip tcp adjust-mss <MSS>
...
<MSS> – значение MSS, принимает значения в диапазоне [500..1460].
Значение по умолчанию: 1460.
...
esr(config-pppoe)# history statistics
...
Также для PPPoE-клиента возможно настроить:
- QoS в базовом или расширенном режимах (см. раздел Управление QoS);
- Proxy (см. раздел Проксирование HTTP/HTTPS-трафика);
- Мониторинг траффика (см. разделы Настройка Netflow и Настройка sFlow).
Scroll Pagebreak |
---|
Пример настройки
Задача:
Настроить PPPoE-клиент на маршрутизаторе.
- Учетные записи для подключения – tester;
- Пароли учетных записей – password;
- Подключение должно осуществляться с интерфейса gigabitethernet 1/0/7.
Примечание |
---|
Интерфейс, с которого будет осуществляться РРРоЕ-соединение, должен работать в режиме routerport (кроме случаев использования bridge). |
Решение:
Предварительно должен быть настроен PPPoE-сервер с соответствующими учетными записями. Также на устройстве должны быть настроены зоны безопасности и описаны правила их взаимодействия.
Зайдем в режим конфигурирования PPPoE-туннеля и зададим пользователя и пароль для подключения к PPPoE-серверу:
Блок кода |
---|
esr# configure
esr(config)# tunnel pppoe 1
esr(config-pppoe)# username tester password ascii-text password |
Укажем интерфейс через который будет устанавливаться PPPoE-соединение:
Блок кода |
---|
esr(config-pppoe)# interface gigabitethernet 1/0/7
esr(config- pppoe)# enable |
Настроим зону безопасности,:
Блок кода |
---|
esr(config-pppoe)# security-zone untrust |
Scroll Pagebreak |
---|
Опционально для PPPoE-туннеля можно указать следующие параметры:
Изменить метод аутентификации:
Блок кода |
---|
esr(config-pppoe)# authentication method
METHOD Select PPP authentication method:
chap
mschap
mschap-v2
eap
pap |
Игнорировать полученный маршрут по умолчанию, выданные РРРоЕ-сервером:
Блок кода |
---|
esr(config-pppoe)# ignore-default-route |
Переопределить значение поля MSS (Maximum segment size) во входящих TCP-пакетах:
Блок кода |
---|
esr(config-pppoe)# ip tcp adjust-mss 1452 |
Указать размер MTU (Maximum Transmition Unit):
Блок кода |
---|
esr(config-pppoe)# mtu 1496 |
Изменить количество неудачных data-link тестов перед разрывом сессии:
Блок кода |
---|
esr(config-pppoe)# ppp failure-count 15 |
Установить интервал времени в секундах, по истечении которого маршрутизатор отправляет keepalive-сообщение:
Блок кода |
---|
esr(config-pppoe)# ppp timeout keepalive 15 |
Состояние PPPoE-туннеля можно посмотреть командой:
Блок кода |
---|
esr# show tunnels status pppoe 1 |
Счетчики входящих и отправленных пакетов PPPoE-туннеля можно посмотреть командой:
Блок кода |
---|
esr# show tunnels counters pppoe 1 |
Конфигурацию PPPoE-туннеля можно посмотреть командой:
Блок кода |
---|
esr# show tunnels configuration pppoe 1 |
Настройка клиента удаленного доступа по протоколу PPTP
PPTP (англ. Point-to-Point Tunneling Protocol) – туннельный протокол типа точка-точка, позволяющий устанавливать защищённое соединение за счёт создания специального туннеля в обычной незащищенной сети. PPTP помещает (инкапсулирует) кадры PPP в IP-пакеты для передачи по глобальной IP-сети, например, Интернет. PPTP может также использоваться для организации туннеля между двумя локальными сетями. РРТР использует дополнительное TCP-соединение для обслуживания туннеля.
Алгоритм настройки
...
Шаг
...
Описание
...
Команда
...
Ключи
...
1
...
Создать PPTP-туннель и перейти в режим его конфигурирования.
...
esr(config)# tunnel pptp <INDEX>
...
<INDEX> – идентификатор туннеля в диапазоне: [1..10].
...
2
...
Указать описание конфигурируемого туннеля (не обязательно).
...
esr(config-pptp)# description <DESCRIPTION>
...
<DESCRIPTION> – описание туннеля, задается строкой до 255 символов.
...
3
...
Указать экземпляр VRF, в котором будет работать данный PPTP-туннель (не обязательно).
...
esr(config-pptp)# ip vrf forwarding <VRF>
...
<VRF> – имя VRF, задается строкой до 31 символа.
...
4
...
Включить PPTP-туннель в зону безопасности и настроить правила взаимодействия между зонами или отключить firewall (см. раздел Конфигурирование Firewall).
...
esr(config-pptp)# security-zone <NAME>
...
<NAME> – имя зоны безопасности, задаётся строкой до 31 символа.
...
esr(config-pptp)# ip firewall disable
...
...
5
...
Установить удаленный IP-адрес для установки туннеля.
...
esr(config-pptp)# remote address <ADDR>
...
<ADDR> – IP-адрес локального шлюза, задается в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].
...
6
...
Установить размер MTU (MaximumTransmitionUnit) для туннеля (не обязательно)
...
esr(config-pptp)# mtu <MTU>
...
<MTU> – значение MTU, принимает значения в диапазоне [552..10000].
Значение по умолчанию: 1500.
...
7
...
Указать пользователя и установить пароль в открытой или зашифрованной форме для аутентификации удаленной стороны.
...
esr(config-pptp)# username <NAME> password ascii-text
{ <WORD> | encrypted <HEX> }
...
<NAME> – имя пользователя, задается строкой до 31 символа.
<WORD> – пароль в открытой форме, задается строкой [8..64] символов, может включать символы [0-9a-fA-F].
<HEX> – пароль в зашифрованной форме, задается строкой [16..128] символов.
...
8
...
Активировать туннель.
...
esr(config-pptp)# enable
...
esr(config-pptp)# ip tcp adjust-mss <MSS>
...
<MSS> – значение MSS, принимает значения в диапазоне [500..1460].
Значение по умолчанию: 1460.
...
10
...
Игнорировать маршрут по умолчанию через данный PPTP-туннель (не обязательно)
...
esr(config-pptp)# ignore-default-route
...
11
...
Задать интервал времени, за который усредняется статистика о нагрузке на туннель (не обязательно).
...
esr(config-pptp)# load-average <TIME>
...
<TIME> – интервал в секундах, принимает значения [5..150]
Значение по умолчанию: 5.
...
12
...
Указать метод аутентификации (не обязательно).
...
esr(config-pptp)# authentication method <METHOD>
...
<METHOD> – метод аутентификации, возможные значения: chap, mschap, mschap-v2, eap, pap.
Значение по умолчанию: chap.
...
esr(config-pptp)# history statistics
...
esr(config-pptp)# ppp timeout keepalive <TIME >
...
<TIME> – время в секундах, задается в диапазоне [1..32767].
Значение по умолчанию: 10.
...
esr(config-pptp)# ppp failure-count <NUM>
...
<NUM> – количество неудачных data-link тестов, задается в диапазоне [1..100].
Значение по умолчанию: 10.
Пример настройки
Задача:
Настроить PPTP-туннель на маршрутизаторе:
- адрес PPTP-сервера 20.20.0.1;
- учетная запись для подключения – логин: ivan, пароль: simplepass.
Решение:
Создадим туннель PPTP:
Блок кода |
---|
esr(config)# tunnel pptp 1 |
Укажем учетную запись (пользователя Ivan) для подключения к серверу:
Блок кода |
---|
esr(config-pptp)# username ivan password ascii-text simplepass |
Укажем удаленный шлюз:
Блок кода |
---|
esr(config-pptp)# remote address 20.20.0.1 |
Scroll Pagebreak |
---|
...
Блок кода |
---|
esr(config-pptp)# security-zone VPN |
Включим туннель PPTP:
Блок кода |
---|
esr(config-pptp)# enable |
Состояние туннеля можно посмотреть командой:
Блок кода |
---|
esr# show tunnels status pptp |
Счетчики входящих и отправленных пакетов можно посмотреть командой:
Блок кода |
---|
esr# show tunnels counters pptp |
Конфигурацию туннеля можно посмотреть командой:
Блок кода |
---|
esr# show tunnels configuration pptp |
Настройка клиента удаленного доступа по протоколу L2TP
L2TP (англ. Layer 2 Tunneling Protocol – протокол туннелирования второго уровня) – туннельный протокол, использующийся для поддержки виртуальных частных сетей. L2TP помещает (инкапсулирует) кадры PPP в IP-пакеты для передачи по глобальной IP-сети, например, Интернет. L2TP может также использоваться для организации туннеля между двумя локальными сетями. L2ТР использует дополнительное UDP-соединение для обслуживания туннеля. L2TP-протокол не предоставляет средств шифрования данных и поэтому он обычно используется в связке с группой протоколов IPsec, которая предоставляет безопасность на пакетном уровне.
Алгоритм настройки
...
Шаг
...
Описание
...
Команда
...
Ключи
...
1
...
Создать L2TP-туннель и перейти в режим его конфигурирования.
...
esr(config)# tunnel l2tp <INDEX>
...
<INDEX> – идентификатор туннеля в диапазоне: [1..10].
...
2
...
Указать экземпляр VRF, в котором будет работать данный L2TP-туннель (не обязательно).
...
esr(config-l2tp)# ip vrf forwarding <VRF>
...
<VRF> – имя VRF, задаётся строкой до 31 символа.
...
3
...
Указать описание конфигурируемого туннеля (не обязательно).
...
esr(config-l2tp)# description <DESCRIPTION>
...
<DESCRIPTION> – описание туннеля, задается строкой до 255 символов.
...
4
...
Включить L2TP-туннель в зону безопасности и настроить правила взаимодействия между зонами или отключить firewall (см. раздел Конфигурирование Firewall).
...
esr(config-l2tp)# security-zone <NAME>
...
<NAME> – имя зоны безопасности, задаётся строкой до 31 символа.
...
esr(config-l2tp)# ip firewall disable
...
5
...
Установить удаленный IP-адрес для установки туннеля.
...
esr(config-l2tp)# remote address <ADDR>
...
<ADDR> – IP-адрес локального шлюза, задается в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].
...
6
...
Указать пользователя и установить пароль в открытой или зашифрованной форме для аутентификации удалённой стороны.
...
esr(config-l2tp)# username <NAME> password ascii-text
{ <WORD> | encrypted <HEX> }
...
<NAME> – имя пользователя, задается строкой до 31 символа.
<WORD> – пароль в открытой форме, задается строкой [8..64] символов, может включать символы [0-9a-fA-F].
<HEX> – пароль в зашифрованной форме, задается строкой [16..128] символов.
...
7
...
Выбрать метод аутентификации по ключу для IKE-соединения.
...
esr(config-l2tp)# ipsec authentication
method pre-shared-key
...
8
...
Указать общий секретный ключ для аутентификации, который должен совпадать у обоих сторон, устанавливающих туннель.
...
esr(config-l2tp)# ipsec authentication pre-shared-key
{ ascii-text { <TEXT> | encrypted <ENCRYPTED-TEXT> } |
hexadecimal {<HEX> | encrypted <ENCRYPTED-HEX> } }
...
<TEXT> – строка [1..64] ASCII-символов;
<HEX> – число размером [1..32] байт, задаётся строкой [2..128] символов в шестнадцатеричном формате (0xYYYY...) или (YYYY...);
<ENCRYPTED-TEXT> – зашифрованный пароль размером [1..32] байт, задаётся строкой [2..128] символов;
<ENCRYPTED-HEX> – зашифрованное число размером [2..64] байт, задаётся строкой [2..256] символов.
...
<NAME> – имя ранее созданного профиля протокола IKE, задаётся строкой до 31 символа.
...
esr(config-l2tp)# ipsec proposal <NAME>
...
<NAME> – имя ранее созданного профиля IPsec, задаётся строкой до 31 символа.
...
<PORT> – номер UDP-порта, задаётся в диапазоне [1024..65535].
Значение по умолчанию: 1701.
...
12
...
Активировать туннель.
...
esr(config-l2tp)# enable
...
13
...
Установить размер MTU (MaximumTransmitionUnit) для туннеля (не обязательно).
...
esr(config-l2tp)# mtu <MTU>
...
<MTU> – значение MTU, принимает значения в диапазоне [552..10000].
Значение по умолчанию: 1500.
...
14
...
Игнорировать маршрут по умолчанию через данный L2TP-туннель (не обязательно)
...
esr(config-l2tp)# ignore-default-route
...
15
...
Указать метод аутентификации (не обязательно).
...
esr(config-l2tp)# authentication method <METHOD>
...
<METHOD> – метод аутентификации, возможные значения: chap, mschap, mschap-v2, eap, pap
Значение по умолчанию: chap.
...
16
...
Задать интервал времени, за который усредняется статистика о нагрузке на туннель (не обязательно).
...
esr(config-l2tp)# load-average <TIME>
...
<TIME> – интервал в секундах, принимает значения [5..150]
Значение по умолчанию: 5.
...
esr(config-l2tp)# ppp timeout keepalive <TIME >
...
<TIME> – время в секундах, задается в диапазоне [1..32767].
Значение по умолчанию: 10.
...
esr(config-l2tp)# ppp failure-count <NUM>
...
<NUM> – количество неудачных data-link тестов, задается в диапазоне [1..100].
Значение по умолчанию: 10.
...
Также для L2TP-клиента возможно настроить QoS в базовом или расширенном режимах (см. раздел Управление QoS).
Пример настройки
Задача:
Настроить PPTP-туннель на маршрутизаторе:
- адрес PPTP-сервера 20.20.0.1;
- учетная запись для подключения – логин: ivan, пароль: simplepass
Решение:
Создадим туннель L2TP:
Блок кода |
---|
esr(config)# tunnel l2tp 1 |
Укажем учетную запись (пользователя Ivan) для подключения к серверу:
Блок кода |
---|
esr(config-l2tp)# username ivan password ascii-text simplepass |
Укажем удаленный шлюз:
Блок кода |
---|
esr(config-l2tp)# remote address 20.20.0.1 |
Укажем зону безопасности:
Блок кода |
---|
esr(config-l2tp)# security-zone VPN |
Укажем метод аутентификации IPsec:
Блок кода |
---|
esr(config-l2tp)# ipsec authentication method pre-shared-key |
Укажем ключ безопасности для IPsec:
Блок кода |
---|
esr(config-l2tp)# ipsec authentication pre-shared-key ascii-text password |
Включим туннель L2TP:
Блок кода |
---|
esr(config-l2tp)# enable |
Состояние туннеля можно посмотреть командой:
Блок кода |
---|
esr# show tunnels status l2tp |
Счетчики входящих и отправленных пакетов можно посмотреть командой:
Блок кода |
---|
esr# show tunnels counters l2tp |
Конфигурацию туннеля можно посмотреть командой:
Блок кода |
---|
esr# show tunnels configuration l2tp |
и примеры настройки функций управления удаленным доступом см. в документации ESR.
Примечание |
---|
Значения параметров для WLC-15/30/3200 идентичны значениям для ESR-15/15R/30/3200 соответственно. |