...
Scroll Ignore | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
Примеры настройки маршрутизатора
Настройка VLAN
VLAN (Virtual Local Area Network) — логическая («виртуальная») локальная сеть, представляет собой группу устройств, которые взаимодействуют между собой на канальном уровне независимо от их физического местонахождения. Работа VLAN основана на использовании дополнительных полей Ethernet-заголовка согласно стандарту 802.1q. По сути, VLAN изолирует широковещательный домен путем ограничения коммутации Ethernet-фреймов только с одинаковым VLAN-ID в Ethernet-заголовке.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Создать VLAN. | esr(config)# vlan <VID> | <VID> – идентификатор VLAN, задаётся в диапазоне [2..4094]. Также есть возможность создания нескольких vlan (через запятую) или диапазона vlan (через дефис). |
2 | Задать имя vlan (не обязательно). | esr(config-vlan)# name <vlan-name> | <vlan-name> – до 255 символов. |
3 | Отключить отслеживание состояния интерфейсов, на которых разрешена обработка Ethernet-фреймов данного VLAN (не обязательно) | esr(config-vlan)# force-up | |
4 | Отключить обработку входящих не тегированных Ethernet-фреймов на основе таблицы коммутации VLAN'а по умолчанию (VLAN-ID – 1) (не обязательно) | esr(config-if-gi)# no switchport forbidden default-vlan | |
5 | Установить режим работы физического интерфейса в L2-режим | esr(config-if-gi)# mode switchport | |
6 | Задать режим работы L2 интерфейса. | esr(config-if-gi)# switchport access | Только для ESR-10/12V(F)/14VF/20/21/100/200. Данный режим является режимом по умолчанию и не отображается в конфигурации. |
esr(config-if-gi)# switchport trunk | Только для ESR-10/12V(F)/14VF/20/21/100/200. | ||
esr(config-gi)# switchport general | Только для ESR-1000/1200/1500/1510/1700. Данный режим является режимом по умолчанию и не отображается в конфигурации. | ||
7 | Настроить список VLAN на интерфейсе в тегированном режиме. | esr(config-if-gi)# switchport trunk allowed vlan add <VID> | Для ESR-10/12V(F)/14VF/20/21/100/200. <VID> – идентификатор VLAN, задаётся в диапазоне [2..4094]. Также есть возможность создания нескольких vlan (через запятую) или диапазона vlan (через дефис). |
esr(config-if-gi)# switchport general allowed vlan add <VID> tagged | Для ESR-1000/1200/1500/1510/1700. <VID> – идентификатор VLAN, задаётся в диапазоне [2..4094]. Также есть возможность создания нескольких vlan (через запятую) или диапазона vlan (через дефис). | ||
8 | Настроить VLAN на интерфейсе в нетегированном режиме (не обязательно). | esr(config-if-gi)# switchport trunk native-vlan <VID> | Для ESR-10/12V(F)/14VF/20/21/100/200. <VID> – идентификатор VLAN, задаётся в диапазоне [2..4094]. |
esr(config-if-gi)# switchport general allowed vlan add <VID> untagged | Для ESR-1000/1200/1500/1510/1700. <VID> – идентификатор VLAN, задаётся в диапазоне [2..4094]. | ||
9 | Разрешить на интерфейсе обработку Ethernet-фреймов всех созданных на маршрутизаторе VLAN (не обязательно). | esr(config-if-gi)# switchport trunk allowed vlan auto-all | Только для ESR-10/12V(F)/14VF/20/21/100/200. |
esr(config-if-gi)# switchport general allowed vlan auto-all | Только для ESR-1000/1200/1500/1510/1700. |
Пример настройки 1. Удаление VLAN с интерфейса
Задача:
На основе заводской конфигурации удалить из VLAN 2 порт gi1/0/1.
Рисунок 1 – Схема сети
Решение:
Удалим VLAN 2 с порта gi1/0/1:
Блок кода |
---|
esr(config)# interface gi 1/0/1 esr(config-if-gi)# switchport general allowed vlan remove 2 untagged esr(config-if-gi)# no switchport general pvid |
Пример настройки 2. Разрешение обработки VLAN в тегированном режиме
Задача:
Настроить порты gi1/0/1 и gi1/0/2 для передачи и приема пакетов в VLAN 2, VLAN 64, VLAN 2000.
Рисунок 2 – Схема сети
Решение:
Создадим VLAN 2, VLAN 64, VLAN 2000 на ESR-1000:
...
Блок кода |
---|
esr-1000(config)# interface gi1/0/1 esr-1000(config-if-gi)# mode switchport esr-1000(config-if-gi)# switchport forbidden default-vlan esr-1000(config-if-gi)# switchport general allowed vlan add 2,64,2000 tagged |
Пример настройки 3. Разрешение обработки VLAN в тегированном и не тегированном режиме
Задача:
Настроить порты gi1/0/1 для передачи и приема пакетов в VLAN 2, VLAN 64, VLAN 2000 в режиме trunk, настроить порт gi1/0/2 в режиме access для VLAN 2 на ESR-100/ESR-200.
Рисунок 3 – Схема сети
Решение:
Создадим VLAN 2, VLAN 64, VLAN 2000 на ESR-100/ ESR-200:
...
Блок кода |
---|
esr(config)# interface gi1/0/2 esr(config-if-gi)# mode switchport esr(config-if-gi)# switchport access vlan 2 |
Настройка LLDP
Link Layer Discovery Protocol (LLDP) — протокол канального уровня, позволяющий сетевому оборудованию оповещать оборудование, работающее в локальной сети, о своём существовании и передавать ему свои характеристики, а также получать от него аналогичные сведения.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Активировать LLDP на маршрутизаторе | esr(config)# lldp enable | |
2 | Установить период, в течение которого маршрутизатор хранит информацию, полученную по LLDP (не обязательно). | esr(config)# lldp hold-multiplier <SEC> | <SEC> – период времени в секундах, принимает значение [1..10]. |
3 | Установить IP-адрес, который будет передаваться в LLDP TLV в качестве management-address (не обязательно). | esr(config)# lldp management-address <ADDR> | <ADDR> – IP-адрес, задается в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. По умолчанию задается один из существующих |
4 | Установить поле system-description, которое будет передаваться в LLDP TLV в качестве system-description (не обязательно). | esr(config)# lldp system-description <DESCRIPTION> | <DESCRIPION> – описание системы, задаётся строкой до 255 символов. По умолчанию содержит информацию о модели и версии ПО маршрутизатора. |
5 | Установить поле system-name, которое будет передаваться в LLDP TLV в качестве system-name (не обязательно). | esr(config)# lldp system-name <NAME> | <NAME> – имя системы, задается строкой до 255 символов. По умолчанию совпадает с заданным hostname |
6 | Установить период отправки LLDPDU (не обязательно). | esr(config)# lldp timer <SEC> | <SEC> – период времени в секундах, принимает значение [1..32768]. |
7 | Включить прием и обработку LLDPDU на физическом интерфейсе. | esr(config-if-gi)# lldp receive | |
8 | Включить отправку LLDPDU на физическом интерфейсе. | esr(config-if-gi)# lldp transmit |
Пример настройки
Задача:
Организовать обмен и обработку LLDPDU между маршрутизаторами ESR-1 и ESR-2.
Рисунок 4 – Схема сети
Решение:
Конфигурирование R1
Включим LLDP глобально на маршрутизаторе:Блок кода esr(config)# lldp enable
Включим прием и отправку LLDPDU на интерфейсе gi 1/0/1.
Блок кода esr(config)# interface gigabitethernet 1/0/1 esr(config-if-gi)# lldp receive esr(config-if-gi)# lldp transmit
- Конфигурирование R2
Включим LLDP глобально на маршрутизаторе:
Блок кода esr(config)# lldp enable
Включим прием и отправку LLDPDU на интерфейсе gi 1/0/1.
Блок кода esr(config)# interface gigabitethernet 1/0/1 esr(config-if-gi)# lldp receive esr(config-if-gi)# lldp transmit
Общую информацию по LLDP соседям можно посмотреть командой:
Блок кода esr# show lldp neighbors
Подробную информацию по соседу конкретного интерфейса можно посмотреть командой:
Блок кода esr# show lldp neighbors gigabitethernet 1/0/1
Общую статистику по LLDP можно посмотреть командой:
Блок кода esr# show lldp statistics
Настройка LLDP MED
LLDP MED — расширение стандарта LLDP, которое позволяет передавать сетевые политики: VLAN ID, DSCP, priority.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Активировать LLDP на маршрутизаторе | esr(config)# lldp enable | |
2 | Активировать расширение MED LLDP на маршрутизаторе | esr(config)# lldp med fast-start enable | |
3 | Создать сетевую политику | esr(config)# network-policy <NAME> | <NAME> – имя network-policy, задается строкой до 31 символа. |
4 | Указать тип приложения | esr(config-net-policy)# application <APP_TYPE> | <APP-TYPE> – тип приложения, для которого будет срабатывать network-policy.
|
5 | Установить значение DSCP | esr(config-net-policy)# dscp <DSCP> | <DSCP> – значение кода DSCP, принимает значения в диапазоне [0..63]. |
6 | Установить значение COS | esr(config-net-policy)# priority <PRIORITY> | <COS> – значение приоритета, принимает значения:
|
7 | Установить значение | esr(config-net-policy)# vlan <VID> [tagged] | <VID> – идентификационный номер VLAN, принимает значения [1…4094];
|
8 | Установить сетевую политику на интерфейс | esr(config-if-gi)# lldp network-policy <NAME> | <NAME> – имя network-policy, задается строкой до 31 символа. |
9 | Включить отправку LLDPDU на физическом интерфейсе. | esr(config-if-gi)# lldp transmit |
Пример настройки Voice VLAN
Voice VLAN — VLAN ID, при получении которого IP-телефон переходит в режим trunk с заданным VLAN ID для приема и отправки VoIP-трафика. Передача VLAN ID осуществляется посредством расширения MED протокола LLDP.
Задача:
Необходимо разделить трафик телефонии и данных по разным VLAN, vid 10 для данных и vid 20 для телефонии, и настроить отправку Voice VLAN с порта gi 1/0/1 ESR. При этом на IP-телефоне должен поддерживаться и быть включен Voice VLAN.
Рисунок 5 – Схема сети
Решение:
Предварительно необходимо создать VLAN 10 и 20 и настроить интерфейс gi 1/0/1 в режиме trunk:
...
Блок кода |
---|
esr(config)# interface gigabitethernet 1/0/1 esr(config-if-gi)# lldp transmit esr(config-if-gi)# lldp receive esr(config-if-gi)# lldp network-policy VOICE_VLAN esr(config-if-gi)# exit |
Настройка терминации на саб-интерфейсе
Для терминирования Ethernet-фреймов конкретного VLAN на определенном физическом интерфейсе необходимо создать саб-интерфейс с указанием номера VLAN, фреймы которого будут терминироваться. При создании двух саб-интерфейсов с одинаковыми VLAN, но на разных физических/агрегированных интерфейсах, коммутация Ethernet-фреймов между данными саб-интерфейсами будет невозможна т.к. сегменты за пределами саб-интерфейсов будут являться отдельными широковещательными доменами. Для обмена данными между абонентами разных саб-интерфейсов (даже с одинаковым VLAN-ID) будет использоваться маршрутизация, т.е. обмен данными будет происходить на третьем уровне модели OSI.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Создать саб-интерфейс физического интерфейса (возможно только если физичесикий интерфейс в режиме routeport). | esr(config)# interface gigabitethernet <PORT>.<S-VLAN> или interface tengigabitethernet <PORT>.<S-VLAN> или interface port-channel <CH>.<S-VLAN> | <PORT> – номер физического интерфейса. <CH> – номер агрегированного интерфейса. <S-VLAN> – идентификатор создаваемого S-VLAN. Если физический интерфейс включен в bridge-group, создать саб-интерфейс будет невозможно. |
2 | Задать описание саб-интерфейса (не обязательно). | esr(config-subif)# description <DESCRIPTION> | <DESCRIPTION> – описание интерфейса, задаётся строкой до 255 символов. |
3 | Указать экземпляр VRF, в котором будет работать данный саб-интерфейс (не обязательно). | esr(config- subif )# ip vrf forwarding <VRF> | <VRF> – имя VRF, задается строкой до 31 символа. |
4 | Установить интервал времени, в течение которого собирается статистика о нагрузке на саб-интерфейс (не обязательно). | esr(config-subif)# load-average <TIME> | <TIME> – интервал в секундах, принимает значения [5..150]. |
5 | Включить саб-интерфейс bridge-group (не обязательно). | esr(config-subif)#bridge-group <BRIDGE-ID> | <BRIDGE-ID> – идентификационный номер моста. |
6 | Установить время жизни IPv4/IPv6 записей в ARP-таблице, изученных на данном интерфейсе (не обязательно). | esr(config-subif)# ip arp reachable-time <TIME> или ipv6 nd reachable-time <TIME> | <TIME> – время жизни динамических MAC-адресов, в миллисекундах. Допустимые значения от 5000 до 100000000 миллисекунд. Реальное время обновления записи варьируется от [0,5;1,5]*<TIME>. |
Пример настройки саб-интерфейса
Задача:
Настроить терминацию подсети 192.168.3.1/24 в VLAN: 828 на физическом интерфейсе gigabitethernet 1/0/1.
Решение:
Создадим саб-интерфейс для VLAN: 828
...
Примечание |
---|
Помимо назначения IP-адреса, на саб-интерфейсе необходимо либо отключить firewall, либо настроить соответствующую зону безопасности. |
Настройка терминации на Q-in-Q интерфейсе
Q-in-Q – технология передачи пакетов с двумя 802.1q тегами. Данная технология используется для расширения количества используемых VLAN в сети передачи данных. Внутренним тегом (InnerTag) называется 802.1q заголовок ближе к payload. Так же внутренний тег называют C-VLAN (Customer VLAN). Внешний тег (OuterTag) – это 802.1q заголовок, добавленный к изначальному 802.1q пакетом, так же называется S-VLAN (Service VLAN). Использование двойных меток в Ethernet фреймах описывается протоколом 802.1ad.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Создать саб-интерфейс физического интерфейса (возможно только если физичесикй интерфейс в режиме routeport). | esr(config)# interface gigabitethernet <PORT>.<S-VLAN> или interface tengigabitethernet <PORT>.<S-VLAN> или interface port-channel <CH>.<S-VLAN> | <PORT> – номер физического интерфейса. <CH> – номер агрегированного интерфейса. <S-VLAN> – идентификатор создаваемого S-VLAN. |
2 | Создать Q-in-Q интерфейс. | esr(config)# interface gigabitethernet <PORT>.<S-VLAN>.<C-VLAN> или esr(config)# interface tengigabitethernet <PORT>.<S-VLAN>.<C-VLAN> или esr(config)# interface port-channel <CH>.<S-VLAN>.<C-VLAN> | <PORT> – номер физического интерфейса. <CH> – номер агрегированного интерфейса. <S-VLAN> – идентификатор создаваемого S-VLAN. <C-VLAN> – идентификатор создаваемого C-VLAN. Если физический или саб-интерфейс включен в bridge-group, создать саб-интерфейс будет невозможно. |
3 | Задать описание Q-in-Q интерфейс (не обязательно). | esr(config-qinq-if)# description <DESCRIPTION> | <DESCRIPTION> – описание интерфейса, задаётся строкой до 255 символов. |
4 | Указать экземпляр VRF, в котором будет работать данный Q-in-Q интерфейс (не обязательно). | esr(config- qinq-if) # ip vrf forwarding <VRF> | <VRF> – имя VRF, задается строкой до 31 символа. |
5 | Установить интервал времени, в течение которого собирается статистика о нагрузке на Q-in-Q интерфейс (не обязательно). | esr(config-qinq-if)# load-average <TIME> | <TIME> – интервал в секундах, принимает значения [5..150]. |
6 | Включить Q-in-Q интерфейс bridge-group (не обязательно). | esr(config-qinq-if)#bridge-group <BRIDGE-ID> | <BRIDGE-ID> – идентификационный номер моста. |
7 | Установить время жизни IPv4/IPv6 записей в ARP-таблице изученных на данном Q-in-Q интерфейсе (не обязательно). | esr(config-qinq-if)# ip arp reachable-time <TIME> или ipv6 nd reachable-time <TIME> |
Пример настройки Q-in-Q интерфейса
Задача:
Настроить терминацию подсети 192.168.1.1/24 комбинации C-VLAN: 741, S-VLAN: 828 на физическом интерфейсе gigabitethernet 1/0/1.
Решение:
Создадим саб-интерфейс для S-VLAN: 828
...
Примечание |
---|
Помимо назначения IP-адреса, на Q-in-Q саб-интерфейсе необходимо либо отключить firewall, либо настроить соответствующую зону безопасности. |
Настройка USB модемов
Использование USB-модемов позволяет организовать дополнительный канал связи для работы маршрутизатора. При подключении USB-модемов возможно использовать USB-концентраторы. Одновременно в системе может быть сконфигурировано до 10-ти USB-модемов.
Якорь Алгоритм настройки USB-модемов Алгоритм настройки USB-модемов
Алгоритм настройки USB-модемов
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | После подключения USB-модема дождаться, когда система обнаружит подключенное устройство | ||
2 | Определить, какой номер устройства назначен на подключенный USB-модем | esr# show cellulars status modem | В поле "USB port" будет указан идентификатор подключенного устройства. |
3 | Создать профиль настроек для USB-модема и перейти в режим конфигурирования профиля | esr(config)# cellular profile <ID> | <ID> – идентификатор профиля настроек для USB-модема в системе [1..10]. |
4 | Задать описание профиля настроек (не обязательно) | esr(config-cellular-profile)# description <DESCRIPTION> | <DESCRIPTION> – описание интерфейса, задаётся строкой до 255 символов. |
5 | Задать точку доступа мобильной сети | esr(config-cellular-profile)# apn <NAME> | <NAME> – точка доступа мобильной сети, задаётся строкой до 31 символа. |
6 | Задать имя пользователя мобильной сети (если мобильный оператор требует данное поле) | esr(config-cellular-profile)# user <NAME> | <NAME> – имя пользователя, задаётся строкой до 31 символа. |
7 | Установить пароля для пользователя мобильной сети (если мобильный оператор требует данное поле) | esr(config-user)# password ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> } | <CLEAR-TEXT> – пароль в открытой форме, задаётся строкой [1 .. 64] символов, может включать символы [0-9a-fA-F]; <ENCRYPTED-TEXT> – пароль в зашифрованной форме, задаётся строкой [2..128] символов. |
8 | Установить номер дозвона для подключения к мобильной сети | esr(config-cellular-profile)# number <WORD> | <WORD> – номер дозвона для подключения к мобильной сети, задаётся строкой до 15 символов. |
9 | Задать метод аутентификации пользователя в мобильной сети (не обязательно) | esr(config-cellular-profile)# allowed-auth <TYPE> | <TYPE> – метод аутентификации пользователя в мобильной сети [none, PAP, CHAP, MSCHAP, MSCHAPv2, EAP]. |
10 | Ограничить возможность использования семейств IP-адресов в мобильной сети. | esr(config-cellular-profile)# ip-version |
|
11 | Создать USB-модем в конфигурации маршрутизатора и перейти в режим конфигурирования модема | esr(config)# cellular modem <ID> | <ID> – идентификатор USB-модема в системе [1..10]. |
12 | Указать экземпляр VRF, в котором будет работать данный модем (не обязательно). | esr(config-cellular-modem)# ip vrf forwarding <VRF> | <VRF> – имя VRF, задается строкой до 31 символа. |
13 | Задать идентификатор USB-модема, назначенного системой (определен в пункте 2.) | esr(config-cellular-modem)# device <WORD> | <WORD> – идентификатор USB-порта подключенного модема [1..12]. |
14 | Назначить ранее созданный профиль настроек для USB-модема | esr(config-cellular-modem)# profile <ID> | <ID> – идентификатор профиля настроек для USB-модема в системе [1..10]. |
15 | Задать код разблокировки SIM-карты (в случае необходимости) | esr(config-cellular-modem)# pin <WORD> | <WORD> – код разблокировки SIM-карты [4..8]. Возможно использование только цифр. |
16 | Разрешить использование того или иного режима работы USB-модема (не обязательно) | esr(config-cellular-modem)# allowed-mode <MODE> | <MODE> – допустимый режим работы USB-модема [2g, 3g, 4g]. По умолчанию: разрешены все режимы, поддерживаемые модемом. |
17 | Задать размер максимального принимаемого пакета (не обязательно) | esr(config-cellular-modem)# mru { <MRU> } | <MRU> – значение MRU, принимает значения в диапазоне [128..16383]. |
18 | Задать предпочтительный режим работы USB-модема в мобильной сети (не обязательно) | esr(config-cellular-modem)# preferred-mode { <MODE> } | <MODE> – предпочтительный режим работы USB-модема [2g, 3g, 4g] |
19 | Активировать USB-модем | esr(config-cellular-modem)# enable |
|
Пример настройки
Задача:
Настроить подключение к сети Интернет, используя USB-модем.
Решение:
Для примера разберём подключение к сотовому оператору МТС.
...
Блок кода |
---|
esr(config-cellular-modem)# profile 1 esr(config-cellular-modem)# enable |
Настройка ААА
AAA (Authentication, Authorization, Accounting) – используется для описания процесса предоставления доступа и контроля над ним.
- Authentication (аутентификация) – сопоставление персоны (запроса) существующей учётной записи в системе безопасности. Осуществляется по логину, паролю.
- Authorization (авторизация, проверка полномочий, проверка уровня доступа) – сопоставление учётной записи в системе и определённых полномочий.
- Accounting (учёт) – слежение за подключением пользователя или внесенным им изменениям.
Алгоритм настройки локальной аутентификации
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Указать local в качестве метода аутентификации. | esr(config)# aaa authentication login { default | <NAME> } <METHOD 1> [ <METHOD 2> ] [ <METHOD 3> ] [ <METHOD 4> ] | <NAME> – имя списка, задаётся строкой до 31 символа. Способы аутентификации:
|
2 | Указать enable в качестве способа аутентификации повышения привилегий пользователей. | esr(config)# aaa authentication enable <NAME><METHOD 1> [ <METHOD 2> ] [ <METHOD 3> ] [ <METHOD 4> ] | <NAME> – имя списка, задаётся строкой до 31 символа. Способы аутентификации:
|
3 | Указать способ перебора методов аутентификации в случае отказа (не обязательно). | esr(config)# aaa authentication mode <MODE> | <MODE> – способы перебора методов:
Значение по умолчанию: chain. |
4 | Указать количество неудачных попыток аутентификации для блокировки логина пользователя и время блокировки (не обязательно) | esr(config)# aaa authentication attempts max-fail <COUNT> <TIME> | <COUNT> – количество неудачных попыток аутентификации, после которых произойдет блокировка пользователя, принимает значения [1..65535]; <TIME> – интервал времени в минутах, на который будет заблокирован пользователь, принимает значения [1..65535]. Значение по умолчанию: |
5 | Включить запрос на смену пароля по умолчанию для пользователя admin (не обязательно) | esr(config)# security passwords default-expired | |
6 | Включить режим запрета на использование ранее установленных паролей локальных пользователей (не обязательно) | esr(config)# security passwords history <COUNT> | <COUNT> – количество паролей сохраняемых в памяти маршрутизатора. Принимает значение в диапазоне [1..15]. Значение по умолчанию: 0 |
7 | Установить время действия пароля локального пользователя (не обязательно) | esr(config)# security passwords lifetime <TIME> | <TIME> – интервал времени действия пароля в днях. Принимает значение в диапазоне [1..365]. По умолчанию: Время действия пароля локального пользователя неограниченно. |
8 | Установить ограничение на минимальную длину пароля локального пользователя и ENABLE-пароля (не обязательно) | esr(config)# security passwords min-length <NUM> | <NUM> – минимальное количество символов в пароле. Принимает значение в диапазоне [8..128]. Значение по умолчанию: 0 |
9 | Установить ограничение на максимальную длину пароля локального пользователя и ENABLE-пароля (не обязательно) | esr(config)# security passwords max-length <NUM> | <NUM> – максимальное количество символов в пароле. Принимает значение в диапазоне [8..128]. Значение по умолчанию: не ограничено. |
10 | Установить минимальное количество типов символов, которые должны присутствовать в пароле локального пользователя и ENABLE-пароле (не обязательно) | esr(config)# security passwords symbol-types <COUNT> | <COUNT> – минимальное количество типов символов в пароле. Принимает значение в диапазоне [1..4]. Значение по умолчанию: 1 |
11 | Установить минимальное количество строчных букв в пароле локального пользователя и ENABLE-пароле (не обязательно) | esr(config)# security passwords lower-case <COUNT> | <COUNT> – минимальное количество строчных букв в пароле локального пользователя и ENABLE-пароле. Принимает значение в диапазоне [0..128]. Значение по умолчанию: 0 |
12 | Установить минимальное количество прописных (заглавных) букв в пароле локального пользователя и ENABLE-пароле (не обязательно) | esr(config)# security passwords upper-case <COUNT> | <COUNT> – минимальное количество прописных (заглавных) букв в пароле. Принимает значение в диапазоне [0..128]. Значение по умолчанию: 0 |
13 | Установить минимальное количество цифр в пароле локального пользователя и ENABLE-пароле (не обязательно) | esr(config)# security passwords numeric-count <COUNT> | <COUNT> – минимальное количество цифр в пароле. Принимает значение в диапазоне [0..128]. Значение по умолчанию: 0 |
14 | Установить минимальное количество специальных символов в пароле локального пользователя и ENABLE-пароле (не обязательно) | esr(config)# security passwords special-case <COUNT> | <COUNT> – минимальное количество специальных символов в пароле. Принимает значение в диапазоне [0..128]. Значение по умолчанию: 0 |
15 | Добавить пользователя в локальную базу и перейти в режим настройки параметров пользователя | esr(config)# username <NAME> | <NAME> – имя пользователя, задаётся строкой до 31 символа. |
16 | Установить пароль пользователя | esr(config-user)# password { <CLEAR-TEXT> | encrypted <HASH_SHA512> } | <CLEAR-TEXT> – пароль, задаётся строкой [8 .. 32] символов, принимает значения [0-9a-fA-F]; <HASH_SHA512> – хеш пароля по алгоритму sha512, задаётся строкой из 110 символов. |
17 | Установить уровень привилегий пользователя | esr(config-user)# privilege <PRIV> | <PRIV> – необходимый уровень привилегий. Принимает значение [1..15]. |
18 | Перейти в режим конфигурирования соответствующего терминала | esr(config)# line console или esr(config)# line telnet или esr(config)# line ssh | |
19 | Активировать список аутентификации входа пользователей в систему | esr(config-line-ssh)# login authentication <NAME> | <NAME> – имя списка, задаётся строкой до 31 символа. |
20 | Активировать список аутентификации повышения привилегий пользователей | esr(config-line-ssh)# enable authentication <NAME> | <NAME> – имя списка, задаётся строкой до 31 символа. |
21 | Задать интервал, по истечении которого будет разрываться бездействующая сессия | esr(config-line-ssh)# exec-timeout <SEC> | <SEC> – период времени в минутах, принимает значения [1..65535]. |
Алгоритм настройки AAA по протоколу RADIUS
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Задать глобальное значение кода DSCP для использования в IP-заголовках исходящих пакетов RADIUS-сервера (не обязательно). | esr(config)# radius-server dscp <DSCP> | <DSCP> – значение кода DSCP, принимает значения в диапазоне [0..63]. Значение по умолчанию: 63. |
2 | Задать глобальное значение количества перезапросов к последнему активному RADIUS-серверу (не обязательно). | esr(config)# radius-server retransmit <COUNT> | <COUNT> – количество перезапросов к RADIUS-серверу, принимает значения [1..10]. Значение по умолчанию: 1. |
3 | Задать глобальное значение интервала, по истечении которого маршрутизатор считает, что RADIUS-сервер недоступен (не обязательно). | esr(config)# radius-server timeout <SEC> | <SEC> – период времени в секундах, принимает значения [1..30]. Значение по умолчанию: 3 секунды. |
4 | Добавить RADIUS-сервер в список используемых серверов и перейти в режим его конфигурирования. | esr(config)# radius-server host { <IP-ADDR> | <IPV6-ADDR> } [ vrf <VRF> ] | <IP-ADDR> – IP-адрес RADIUS-сервера, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <IPV6-ADDR> – IPv6-адрес RADIUS-сервера, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF] <VRF> – имя экземпляра VRF, задается строкой до 31 символа. |
5 | Указать количество неудачных попыток аутентификации для блокировки логина пользователя и времени блокировки (не обязательно). | aaa authentication attempts max-fail <COUNT> <TIME> | <COUNT> – количество неудачных попыток аутентификации, после которых произойдет блокировка пользователя, принимает значения [1..65535]; <TIME> – интервал времени в секундах, на который будет заблокирован пользователь, принимает значения [1..65535]. Значение по умолчанию: <COUNT> – 5; <TIME> – 300 |
6 | Задать пароль для аутентификации на удаленном RADIUS-сервере. | esr(config-radius-server)# key ascii-text { <TEXT> | encrypted <ENCRYPTED-TEXT> } | <TEXT> – строка [8..16] ASCII-символов; <ENCRYPTED-TEXT> – зашифрованный пароль, размером [8..16] байт, задаётся строкой [16..32] символов. |
7 | Задать приоритет использования удаленного RADIUS-сервера (не обязательно). | esr(config-radius-server)# priority <PRIORITY> | <PRIORITY> – приоритет использования удаленного сервера, принимает значения [1..65535]. Чем ниже значение, тем приоритетнее сервер. Значение по умолчанию: 1. |
8 | Задать интервал, по истечении которого маршрутизатор считает, что данный RADIUS-сервер недоступен (не обязательно). | esr(config-radius-server)# timeout <SEC> | <SEC> – период времени в секундах, принимает значения [1..30]. Значение по умолчанию: используется значение глобального таймера. |
9 | Задать IPv4/IPv6-адрес, который будет использоваться в качестве IP/IPv6-адреса источника в отправляемых RADIUS-пакетах. | esr(config-radius-server)# source-address { <ADDR> | <IPV6-ADDR> } | <ADDR> – IP-адрес источника, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <IPV6-ADDR> – IPv6-адрес источника, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]. |
10 | Указать radius в качестве метода аутентификации. | esr(config)# aaa authentication login { default | <NAME> } <METHOD 1> [ <METHOD 2> ] [ <METHOD 3> ] [ <METHOD 4> ] | <NAME> – имя списка, задаётся строкой до 31 символа. Способы аутентификации:
|
11 | Указать radius в качестве способа аутентификации повышения привилегий пользователей. | esr(config)# aaa authentication enable <NAME><METHOD 1> | <NAME> – имя списка строка до 31 символа;
<METHOD> – способы аутентификации:
|
12 | Указать способ перебора методов аутентификации в случае отказа (не обязательно). | esr(config)# aaa authentication mode <MODE> | <MODE> – способы перебора методов:
Значение по умолчанию: chain. |
13 | Сконфигурировать radius в списке способов учета сессий пользователей (не обязательно). | esr(config)# aaa accounting login start-stop <METHOD 1> | <METHOD> – способы учета:
|
14 | Перейти в режим конфигурирования соответствующего терминала. | esr(config)# line <TYPE> | <TYPE> – тип консоли:
|
15 | Активировать список аутентификации входа пользователей в систему. | esr(config-line-console)# login authentication <NAME> | <NAME> – имя списка, задаётся строкой до 31 символа. Создано на шаге 8. |
16 | Активировать список аутентификации повышения привилегий пользователей. | esr(config-line-console)# enable authentication <NAME> | <NAME> – имя списка, задаётся строкой до 31 символа. Создано на шаге 9. |
Алгоритм настройки AAA по протоколу TACACS
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Задать глобальное значение кода DSCP для использования в IP-заголовках исходящих пакетов TACACS-сервера (не обязательно). | esr(config)# tacacs-server dscp <DSCP> | <DSCP> – значение кода DSCP, принимает значения в диапазоне [0..63]. Значение по умолчанию: 63. |
2 | Задать глобальное значение интервала, по истечении которого маршрутизатор считает, что TACACS-сервер недоступен (не обязательно). | esr(config)# tacacs-server timeout <SEC> | <SEC> – период времени в секундах, принимает значения [1..30]. Значение по умолчанию: 3 секунды. |
3 | Добавить TACACS-сервер в список используемых серверов и перейти в режим его конфигурирования. | esr(config)# tacacs -server host { <IP-ADDR> | <IPV6-ADDR> } [ vrf <VRF> ] esr(config- tacacs -server)# | <IP-ADDR> – IP-адрес TACACS-сервера, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255] <IPV6-ADDR> – IPv6-адрес TACACS -сервера, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF] <VRF> – имя экземпляра VRF, задается строкой до 31 символа. |
4 | Указать количество неудачных попыток аутентификации для блокировки логина пользователя и время блокировки (не обязательно) | aaa authentication attempts max-fail <COUNT> <TIME> | <COUNT> – количество неудачных попыток аутентификации, после которых произойдет блокировка пользователя, принимает значения [1..65535]; <TIME> – интервал времени в минутах, на который будет заблокирован пользователь, принимает значения [1..65535]. Значение по умолчанию: <COUNT> – 5; <TIME> – 300 |
5 | Задать пароль для аутентификации на удаленном TACACS-сервере | esr(config-tacacs-server)# key ascii-text { <TEXT> | encrypted <ENCRYPTED-TEXT> } | <TEXT> – строка [8..16] ASCII-символов; <ENCRYPTED-TEXT> – зашифрованный пароль, размером [8..16] байт, задаётся строкой [16..32] символов. |
6 | Задать номер порта для обмена данными c удаленным TACACS-сервером (не обязательно). | esr(config-tacacs-server)# port <PORT> | <PORT> – номер TCP-порта для обмена данными c удаленным сервером, принимает значения [1..65535]. Значение по умолчанию: 49 для TACACS-сервера. |
7 | Задать приоритет использования удаленного TACACS сервера (не обязательно). | esr(config-tacacs-server)# priority <PRIORITY> | <PRIORITY> – приоритет использования удаленного сервера, принимает значения [1..65535]. Чем ниже значение, тем приоритетнее сервер. Значение по умолчанию: 1. |
8 | Задать IPv4/IPv6-адрес, который будет использоваться в качестве IP/IPv6-адреса источника в отправляемых TACACS-пакетах. | esr(config-radius-tacacs)# source-address { <ADDR> | <IPV6-ADDR> } | <ADDR> – IP-адрес источника, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
9 | Указать TACACS в качестве способа аутентификации повышения привилегий пользователей. | esr(config)# aaa authentication enable <NAME><METHOD 1> [ <METHOD 2> ] [ <METHOD 3> ] [ <METHOD 4> ] | <NAME> – имя списка строка до 31 символа;
<METHOD> – способы аутентификации:
|
10 | Указать способ перебора методов аутентификации в случае отказа (не обязательно). | esr(config)# aaa authentication mode <MODE> | <MODE> – способы перебора методов:
Значение по умолчанию: chain. |
11 | Сконфигуровать список способов учета команд, введённых в CLI (не обязательно). | esr(config)# aaa accounting commands stop-only tacacs | |
12 | Сконфигурировать tacacs в списке способов учета сессий пользователей (не обязательно). | esr(config)# aaa accounting login start-stop <METHOD 1> [ <METHOD 2> ] | <METHOD> – способы учета:
|
13 | Перейти в режим конфигурирования соответствующего терминала. | esr(config)# line <TYPE> | <TYPE> – тип консоли:
|
14 | Активировать список аутентификации входа пользователей в систему. | esr(config-line-console)# login authentication <NAME> | <NAME> – имя списка, задаётся строкой до 31 символа. Создано на шаге 7. |
15 | Активировать список аутентификации повышения привилегий пользователей. | esr(config-line-console)# enable authentication <NAME> | <NAME> – имя списка, задаётся строкой до 31 символа. Создано на шаге 8. |
Алгоритм настройки AAA по протоколу LDAP
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Задать базовый DN (Distinguished name), который будет использоваться при поиске пользователей. | esr(config)# ldap-server base-dn <NAME> | <NAME> – базовый DN, задается строкой до 255 символов. |
2 | Задать интервал, по истечении которого устройство считает, что LDAP-сервер недоступен (не обязательно). | esr(config)# ldap-server bind timeout <SEC> | <SEC> – период времени в секундах, принимает значения [1..30]. Значение по умолчанию: 3 секунды. |
3 | Задать DN (Distinguished name) пользователя с правами администратора, под которым будет происходить авторизация на LDAP-сервере при поиске пользователей. | esr(config)# ldap-server bind authenticate root-dn <NAME> | <NAME> – DN пользователя с правами администратора, задается строкой до 255 символов. |
4 | Задать пароль пользователя с правами администратора, под которым будет происходить авторизация на LDAP-сервере при поиске пользователей. | esr(config)# ldap-server bind authenticate root-password ascii-text { <TEXT> | encrypted <ENCRYPTED-TEXT> } | <TEXT> – строка [8..16] ASCII-символов; <ENCRYPTED-TEXT> – зашифрованный пароль, размером [8..16] байт, задаётся строкой [16..32] символов. |
5 | Задать имя класса объектов, среди которых необходимо выполнять поиск пользователей на LDAP-сервере (не обязательно). | esr(config)# ldap-server search filter user-object-class <NAME> | <NAME> – имя класса объектов, задаётся строкой до 127 символов. Значение по умолчанию: posixAccount. |
6 | Задать область поиска пользователей в дереве LDAP-сервера (не обязательно). | esr(config)# ldap-server search scope <SCOPE> | <SCOPE> – область поиска пользователей на LDAP-сервере, принимает следующие значения:
Значение по умолчанию: subtree. |
7 | Задать интервал, по истечении которого устройство считает, что LDAP-сервер не нашел записей пользователей, подходящих под условие поиска (не обязательно). | esr(config)# ldap-server search timeout <SEC> | <SEC> – период времени в секундах, принимает значения [0..30] Значение по умолчанию: 0 – устройство ожидает завершения поиска и получения ответа от LDAP-сервера. |
8 | Задать имя атрибута объекта, со значением которого идет сравнение имени искомого пользователя на LDAP-сервере (не обязательно). | esr(config)# ldap-server naming-attribute <NAME> | <NAME> – имя атрибута объекта, задаётся строкой до 127 символов. Значение по умолчанию: uid. |
9 | Задать имя атрибута объекта, значение которого будет определять начальные привилегии пользователя на устройстве (не обязательно). | esr(config)# ldap-server privilege-level-attribute <NAME> | <NAME> – имя атрибута объекта, задаётся строкой до 127 символов. Значение по умолчанию: priv-lvl |
10 | Задать глобальное значение кода DSCP для использования в IP-заголовках исходящих пакетов LDAP-сервера (не обязательно). | esr(config)# ldap-server dscp <DSCP> | <DSCP> – значение кода DSCP, принимает значения в диапазоне [0..63]. Значение по умолчанию: 63 |
11 | Добавить LDAP-сервер в список используемых серверов и перейти в режим его конфигурирования. | esr(config)# ldap -server host { <IP-ADDR> | <IPV6-ADDR> } [ vrf <VRF> ] esr(config- tacacs -server)# | <IP-ADDR> – IP-адрес LDAP-сервера, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255] <IPV6-ADDR> – IPv6-адрес TACACS -сервера, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF] <VRF> – имя экземпляра VRF, задается строкой до 31 символа. |
12 | Указать количество неудачных попыток аутентификации для блокировки логина пользователя и время блокировки (не обязательно) | aaa authentication attempts max-fail <COUNT> <TIME> | <COUNT> – количество неудачных попыток аутентификации, после которых произойдет блокировка пользователя, принимает значения [1..65535]; <TIME> – интервал времени в минутах, на который будет заблокирован пользователь, принимает значения [1..65535]. Значение по умолчанию: <COUNT> – 5; <TIME> – 300 |
13 | Задать номер порта для обмена данными c удаленным LDAP-сервером (не обязательно). | esr(config-ldap-server)# port <PORT> | <PORT> – номер TCP-порта для обмена данными c удаленным сервером, принимает значения [1..65535]. Значение по умолчанию: 389 для LDAP-сервера. |
14 | Задать приоритет использования удаленного LDAP-сервера (не обязательно). | esr(config-ldap-server)# priority <PRIORITY> | <PRIORITY> – приоритет использования удаленного сервера, принимает значения [1..65535]. Чем ниже значение, тем приоритетнее сервер. Значение по умолчанию: 1. |
15 | Задать IPv4/IPv6-адрес, который будет использоваться в качестве IP/IPv6-адреса источника в отправляемых LDAP-пакетах. | esr(config-ldap-server)# source-address { <ADDR> | <IPV6-ADDR> } | <ADDR> – IP-адрес источника, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <IPV6-ADDR> – IPv6-адрес источника, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]. |
16 | Указать LDAP в качестве метода аутентификации. | esr(config)# aaa authentication login { default | <NAME> } <METHOD 1> [ <METHOD 2> ] [ <METHOD 3> ] [ <METHOD 4> ] | <NAME> – имя списка, задаётся строкой до 31 символа. Способы аутентификации:
|
17 | Указать LDAP в качестве способа аутентификации повышения привилегий пользователей. | esr(config)# aaa authentication enable <NAME><METHOD 1> [ <METHOD 2> ] [ <METHOD 3> ] [ <METHOD 4> ] | <NAME> – имя списка строка до 31 символа;
<METHOD> – способы аутентификации:
|
18 | Указать способ перебора методов аутентификации в случае отказа. | esr(config)# aaa authentication mode <MODE> | <MODE> – способы перебора методов:
Значение по умолчанию: chain. |
19 | Перейти в режим конфигурирования соответствующего терминала. | esr(config)# line <TYPE> | <TYPE> – тип консоли:
|
20 | Активировать список аутентификации входа пользователей в систему. | esr(config-line-console)# login authentication <NAME> | <NAME> – имя списка, задаётся строкой до 31 символа. Создано на шаге 14. |
21 | Активировать список аутентификации повышения привилегий пользователей. | esr(config-line-console)# enable authentication <NAME> | <NAME> – имя списка, задаётся строкой до 31 символа. Создано на шаге 15. |
Пример настройки аутентификации по telnet через RADIUS-сервер
Задача:
Настроить аутентификацию пользователей, подключающихся по Telnet, через RADIUS (192.168.16.1/24).
Решение:
Настроим подключение к RADIUS-серверу и укажем ключ (password):
...
Блок кода |
---|
esr# show aaa authentication |
Настройка привилегий команд
Настройка привилегий команд является гибким инструментом, который позволяет назначить набору команд минимально необходимый уровень пользовательских привилегий (1-15). В дальнейшем при создании пользователя можно задать уровень привилегий, определяя ему доступный набор команд.
- 1-9 уровни – позволяют использовать все команды мониторинга (show …);
- 10-14 уровни – позволяют использовать все команды кроме команд перезагрузки устройства, управления пользователями и ряда других;
- 15 уровень – позволяет использовать все команды.
Алгоритм настройки
Для изменения минимального уровня привилегий необходимого для выполнения команды CLI используется команда:
...
<COMMAND> – поддерево команд, задается строкой до 255 символов.
Пример настройки привилегий команд
Задача:
Перевести все команды просмотра информации об интерфейсах на уровень привилегий 10, кроме команды «show interfaces bridges». Команду «show interfaces bridges» перевести на уровень привилегий 3.
Решение:
В режиме конфигурирования определим команды, разрешенные на использование с уровнем привилегий 10 и уровнем привилегий 3:
Блок кода |
---|
esr(config)# privilege root level 3 "show interfaces bridge" esr(config)# privilege root level 10 "show interfaces" |
Настройка DHCP-сервера
Встроенный DHCP-сервер маршрутизатора может быть использован для настройки сетевых параметров устройств в локальной сети. DHCP-сервер маршрутизаторов способен передавать дополнительные опции на сетевые устройства, например:
- default-router – IP-адрес маршрутизатора, используемого в качестве шлюза по умолчанию;
- domain-name – доменное имя, которое должен будет использовать клиент при разрешении имен хостов через Систему Доменных Имен (DNS);
- dns-server – список адресов серверов доменных имен в данной сети, о которых должен знать клиент. Адреса серверов в списке располагаются в порядке убывания предпочтения.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Включить IPv4/IPv6 DHCP-сервер. | esr(config)# ip dhcp-server [vrf <VRF>] | <VRF> – имя экземпляра VRF, в рамках которого будет работать DHCP-сервер. Задается строкой до 31 символа. |
esr(config)# ipv6 dhcp-server [vrf <VRF>] | |||
2 | Задать значение кода DSCP для использования в IP-заголовке исходящих пакетов DHCP-сервера (не обязательно). | esr(config)# ip dhcp-server dscp <DSCP> | <DSCP> – значение кода DSCP, принимает значения в диапазоне [0..63]. Значение по умолчанию: 61. |
3 | Создать пул IPv4/IPv6-адресов DHCP-сервера и перейти в режим его конфигурирования. | esr(config)# ip dhcp-server pool <NAME> [vrf <VRF>] | <NAME> – имя пула IPv4/IPv6-адресов DHCP-сервера, задаётся строка до 31 символа. <VRF> – имя экземпляра VRF, в рамках которого будет работать данный пул IP-адресов DHCP-сервера. Задается строкой до 31 символа |
esr(config)# ipv6 dhcp-server pool <NAME> [vrf <VRF>] | |||
4 | Задать IPv4/IPv6-адрес и маску для подсети, из которой будет выделен пул IPv4/IPv6-адресов. | esr(config-dhcp-server)# network <ADDR/LEN> | <ADDR/LEN> – IP-адрес и префикс подсети, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32]. |
esr(config-ipv6-dhcp-server)# network <IPV6-ADDR/LEN> | <IPV6-ADDR/LEN> – IP-адрес и префикс подсети, задаётся в виде X:X:X:X::X/EE, где каждая часть X принимает значения в шестнадцатеричном формате [0..FFFF] и EE принимает значения [1..128]. | ||
5 | Добавить диапазон IPv4/IPv6-адресов к пулу адресов, конфигурируемого DHCP-сервера. | esr(config-dhcp-server)# address-range <FROM-ADDR>-<TO-ADDR> | <FROM-ADDR> – начальный IP-адрес диапазона; <TO-ADDR> – конечный IP-адрес диапазона, Адреса задаются в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. Можно указать до 32 диапазонов IP-адресов, список задаётся через запятую. |
esr(config-ipv6-dhcp-server)# address-range <FROM-ADDR>-<TO-ADDR> | <FROM-ADDR> – начальный IPv6-адрес диапазона; <TO-ADDR> – конечный IP-адрес диапазона; Адреса задаются в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]. | ||
6 | Добавить IPv4/IPv6-адрес для определенного физического адреса к пулу адресов конфигурируемого DHCP-сервера (не обязательно). | esr(config-dhcp-server)# address <ADDR> {mac-address <MAC> | client-identifier <CI>} | <ADDR> – IP-адрес клиента, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <MAC> – МАС-адрес клиента, которому будет выдан IP-адрес, задаётся в виде XX:XX:XX:XX:XX:XX, где каждая часть принимает значения [00..FF]. <CI> – идентификатор клиента согласно DHCPOption61. Может быть задан в одном из следующих видов:
|
esr(config-ipv6-dhcp-server)# address <ADDR> mac-address <MAC> | <IPV6-ADDR> – IPv6-адрес клиента, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]; <MAC> – МАС-адрес клиента, которому будет выдан IPv6-адрес, задаётся в виде XX:XX:XX:XX:XX:XX, где каждая часть принимает значения [00..FF] | ||
7 | Задать список IPv4-адресов шлюзов по умолчанию, которые DHCP-сервер будет сообщать клиентам, используя DHCP-опцию 3. | esr(config-dhcp-server)# default-router <ADDR> | <ADDR> – IP-адрес шлюза по умолчанию, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. Можно указать до 8 IP-адресов, список задаётся через запятую. |
8 | Задать DNS-имя сетевого домена. Имя домена передаётся клиентам в составе DHCP-опции 15 (не обязательно). | esr(config-dhcp-server)# domain-name <NAME> | <NAME> – DNS-имя домена клиента, задаётся строкой до 255 символов. |
esr(config-ipv6-dhcp-server)# domain-name <NAME> | |||
9 | Задать список IPv4/IPv6-адресов DNS-серверов. Список передаётся клиентам в составе DHCP-опции 6 (не обязательно). | esr(config-dhcp-server)# dns-server <ADDR> | <ADDR> – IP-адрес DNS-сервера, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. Можно указать до 8 IP-адресов, список задаётся через запятую. |
esr(config-ipv6-dhcp-server)# dns-server <IPV6-ADDR> | <IPV6-ADDR> – IPv6-адрес DNS-сервера, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]. Можно указать до 8 IPv6-адресов, список задаётся через запятую. | ||
10 | Задать максимальное время аренды IP-адресов (не обязательно). Если DHCP-клиент запрашивает время аренды, превосходящее максимальное значение, то будет установлено время, заданное этой командой. | esr(config-dhcp-server)# max-lease-time <TIME> | <TIME> – максимальное время аренды IP-адреса, задаётся в формате DD:HH:MM, где:
Значение по умолчанию: 1 день |
esr(config-ipv6-dhcp-server)# max-lease-time <TIME> | |||
11 | Задать время аренды, на которое клиенту будет выдан IP-адрес (не обязательно). Данное время будет использоваться если клиент не запрашивал определенное время аренды. | esr(config-dhcp-server)# default-lease-time <TIME> | <TIME> – максимальное время аренды IP-адреса, задаётся в формате DD:HH:MM, где:
Значение по умолчанию: 12 часов. |
esr(config-ipv6-dhcp-server)# default-lease-time <TIME> | |||
12 | Создать идентификатор класса поставщика (DHCP Опция 60) (не обязательно). | esr(config)# ip dhcp-server vendor-class-id <NAME> | <NAME> – идентификатор класса поставщика, задаётся строкой до 31 символа. |
esr(config)# ipv6 dhcp-server vendor-class-id <NAME> | |||
13 | Задать специфическую информацию поставщика (DHCP Опция 43). | esr(config-dhcp-vendor-id)# vendor-specific-options <HEX> | <HEX> – специфическая информация поставщика, задаётся в шестнадцатеричном формате до 128 символов. |
esr(config-ipv6-dhcp-vendor-id)# vendor-specific-options <HEX> | |||
14 | Задать IP-адрес NetBIOS-сервера (DHCP опция 44) (не обязательно). | esr(config-dhcp-server)# netbios-name-server <ADDR> | <ADDR> – IP-адрес NetBIOS-сервера задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. Можно задать до 4 IP-адресов. |
15 | Задать IP-адрес tftp-сервера (DHCPOption 150) (не обязательно). | esr(config-dhcp-server)# tftp-server <ADDR> | <ADDR> – IP-адрес DNS-сервера, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
Пример настройки DHCP-сервера
Задача :
Настроить работу DHCP-сервера в локальной сети, относящейся к зоне безопасности «trusted». Задать пул IP-адресов из подсети 192.168.1.0/24 для раздачи клиентам. Задать время аренды адресов 1 день. Настроить передачу клиентам маршрута по умолчанию, доменного имени и адресов DNS-серверов с помощью DHCP-опций.
Решение:
Создадим зону безопасности «trusted» и установим принадлежность используемых сетевых интерфейсов к зонам:
...
Примечание |
---|
Конфигурирование настроек для IPv6 производится по аналогии с IPv4. |
Конфигурирование Destination NAT
Функция Destination NAT (DNAT) состоит в преобразовании IP-адреса назначения у пакетов, проходящих через сетевой шлюз.
DNAT используется для перенаправления трафика, идущего на некоторый «виртуальный» адрес в публичной сети, на «реальный» сервер в локальной сети, находящийся за сетевым шлюзом. Эту функцию можно использовать для организации публичного доступа к серверам, находящимся в частной сети и не имеющим публичного сетевого адреса.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Перейти в режим настройки сервиса трансляции адресов получателя. | esr(config)# nat destination | |
2 | Cоздать пул IP-адресов и/или TCP/UDP-портов с определённым именем (не обязательно). | esr(config-dnat)# pool <NAME> | <NAME> – имя пула NAT-адресов, задаётся строкой до 31 символа. |
3 | Установить внутренний IP-адрес, на который будет заменяться IP-адрес получателя. | esr(config-dnat-pool)# ip address <ADDR> | <ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
4 | Установить внутренний TCP/UDP порт, на который будет заменяться TCP/UDP порт получателя. | esr(config-dnat-pool)# ip port <PORT> | <PORT> – TCP/UDP порт, принимает значения [1..65535]. |
5 | Создать группу правил с определённым именем. | esr(config-dnat)# ruleset <NAME> | <NAME> – имя группы правил, задаётся строкой до 31 символа. |
6 | Указать экземпляр VRF, в котором будет работать данная группа правил (не обязательно). | esr(config-dnat-ruleset)# ip vrf forwarding <VRF> | <VRF> – имя VRF, задается строкой до 31 символа. |
7 | Задать область применения группы правил. Правила будут применяться только для трафика, идущего из определенной зоны или интерфейса. | esr(config-dnat-ruleset)# from { zone <NAME> | interface <IF> | tunnel <TUN> | default } | <NAME> – имя зоны изоляции; <IF> – имя интерфейса устройства; <TUN> – имя туннеля устройства; default – обозначает группу правил для всего трафика, источник которого не попал под критерии других групп правил. |
8 | Задать правило c определённым номером. Правила обрабатываются в порядке возрастания. | esr(config-dnat-ruleset)# rule <ORDER> | <ORDER> – номер правила, принимает значения [1..10000]. |
9 | Задать профиль IP-адресов {отправителя | получателя}, для которых должно срабатывать правило. | esr(config-dnat-rule)# match [not] 1 {source | destination}-address <OBJ-GROUP-NETWORK-NAME> | <OBJ-GROUP-NETWORK-NAME> – имя профиля IP-адресов, задаётся строкой до 31 символа. Значение «any» указывает на любой IP-адрес отправителя. |
10 | Задать профиль сервисов (tcp/udp-портов) {отправителя | получателя}, для которых должно срабатывать правило (не обязательно). | esr(config-dnat-rule)# match [not] 1 {source | destination}-port <PORT-SET-NAME> | <PORT-SET-NAME> – имя профиля порта, задаётся строкой до 31 символа. Значение «any» указывает на любой TCP/UDP-порт отправителя. |
11 | Установить имя или номер IP-протокола, для которого должно срабатывать правило (не обязательно). | esr(config-dnat-rule)# match [not] 1 {protocol <TYPE> | protocol-id <ID> } | <TYPE> – тип протокола, принимает значения: esp, icmp, ah, eigrp, ospf, igmp, ipip, tcp, pim, udp, vrrp, rdp, l2tp, gre. Значение «any» указывает на любой тип протокола. <ID> – идентификационный номер IP-протокола, принимает значения [0x00-0xFF]. |
12 | Задать тип и код сообщений протокола ICMP, для которых должно срабатывать правило (если в качестве протокола выбран ICMP) (не обязательно). | esr(config-dnat-rule)# match [not] 1 icmp {<ICMP_TYPE><ICMP_CODE> | <TYPE-NAME>} | <ICMP_TYPE> – тип сообщения протокола ICMP, принимает значения [0..255]. <ICMP_CODE> – код сообщения протокола ICMP, принимает значения [0..255]. Значение «any» указывает на любой код сообщения. <TYPE-NAME> – имя типа ICMP сообщения. |
13 | Задать действие «трансляция адреса и порта получателя» для трафика, удовлетворяющего критериям, заданным командами «match». | esr(config-dnat-rule)# action destination-nat { off | pool <NAME> | netmap <ADDR/LEN> } | off – трансляция отключена; pool <NAME> – имя пула, содержащего набор IP-адресов и/или TCP/UDP портов; netmap <ADDR/LEN> – IP-адрес и маска подсети, используемые при трансляции. Параметр задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32]. |
14 | Активировать конфигурируемое правило. | esr(config-dnat-rule)# enable |
...
Более подробная информация о командах для настройки маршрутизатора содержится в «Справочнике команд CLI».
Пример настройки Destination NAT
Задача:
Организовать доступ из публичной сети, относящейся к зоне «UNTRUST», к серверу локальной сети в зоне «TRUST». Адрес сервера в локальной сети – 10.1.1.100. Сервер должен быть доступным извне по адресу 1.2.3.4, доступный порт 80.
Рисунок 6 – Схема сети
Решение:
Создадим зоны безопасности «UNTRUST» и «TRUST». Установим принадлежность используемых сетевых интерфейсов к зонам. Одновременно назначим IP‑адреса интерфейсам.
...
Блок кода |
---|
esr# show ip nat destination pools esr# show ip nat destination rulesets esr# show ip nat proxy-arp esr# show ip nat translations |
Конфигурирование Source NAT
Функция Source NAT (SNAT) используется для подмены адреса источника у пакетов, проходящих через сетевой шлюз. При прохождении пакетов из локальной сети в публичную сеть, адрес источника заменяется на один из публичных адресов шлюза. Дополнительно к адресу источника может применяться замена порта источника. При прохождении пакетов из публичной сети в локальную происходит обратная подмена адреса и порта.
...
Якорь | ||||
---|---|---|---|---|
|
Алгоритм настройки
Шаг | Описание | Команда | Ключи | |
---|---|---|---|---|
1 | Перейти в режим настройки сервиса трансляции адресов отправителя. | esr(config)# nat source | ||
2 | Создать пул IP-адресов и/или TCP/UDP-портов с определённым именем (не обязательно). | esr(config-snat)# pool <NAME> | <NAME> – имя пула NAT-адресов, задаётся строкой до 31 символа. | |
3 | Установить диапазон IP-адресов, для которых будет заменяться IP-адрес отправителя. | esr(config-snat-pool)# ip address-range <IP>[-<ENDIP>] | <IP> – IP-адрес начала диапазона, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <ENDIP> – IP-адрес конца диапазона, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. Если не указывать IP-адрес конца диапазона, то в качестве IP-адреса для трансляции используется только IP-адрес начала диапазона. | |
4 | Задать диапазон внешних TCP/UDP портов, на которые будет заменяться TCP/UDP порт отправителя. | esr(config-snat-pool)# ip port-range <PORT>[-<ENDPORT>] | <PORT> – TCP/UDP порт начала диапазона, принимает значения [1..65535]; <ENDPORT> – TCP/UDP порт конца диапазона, принимает значения [1..65535]. Если не указывать TCP/UDP порт конца диапазона, то в качестве TCP/UDP порта для трансляции используется только TCP/UDP порт начала диапазона. | |
5 | Установить внутренний TCP/UDP порт, на который будет заменяться TCP/UDP порт отправителя. | esr(config-snat-pool)# ip port <PORT> | <PORT> – TCP/UDP порт, принимает значения [1..65535]. | |
6 | Включить функции NAT persistent. | esr(config-snat-pool)# persistent | ||
7 | Создать группу правил с определённым именем. | esr(config-snat)# ruleset <NAME> | <NAME> – имя группы правил, задаётся строкой до 31 символа. | |
8 | Указать экземпляр VRF, в котором будет работать данная группа правил (не обязательно). | esr(config-snat-ruleset)# ip vrf forwarding <VRF> | <VRF> – имя VRF, задается строкой до 31 символа. | |
9 | Задать область применения группы правил. Правила будут применяться только для трафика, идущего в определенную зону или интерфейс. | esr(config-snat-ruleset)# to { zone <NAME> | interface <IF> tunnel <TUN> | | default } | <NAME> – имя зоны изоляции; <IF> – имя интерфейса устройства; <TUN> – имя туннеля устройства | |
10 | Задать правило c определённым номером. Правила обрабатываются в порядке возрастания. | esr(config-snat-ruleset)# rule <ORDER> | <ORDER> – номер правила, принимает значения [1..10000]. | |
11 | Задать профиль IP-адресов {отправителя | получателя}, для которых должно срабатывать правило. | esr(config-snat-rule)# match [not] 1 {source | destination}-address <OBJ-GROUP-NETWORK-NAME> | <OBJ-GROUP-NETWORK-NAME> – имя профиля IP-адресов, задаётся строкой до 31 символа. Значение «any» указывает на любой IP-адрес отправителя. | |
12 | Задать профиль IP-адресов {отправителя | получателя}, для которых должно срабатывать правило (не обязательно). | esr(config-snat-rule)# match [not] 1 {source | destination}-port <PORT-SET-NAME> | <PORT-SET-NAME> – имя профиля порта, задаётся строкой до 31 символа. Значение «any» указывает на любой TCP/UDP-порт отправителя. | |
13 | Установить имя или номер IP-протокола, для которого должно срабатывать правило (не обязательно). | esr(config-snat-rule)# match [not] 1 {protocol | protocol-id} <TYPE> | <TYPE> – тип протокола, принимает значения: esp, icmp, ah, eigrp, ospf, igmp, ipip, tcp, pim, udp, vrrp, rdp, l2tp, gre. Значение «any» указывает на любой тип протокола; <ID> – идентификационный номер IP-протокола, принимает значения [0x00-0xFF]. | |
14 | Задать тип и код сообщений протокола ICMP, для которых должно срабатывать правило (не обязательно). | esr(config-snat-rule)# match [not] icmp {<ICMP_TYPE><ICMP_CODE> | <TYPE-NAME>} | <ICMP_TYPE> – тип сообщения протокола ICMP, принимает значения [0..255]; <ICMP_CODE> – код сообщения протокола ICMP, принимает значения [0..255]. Значение «any» указывает на любой код сообщения; <TYPE-NAME> – имя типа ICMP сообщения | |
15 | Задать действие «трансляция адреса и порта отправителя» для трафика, удовлетворяющего критериям, заданным командами «match» | esr(config-snat-rule)# action source-nat { off | pool <NAME> | netmap <ADDR/LEN> [static] | interface [FIRST_PORT – LAST_PORT] } | off – трансляция отключена; pool<NAME> – имя пула, содержащего набор IP-адресов и/или TCP/UDP портов; netmap <ADDR/LEN> – IP-адрес и маска подсети, используемые при трансляции; static – опция для организации статического NAT. Параметр задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32]. interface [FIRST_PORT – LAST_PORT] – задаёт трансляцию в IP-адрес интерфейса. Если дополнительно задан диапазон TCP/UDP-портов, то трансляция будет происходить только для TCP/UDP- портов отправителя, входящих в указанный диапазон. | |
16 | Активировать конфигурируемое правило. | esr(config-snat-rule)# enable |
...
Более подробная информация о командах для настройки маршрутизатора содержится в «Справочнике команд CLI».
Пример настройки 1
Задача:
Настроить доступ пользователей локальной сети 10.1.2.0/24 к публичной сети с использованием функции Source NAT. Задать диапазон адресов публичной сети для использования SNAT 100.0.0.100-100.0.0.249.
Рисунок 7 – Схема сети
Решение :
Конфигурирование начнем с создания зон безопасности, настройки сетевых интерфейсов и определения их принадлежности к зонам безопасности. Создадим доверенную зону «TRUST» для локальной сети и зону «UNTRUST» для публичной сети.
...
Блок кода |
---|
esr(config)# ip route 0.0.0.0/0 100.0.0.1 esr(config)# exit |
Пример настройки 2
Задача:
Настроить доступ пользователей локальной сети 21.12.2.0/24 к публичной сети с использованием функции Source NAT без использования межсетевого экрана (firewall). Диапазон адресов публичной сети для использования SNAT 200.10.0.100-200.10.0.249.
Рисунок 8 – Схема сети
Решение:
Конфигурирование начнем с настройки сетевых интерфейсов и отключения межсетевого:
...
Блок кода |
---|
esr(config)# ip route 0.0.0.0/0 200.10.0.254 esr(config)# exit |
Конфигурирование Static NAT
Static NAT — статический NAT задает однозначное соответствие одного адреса другому. Иными словами, при прохождении через маршрутизатор, адрес меняется на другой строго заданный адрес, один-к-одному. Запись о такой трансляции хранится неограниченно долго, пока не будет произведена перенастройка NAT на маршрутизаторе.
Алгоритм настройки
Настройка Static NAT осуществляется средствами Source NAT, алгоритм настройки которой описан в разделе Конфигурирование Source NAT, алгоритм настройки настоящего руководства.
Пример настройки Static NAT
Задача:
Настроить двухстороннюю и постоянную трансляцию из локальной сети для диапазона адресов 21.12.2.100-21.12.2.150 в публичную сеть 200.10.0.0/24. Диапазон адресов публичной сети для использования трансляции – 200.10.0.100-200.10.0.150.
Рисунок 9 – Схема сети
Решение :
Начнем конфигурирование с настройки сетевых интерфейсов и отключения межсетевого экрана:
...
Блок кода |
---|
esr# show ip nat translations |
Пример настройки фильтрации приложений (DPI)
Примечание |
---|
Использование механизма фильтрации приложений многократно снижает производительность маршрутизатора из-за необходимости проверки каждого пакета. Производительность снижается с ростом количества выбранных приложений для фильтрации. |
Задача:
Блокировать доступ к ресурсам youtube, bittorrent и facebook.
Рисунок 10 – Схема сети
Решение:
Для каждой сети ESR создадим свою зону безопасности:
...
Блок кода |
---|
esr# show ip firewall sessions |
Проксирование HTTP/HTTPS-трафика
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Cоздать объект с URL | esr(config)# object-group url <NAME> | |
2 | Указать набор | esr(config-object-group-url)# url <URL> | <URL> – адрес веб страницы, сайта. |
3 | Создать профиль проксирования | esr(config)# ip http profile <NAME> | <NAME> – название профиля. |
4 | Выбрать действие по умолчанию | esr(config-profile)# default action {deny|permit|redirect} [redirect-url <URL>] | <URL> – адрес хоста, на который будут передаваться запросы. |
5 | Указать описание (не обязательно) | esr(config-profile)# description <description> | <description> – до 255 символов. |
6 | Указать удаленный или локальный список URL и тип операции (блокировка/ пропуск трафика/ перенаправление) (не обязательно) | esr(config-profile)# urls {local|remote} <URL_OBJ_GROUP_NAME> action {deny|permit|redirect} [redirect-url <URL>] | <URL_OBJ_GROUP_NAME> – указать название объекта, содержащего набор URL. |
7 | Указать удаленный сервер, где лежат необходимые списки URL (не обязательно) | esr(config)# ip http proxy server-url <URL> | <URL> – адрес сервера, откуда будут брать удалённые списки url. |
8 | Указать прослушиваемый порт для проксирования (не обязательно) | esr(config)# ip http proxy listen-ports <OBJ_GROUP_NAME> | <OBJ_GROUP_NAME> – имя профиля порта, задаётся строкой до 31 символа. |
9 | Указать прослушиваемый порт для проксирования (не обязательно) | esr(config)# ip https proxy listen-ports <OBJ_GROUP_NAME> | <OBJ_GROUP_NAME> – имя профиля порта, задаётся строкой до 31 символа. |
10 | Включить проксирование на интерфейсе на основе выбранного HTTP-профиля | esr(config-if)# ip http proxy <PROFILE_NAME> | <PROFILE_NAME> – название профиля |
11 | Включить проксирование на интерфейсе на основе выбранного HTTPS-профиля | esr(config-if)# ip https proxy <PROFILE_NAME> | <PROFILE_NAME> – название профиля |
12 | Создать списки сервисов, которые будут использоваться при фильтрации. | esr(config)# object-group service <obj-group-name> | <obj-group-name> – имя профиля сервисов, задается строкой до 31 символа. |
13 | Задать описание списка сервисов (не обязательно). | esr(config-object-group-service)# description <description> | <description> – описание профиля, задается строкой до 255 символов. |
14 | Внести необходимые сервисы (tcp/udp порты) в список. | esr(config-object-group-service)# port-range 3129-3134 | Прокси-сервер ESR использует для своей работы порты 3129, 3130, 3133 и 3134. |
15 | Создать набор правил межзонового взаимодействия. | esr(config)# security zone-pair <src-zone-name1> self | <src-zone-name> – зона безопасности, в которой находятся интерфейсы с функцией ip http proxy или ip https proxy. self – предопределенная зона безопасности для трафика, поступающего на сам ESR. |
16 | Создать правило межзонового взаимодействия. | esr(config-zone-pair)# rule <rule-number> | <rule-number> – 1..10000. |
17 | Задать описание правила (не обязательно). | esr(config-zone-rule)# description <description> | <description> – до 255 символов. |
18 | Указать действие данного правила. | esr(config-zone-rule)# action <action> [ log ] | <action> – permit log – ключ для активации логирования сессий, которые устанавливаются согласно данному правилу. |
19 | Установить имя IP-протокола, для которого должно срабатывать правило | esr(config-zone-rule)# match protocol <protocol-type> | <protocol-type> – tcp Прокси-сервер ESR работает по протоколу ESR. |
20 | Установить профиль TCP/UDP-портов получателя, для которых должно срабатывать правило (если указан протокол). | esr(config-zone-rule)# match [not]1 destination-port <obj-group-name> | <obj-group-name> – имя профиля сервисов, созданного на шаге №12 |
21 | Включить правило межзонового взаимодействия. | esr(config-zone-rule)# enable |
...
Примечание |
---|
Если функция Firewall на ESR принудительно не отключена, необходимо создать разрешающее правило для зоны Self. |
Пример настройки HTTP-прокси
Задача:
Организовать фильтрацию по URL для ряда адресов посредством прокси.
Рисунок 11 – Схема сети
Решение:
Создадим набор URL, по которым будет осуществляться фильтрация. Настроим прокси-фильтр и укажем действия для созданного набора URL:
...
Блок кода |
---|
esr(config)# security zone-pair LAN self esr(config-zone-pair)# rule 50 esr(config-zone-pair-rule)# action permit esr(config-zone-pair-rule)# match protocol tcp esr(config-zone-pair-rule)# match destination-port proxy esr(config-zone-pair-rule)# enable esr(config-zone-pair-rule)# exit esr(config-zone-pair)# exit |
Настройка логирования и защиты от сетевых атак
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Включить защиту от ICMP flood атак. | esr(config)# ip firewall screen dos-defense icmp-threshold { <NUM> } | <NUM> – количество ICMP-пакетов в секунду задается в диапазоне [1..10000]. |
2 | Включить защиту от land атак. | esr(config)# firewall screen dos-defense land | |
3 | Включить ограничение количества одновременных сессий на основании адреса назначения. | esr(config)# ip firewall screen dos-defense limit-session-destination { <NUM> } | <NUM> – ограничение количества |
4 | Включить ограничение количества одновременных сессий на основании адреса источника, которое смягчает DoS-атаки. | esr(config)# ip firewall screen dos-defense limit-session-source { <NUM> }
| <NUM> – ограничение количества |
5 | Включить защиту от SYN flood атак. | esr(config)# ip firewall screen dos-defense syn-flood { <NUM> } [src-dsr] | <NUM> – максимальное количество TCP пакетов с установленным флагом SYN в секунду задается в диапазоне [1..10000]. src-dst – ограничение количества TCP пакетов с установленным флагом SYN на основании адреса источника и адреса назначения. |
6 | Включить защиту от UDP flood атак. | esr(config)# ip firewall screen dos-defense udp-threshold { <NUM> } | <NUM> – максимальное количество UDP пакетов в секунду задается в диапазоне [1..10000]. |
7 | Включить защиту от winnuke-атак. | esr(config)# ip firewall screen dos-defense winnuke | |
8 | Включить блокировку TCP-пакетов с установленным флагом FIN и не установленным флагом ACK. | esr(config)# ip firewall screen spy-blocking fin-no-ack | |
9 | Включить блокировку ICMP-пакетов различных типов. | esr(config)# ip firewall screen spy-blocking icmp-type | <TYPE> – тип ICMP, может принимать значения:
|
10 | Включить защиту от IP-sweep атак. | esr(config)# ip firewall screen spy-blocking ip-sweep { <NUM> } | <NUM> – интервал выявления ip sweep атаки, задается в миллисекундах [1..1000000]. |
11 | Включить защиту от port scan атак. | esr(config)# ip firewall screen spy-blocking port-scan { <threshold> } [ <TIME> ] | <threshold> – интервал в миллисекундах, в течении которого будет фиксироваться port scan атака [1..1000000]. <TIME> – время блокировки в миллисекундах [1..1000000]. |
12 | Включить защиту от IP spoofing атак. | esr(config)# ip firewall screen spy-blocking spoofing | |
13 | Включить блокировку TCP-пакетов, с установленными флагами SYN и FIN. | esr(config)# ip firewall screen spy-blocking syn-fin | |
14 | Включить блокировку TCP-пакетов, со всеми флагами или с набором флагов: FIN, PSH, URG. Данной командой обеспечивается защита от атаки XMAS. | esr(config)# ip firewall screen spy-blocking tcp-all-flag | |
15 | Включить блокировку TCP-пакетов, с нулевым полем flags. | esr(config)# ip firewall screen spy-blocking tcp-no-flag | |
16 | Включить блокировку фрагментированных | esr(config)# ip firewall screen suspicious-packets icmp-fragment | |
17 | Включить блокировку фрагментированных IP пакетов. | esr(config)# ip firewall screen suspicious-packets ip-fragment | |
18 | Включить блокировку ICMP-пакетов длиной более 1024 байт. | esr(config)# ip firewall screen suspicious-packets icmp-fragment | |
19 | Включить блокировку фрагментированных TCP-пакетов, с флагом SYN. | esr(config)# ip firewall screen suspicious-packets syn-fragment | |
20 | Включить блокировку фрагментированных UDP-пакетов. | esr(config)# ip firewall screen suspicious-packets udp-fragment | |
21 | Включить блокировку пакетов, с ID протокола в заголовке IP равном 137 и более. | esr(config)# ip firewall screen suspicious-packets unknown-protocols | |
22 | Установить частоту оповещения (по SNMP, syslog и в CLI) об обнаруженных и отраженных сетевых атаках. | esr(config)# ip firewall logging interval <NUM>
| <NUM> – интервал времени в секундах [30 .. 2147483647] |
23 | Включить более детальный вывод сообщений по обнаруженным и отраженным сетевым атакам в CLI. | esr(config)# logging firewall screen detailed | |
24 | Включить механизм обнаружения и логирования DoS атак через CLI, syslog и по SNMP. | esr(config)# logging firewall screen dos-defense <ATACK_TYPE> | <ATACK_TYPE> – тип DoS атаки, принимает значения: icmp-threshold, land, limit-session-destination, limit-session-source, syn-flood, udp-threshold, winnuke. |
25 | Включить механизм обнаружения и логирования шпионской активности через CLI, syslog и по SNMP | esr(config)# logging firewall screen spy-blocking { <ATACK_TYPE> | icmp-type <ICMP_TYPE> } | <ATACK_TYPE> – тип шпионской активности, принимает значения: fin-no-ack, ip-sweep, port-scan, spoofing, syn-fin, tcp-all-flag, tcp-no-flag. <ICMP_TYPE> – тип ICMP, принимает значения: destination-unreachable, echo-request, reserved, source-quench, time-exceeded. |
26 | Включить механизм обнаружения нестандартных пакетов и логирования через CLI, syslog и по SNMP | esr(config)# logging firewall screen suspicious-packets <PACKET_TYPE> | < PACKET_TYPE> – тип нестандартных пакетов, принимает значения: icmp-fragment, ip-fragment, large-icmp, syn-fragment, udp-fragment, unknown-protocols. |
Описание механизмов защиты от атак
Команда | Описание |
---|---|
ip firewall screen dos-defense icmp-threshold | Данная команда включает защиту от ICMP flood атак. При включенной защите ограничивается количество ICMP-пакетов всех типов в секунду для одного адреса назначения. Атака приводит к перегрузке хоста и выводу его из строя из-за необходимости обрабатывать каждый запрос и отвечать на него. |
firewall screen dos-defense land | Данная команда включает защиту от land атак. При включенной защите блокируются пакеты с одинаковыми source и destination IP-адресами, и флагом SYN в заголовке TCP. Атака приводит к перегрузке хоста и выводу его из строя из-за необходимости обрабатывать каждый TCP SYN пакет и попыток хоста установить TCP сессию с самим собой. |
ip firewall screen dos-defense limit-session-destination | Когда таблица IP-сессий хоста переполняется, он больше не в состоянии организовывать новые сессии и отбрасывает запросы (такое может происходить при различных атаках: SYN flood, UDP flood, ICMP flood, и т.д.). Команда включает ограничение количества одновременных сессий на основании адреса назначения, которое смягчает DoS-атаки. |
ip firewall screen dos-defense limit-session-source | Когда таблица IP-сессий хоста переполняется, он больше не в состоянии организовывать новые сессии и отбрасывает запросы (такое может происходить при различных DoS-атаках: SYN flood, UDP flood, ICMP flood, и т.д.). Команда включает ограничение количества одновременных сессий на основании адреса источника, которое смягчает DoS-атаки. |
ip firewall screen dos-defense syn-flood | Данная команда включает защиту от SYN flood атак. При включенной защите ограничивается количество TCP-пакетов с установленным флагом SYN в секунду для одного адреса назначения. Атака приводит к перегрузке хоста и выводу его из строя из-за необходимости обрабатывать каждый TCP SYN пакет и попыток установить TCP-сессии. |
ip firewall screen dos-defense udp-threshold | Данная команда включает защиту от UDP flood атак. При включенной защите ограничивается количество UDP пакетов в секунду для одного адреса назначения. Атака приводит к перегрузке хоста и выводу его из строя из-за массивного UDP-трафика. |
ip firewall screen dos-defense winnuke | Данная команда включает защиту от winnuke атак. При включенной защите блокируются TCP-пакеты с установленным флагом URG и 139 портом назначения. Атака приводит к выходу из строя старых версий Windows (до 95 версии). |
ip firewall screen spy-blocking fin-no-ack | Данная команда включает блокировку TCP-пакетов с установленным флагом FIN и не установленным флагом ACK. Такие пакеты являются нестандартными и по ответу можно определить операционную систему жертвы. |
ip firewall screen spy-blocking icmp-type destination-unreachable | Данная команда включает блокировку всех ICMP-пакетов 3 типа (destination-unreachable), включая пакеты, сгенерированные самим маршрутизатором. Защита не дает злоумышленнику узнать о топологии сети и доступности хостов |
ip firewall screen spy-blocking icmp-type echo-request | Данная команда включает блокировку всех ICMP-пакетов 8 типа (echo-request), включая пакеты, сгенерированные самим маршрутизатором. Защита не дает злоумышленнику узнать о топологии сети и доступности хостов |
ip firewall screen spy-blocking icmp-type reserved | Данная команда включает блокировку всех ICMP-пакетов 2 и 7 типов (reserved), включая пакеты, сгенерированные самим маршрутизатором. Защита не дает злоумышленнику узнать о топологии сети и доступности хостов |
ip firewall screen spy-blocking icmp-type source-quench | Данная команда включает блокировку всех ICMP-пакетов 4 типа (source quench), включая пакеты, сгенерированные самим маршрутизатором. Защита не дает злоумышленнику узнать о топологии сети и доступности хостов |
ip firewall screen spy-blocking icmp-type time-exceeded | Данная команда включает блокировку всех ICMP-пакетов 11 типа (time exceeded), включая пакеты, сгенерированные самим маршрутизатором. Защита не дает злоумышленнику узнать о топологии сети и доступности хостов |
ip firewall screen spy-blocking ip-sweep | Данная команда включает защиту от IP-sweep атак. При включенной защите, если в течение заданного в параметрах интервала приходит более 10 ICMP-запросов от одного источника, первые 10 запросов пропускаются маршрутизатором, а 11 и последующие отбрасываются на оставшееся время интервала. Защита не дает злоумышленнику узнать о топологии сети и доступности хостов. |
ip firewall screen spy-blocking port-scan | Данная команда включает защиту от port scan атак. Если в течение первого заданного интервала времени (<threshold>) на один источник приходит более 10 TCP-пакетов с флагом SYN на разные TCP-порты, то такое поведение фиксируется как port scan атака и все последующие пакеты такого рода от источника блокируются на второй заданный интервал времени (<TIME>). Злоумышленник не сможет быстро просканировать открытые порты на устройстве. |
ip firewall screen spy-blocking spoofing | Данная команда включает защиту от ip spoofing атак. При включенной защите маршрутизатор проверяет пакеты на соответствие адреса источника и записей в таблице маршрутизации и в случае несоответствия пакет отбрасывается. Например, если пакет с адресом источника 10.0.0.1/24 приходит на интерфейс Gi1/0/1, а в таблице маршрутизации данная подсеть располагается за интерфейсом Gi1/0/2, то считается, что адрес источника был подменен. Защищает от вторжений в сеть с подмененными source IP-адресами. |
ip firewall screen spy-blocking syn-fin | Данная команда включает блокировку TCP-пакетов с установленными флагами SYN и FIN. Такие пакеты являются нестандартными и по ответу можно определить операционную систему жертвы. |
ip firewall screen spy-blocking tcp-all-flag | Данная команда включает блокировку TCP-пакетов со всеми флагами или с набором флагов: FIN, PSH, URG. Обеспечивается защита от атаки XMAS. |
ip firewall screen spy-blocking tcp-no-flag | Данная команда включает блокировку TCP-пакетов с нулевым полем flags. Такие пакеты являются нестандартными и по ответу можно определить операционную систему жертвы. |
ip firewall screen suspicious-packets icmp-fragment | Данная команда включает блокировку фрагментированных ICMP-пакетов. ICMP-пакеты обычно небольшого размера и необходимости в их фрагментировании нет. |
ip firewall screen suspicious-packets ip-fragment | Данная команда включает блокировку фрагментированных пакетов. |
ip firewall screen suspicious-packets large-icmp | Данная команда включает блокировку ICMP-пакетов длиной более 1024 байт. |
ip firewall screen suspicious-packets syn-fragment | Данная команда включает блокировку фрагментированных TCP-пакетов с флагом SYN. TCP пакеты с SYN флагом обычно небольшого размера и необходимости в их фрагментировании нет. Защита предотвращает накопление фрагментированных пакетов в буфере. |
ip firewall screen suspicious-packets udp-fragment | Данная команда включает блокировку фрагментированных UDP-пакетов. |
ip firewall screen suspicious-packets unknown-protocols | Данная команда включает блокировку пакетов, с ID протокола в заголовке IP равном 137 и более. |
Пример настройки логирования и защиты от сетевых атак
Задача:
Необходимо защитить LAN сеть и маршрутизатор ESR от сетевых атак land, syn-flood, ICMP flood и настроить оповещение об атаках по SNMP на SNMP-сервер 192.168.0.10.
Рисунок 12 – Схема сети
Решение:
Предварительно необходимо настроить интерфейсы и firewall (настройка firewall или ее отсутствие не повлияют на работу защиты от сетевых атак):
...
Блок кода |
---|
esr# show ip firewall screen counters |
Конфигурирование Firewall
Firewall – комплекс аппаратных или программных средств, осуществляющий контроль и фильтрацию проходящих через него сетевых пакетов в соответствии с заданными правилами.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Создать зоны безопасности. | esr(config)# security zone <zone-name1> esr(config)# security zone <zone-name2> | <zone-name> – до 12 символов. |
2 | Задать описание зоны безопасности. | esr(config-zone)# description <description> | <description> – до 255 символов. |
3 | Указать экземпляр VRF, в котором будет работать данная зона безопасности (не обязательно). | esr(config- zone )# ip vrf forwarding <VRF> | <VRF> – имя VRF, задается строкой до 31 символа. |
4 | Включить счетчики сессий для NAT и Firewall (не обязательно, снижает производительность). | esr(config)# ip firewall sessions counters | |
5 | Отключить фильтрацию пакетов, для которых не удалось определить принадлежность к какому-либо известному соединению и которые не являются началом нового соединения (не обязательно, снижает производительность). | esr(config)# ip firewall sessions allow-unknown | |
6 | Выбрать режима работы межсетевого экрана (не обязательно) | esr(config)# ip firewall mode <MODE> | <MODE> – режим работы межсетевого экрана, может принимать значения: stateful, stateless. Значение по умолчанию: stateful |
7 | Определить время жизни сессии для неподдерживаемых протоколов (не обязательно). | esr(config)# ip firewall sessions generic-timeout <TIME> | <TIME> – время жизни сессии для неподдерживаемых протоколов, принимает значения в секундах [1..8553600]. По умолчанию: 60 секунд. |
8 | Определить время жизни ICMP-сессии, по истечении которого она считается устаревшей (не обязательно). | esr(config)# ip firewall sessions icmp-timeout <TIME> | <TIME> – время жизни ICMP-сессии, принимает значения в секундах [1..8553600]. По умолчанию: 30 секунд. |
9 | Определить время жизни ICMPv6-сессии, по истечении которого она считается устаревшей (не обязательно). | esr(config)# ip firewall sessions icmpv6-timeout <TIME> | <TIME> – время жизни ICMP-сессии, принимает значения в секундах [1..8553600]. По умолчанию: 30 секунд. |
10 | Определить размер таблицы сессий ожидающих обработки (не обязательно). | esr(config)# ip firewall sessions max-expect <COUNT> | <COUNT> – размер таблицы, принимает значения [1..8553600]. По умолчанию: 256. |
11 | Определить размер таблицы отслеживаемых сессий (не обязательно). | esr(config)# ip firewall sessions max-tracking <COUNT> | <COUNT> – размер таблицы, принимает значения [1..8553600]. |
12 | Определить время жизни TCP-сессии в состоянии «соединение устанавливается», по истечении которого она считается устаревшей (не обязательно). | esr(config)# ip firewall sessions tcp-connect-timeout <TIME> | <TIME> – время жизни TCP-сессии в состоянии "соединение устанавливается", принимает значения в секундах [1..8553600]. По умолчанию: 60 секунд. |
13 | Определить время жизни TCP-сессии в состоянии "соединение закрывается", по истечении которого она считается устаревшей (не обязательно). | esr(config)# ip firewall sessions tcp-disconnect-timeout <TIME> | <TIME> – время жизни TCP-сессии в состоянии "соединение закрывается", принимает значения в секундах [1..8553600]. |
14 | Определить время жизни TCP-сессии в состоянии "соединение установлено", по истечении которого она считается устаревшей (не обязательно). | esr(config)# ip firewall sessions tcp-established-timeout <TIME> | <TIME> – время жизни TCP-сессии в состоянии "соединение установлено", принимает значения в секундах [1..8553600]. По умолчанию: 120 секунд. |
15 | Определить время ожидания, по истечении которого происходит фактическое удаление закрытой TCP-сессии из таблицы отслеживаемых сессий (не обязательно). | esr(config)# ip firewall sessions tcp-latecome-timeout <TIME> | <TIME> – время ожидания, принимает значения в секундах [1..8553600]. По умолчанию: 120 секунд. |
16 | Включить функцию отслеживания сессий уровня приложений для отдельных протоколов (не обязательно). | esr(config)# ip firewall sessions tracking e; | <PROTOCOL> – протокол уровня приложений [ftp, h323, pptp, netbios-ns, tftp], сессии которого должны отслеживаться. <OBJECT-GROUP-SERVICE> – имя профиля TCP/UDP-портов sip сессии, задаётся строкой до 31 символа. Если группа не указана, то отслеживание сессий sip будет осуществляться для порта 5060. Вместо имени отдельного протокола можно использовать ключ "all", который включает функцию отслеживания сессий уровня приложений для всех доступных протоколов. По умолчанию – отключено для всех протоколов. |
17 | Определить время жизни UDP-сессии в состоянии "соединение подтверждено", по истечении которого она считается устаревшей (не обязательно). | esr(config)# ip firewall sessions udp-assured-timeout <TIME> | <TIME> – время жизни UDP-сессии в состоянии "соединение подтверждено", принимает значения в секундах [1..8553600]. По умолчанию: 180 секунд. |
18 | Определить время жизни UDP-сессии в состоянии «соединение не подтверждено», по истечении которого она считается устаревшей. | esr(config)# ip firewall sessions udp-wait-timeout <TIME> | <TIME> – время жизни UDP-сессии в состоянии «соединение не подтверждено», принимает значения в секундах [1..8553600]. По умолчанию: 30 секунд. |
19 | Создать списки IP-адресов, которые будут использоваться при фильтрации. | esr(config)# object-group network <obj-group-name> | <obj-group-name> – до 31 символа. |
20 | Задать описание списка IP- адресов (не обязательно). | esr(config-object-group-network)# description <description> | <description> – описание профиля, задается строкой до 255 символов. |
21 | Внести необходимые IPv4/IPv6- адреса в список. | esr(config-object-group-network)# ip prefix <ADDR/LEN> | <ADDR/LEN> – подсеть, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32]. |
esr(config-object-group-network)# ip address-range <FROM-ADDR>-<TO-ADDR> | <FROM-ADDR> – начальный IP-адрес диапазона адресов; <TO-ADDR> – конечный IP-адрес диапазона адресов, опциональный параметр. Если параметр не указан, то командой задаётся одиночный IP-адрес. Адреса задаются в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. | ||
esr(config-object-group-network)# ipv6 prefix <IPV6-ADDR/LEN> | <IPV6-ADDR/LEN> – IP-адрес и маска подсети, задаётся в виде X:X:X:X::X/EE, где каждая часть X принимает значения в шестнадцатеричном формате [0..FFFF] и EE принимает значения [1..128]. | ||
esr(config-object-group-network)# ipv6 address-range <FROM-ADDR>-<TO-ADDR> | <FROM-ADDR> – начальный IPv6-адрес диапазона адресов; <TO-ADDR> – конечный IPv6-адрес диапазона адресов, опциональный параметр. Если параметр не указан, то командой задаётся одиночный IPv6-адрес. Адреса задаются в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]. | ||
22 | Создать списки сервисов, которые будут использоваться при фильтрации. | esr(config)# object-group service <obj-group-name> | <obj-group-name> – имя профиля сервисов, задается строкой до 31 символа. |
23 | Задать описание списка сервисов (не обязательно). | esr(config-object-group-service)# description <description> | <description> – описание профиля, задается строкой до 255 символов. |
24 | Внести необходимые сервисы (tcp/udp порты) в список. | esr(config-object-group-service)# port-range <port> | <port> – принимает значение [1..65535]. Можно указать несколько портов перечислением через запятую «,» либо указать диапазон портов через «-». |
25 | Создать списки приложений, которые будут использоваться в механизме DPI. | esr(config)# object-group application <NAME> | <NAME> – имя профиля приложений, задается строкой до 31 символа. |
26 | Задать описание списка приложений (не обязательно). | esr(config-object-group-application)# description <description> | <description> – описание профиля, задается строкой до 255 символов. |
27 | Внести необходимые приложения в списки. | esr(config-object-group-application)# application < APPLICATION > | < APPLICATION > – указывает приложение подпадающее под действие данного профиля |
28 | Включить интерфейсы (физические, логические, E1/Multilink и подключаемые), сервер удаленного доступа (l2tp, openvpn, pptp) или туннели (gre, ip4ip4, l2tp, lt, pppoe, pptp) в зоны безопасности (если необходимо). | esr(config-if-gi)# security-zone <zone-name> | <zone-name> – до 12 символов. |
Отключить функции Firewall на сетевом интерфейсе (физические, логические, E1/Multilink и подключаемые), сервере удаленного доступа (l2tp, openvpn, pptp) или туннели (gre, ip4ip4, l2tp, lt, pppoe, pptp) (если необходимо) | esr(config-if-gi)# ip firewall disable | ||
29 | Создать набор правил межзонового взаимодействия. | esr(config)# security zone-pair <src-zone-name1> <dst-zone-name2> | <src-zone-name> – до 12 символов. <dst-zone-name> – до 12 символов. |
30 | Создать правило межзонового взаимодействия. | esr(config-zone-pair)# rule <rule-number> | <rule-number> – 1..10000. |
31 | Задать описание правила (не обязательно). | esr(config-zone-rule)# description <description> | <description> – до 255 символов. |
32 | Указать действие данного правила. | esr(config-zone-rule)# action <action> [ log ] | <action> – permit/deny/reject/netflow-sample/sflow-sample log – ключ для активации логирования сессий, устанавливающимися согласно данному правилу. |
33 | Установить имя или номер IP-протокола, для которого должно срабатывать правило (не обязательно). | esr(config-zone-rule)# match [not] 1 protocol <protocol-type> | <protocol-type> – тип протокола, принимает значения: esp, icmp, ah, eigrp, ospf, igmp, ipip, tcp, pim, udp, vrrp, rdp, l2tp, gre. При указании значения «any» правило будет срабатывать для любых протоколов. |
esr(config-zone-rule)# match [not] 1 protocol-id <protocol-id> | <protocol-id> – идентификационный номер IP-протокола, принимает значения [0x00-0xFF]. | ||
34 | Установить профиль IP-адресов отправителя, для которых должно срабатывать правило (не обязательно). | esr(config-zone-rule)# match [not] 1 source-address <OBJ-GROUP-NETWORK-NAME> | <OBJ-GROUP-NETWORK-NAME> – имя профиля IP-адресов, задаётся строкой до 31 символа. При указании значения «any» правило будет срабатывать для любого IP-адреса отправителя/получателя. |
35 | Установить профиль IP-адресов получателя, для которых должно срабатывать правило (не обязательно). | esr(config-zone-rule)# match [not] 1 destination-address <OBJ-GROUP-NETWORK-NAME> | |
36 | Установить MAC-адрес отправителя, для которого должно срабатывать правило (не обязательно). | esr(config-zone-rule)# match [not] 1 source-mac <mac-addr> | <mac-addr> – задаётся в виде XX:XX:XX:XX:XX:XX, где каждая часть принимает значения [00..FF]. |
37 | Установить MAC-адрес получателя, для которого должно срабатывать правило (не обязательно). | esr(config-zone-rule)# match [not] 1 destination-mac <mac-addr> | |
38 | Установить профиль TCP/UDP-портов отправителя, для которых должно срабатывать правило (если указан протокол). | esr(config-zone-rule)# match [not] 1 source-port <PORT-SET-NAME> | <PORT-SET-NAME> – задаётся строкой до 31 символа. При указании значения «any» правило будет срабатывать для любого TCP/UDP-порта отправителя/получателя. |
39 | Установить профиль TCP/UDP-портов получателя, для которых должно срабатывать правило (если указан протокол). | esr(config-zone-rule)# match [not] 1 destination-port <PORT-SET-NAME> | |
40 | Установить тип и код сообщений протокола ICMP, для которых должно срабатывать правило (если в качестве протокола выбран ICMP) (не обязательно). | esr(config-zone-rule)# match [not] 1 icmp <ICMP_TYPE> <ICMP_CODE> | <ICMP_TYPE> – тип сообщения протокола ICMP, принимает значения [0..255]; <ICMP_CODE> – код сообщения протокола ICMP, принимает значения [0..255]. При указании значения «any» правило будет срабатывать для любого кода сообщения протокола ICMP. |
41 | Установить ограничение, при котором правило будет срабатывать только для трафика, измененного сервисом трансляции IP-адресов и портов получателя. | esr(config-zone-rule)# match [not] 1 destination-nat | |
42 | Установить максимальную скорость прохождения пакетов (не обязательно, доступно только для zone-pair any self и zone-pair <zone-name> any). | esr(config-zone-pair-rule)# rate-limit pps <rate-pps> | <rate-pps> – максимальное количество пакетов, которое может быть передано. Принимает значения [1..10000]. |
43 | Установить фильтрацию только для фрагментированных IP-пакетов (не обязательно, доступно только для zone-pair any self и zone-pair <zone-name> any). | esr(config-zone-pair-rule)# match [not] 1 fragment | |
44 | Установить фильтрацию для IP-пакетов, содержащих ip-option (не обязательно, доступно только для zone-pair any self и zone-pair <zone-name> any). | esr(config-zone-pair-rule)# match [not] 1 ip-option | |
45 | Включить правило межзонового взаимодействия. | esr(config-zone-rule)# enable | |
46 | Активировать фильтрацию и режим отслеживания сессий при прохождении пакетов между участниками одной Bridge-группы (не обязательно, доступно только на ESR-1000/1200/1500/1510/1700) | esr(config-bridge)# ports firewall enable |
...
Более подробная информация о командах для настройки межсетевого экрана содержится в «Справочнике команд CLI».
Пример настройки Firewall
Задача:
Разрешить обмен сообщениями по протоколу ICMP между устройствами R1, R2 и маршрутизатором ESR.
Рисунок 13 – Схема сети
Решение:
Для каждой сети ESR создадим свою зону безопасности:
...
Якорь | ||||
---|---|---|---|---|
|
Настройка списков доступа (ACL)
Access Control List или ACL — список контроля доступа, содержит правила, определяющие прохождение трафика через интерфейс.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Создать список контроля доступа и перейти в режим его конфигурирования. | esr(config)# ip access-list extended <NAME> | <NAME> – имя создаваемого списка контроля доступа, задаётся строкой до 31 символа. |
2 | Указать описание конфигурируемого списка контроля доступа (не обязательно). | esr(config-acl)# description <DESCRIPTION> | <DESCRIPTION> – описание списка контроля доступа, задаётся строкой до 255 символов. |
3 | Создать правило и перейти в режим его конфигурирования. Правила обрабатываются маршрутизатором в порядке возрастания их номеров. | esr(config-acl)# rule <ORDER> | <ORDER> – номер правила, принимает значения [1..4094]. |
4 | Указать действие, которое должно быть применено для трафика, удовлетворяющего заданным критериям. | esr(config-acl-rule)# action <ACT> | <ACT> – назначаемое действие:
|
5 | Установить имя/номер протокола, для которого должно срабатывать правило (не обязательно). | esr(config-acl-rule)# match protocol <TYPE> | <TYPE> – тип протокола, принимает значения: esp, icmp, ah, eigrp, ospf, igmp, ipip, tcp, pim, udp, vrrp, rdp, l2tp, gre. При указании значения «any» правило будет срабатывать для любых протоколов; |
esr(config-acl-rule)# match protocol-id <ID> | <ID> – идентификационный номер IP-протокола, принимает значения [0x00-0xFF]. | ||
6 | Установить IP-адреса отправителя, для которых должно срабатывать правило (не обязательно). | esr(config-acl-rule)# match source-address { <ADDR> <MASK> | any } | <ADDR> – IP-адрес отправителя, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <MASK> – маска IP-адреса, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. Биты маски, установленные в 0, задают биты IP-адреса, исключаемые из сравнения при поиске. При указании значения «any» правило будет срабатывать для любого IP-адреса отправителя/получателя. |
7 | Установить IP-адреса получателя, для которых должно срабатывать правило (не обязательно). | esr(config-acl-rule)# match destination-address { <ADDR> <MASK> | any } | |
8 | Установить MAC-адреса отправителя, для которых должно срабатывать правило (не обязательно). | esr(config-acl-rule)# match source-mac <ADDR><WILDCARD> | <ADDR> – МАС-адрес отправителя, задаётся в виде XX:XX:XX:XX:XX:XX, где каждая часть принимает значения [00..FF]; <WILDCARD> – маска МАС-адреса, задаётся в виде XX:XX:XX:XX:XX:XX, где каждая часть принимает значения [00..FF]. Биты маски, установленные в 0, задают биты MAC-адреса, исключаемые из сравнения при поиске. |
9 | Установить MAC-адреса получателя, для которых должно срабатывать правило (не обязательно). | esr(config-acl-rule)# match destination-mac <ADDR><WILDCARD> | |
10 | Установить номер TCP/UDP-порта отправителя, для которого должно срабатывать правило (если указан протокол). | esr(config-acl-rule)# match source-port { <PORT> | any } | <PORT> – номер TCP/UDP-порта отправителя, принимает значения [1..65535]. При указании значения «any» правило будет срабатывать для любого TCP/UDP-порта отправителя. |
11 | Установить номер TCP/UDP-порта получателя, для которого должно срабатывать правило (если указан протокол). | esr(config-acl-rule)# match destination-port { <PORT> | any } | |
12 | Установить значение 802.1p приоритета, для которого должно срабатывать правило (не обязательно). | esr(config-acl-rule)# match с os <COS> | <COS> – значение 802.1p приоритета, принимает значения [0..7]. |
13 | Установить значение кода DSCP, для которого должно срабатывать правило (не обязательно). Невозможно использовать совместно с IP Precedence. | esr(config-acl-rule)# match dscp <DSCP> | <DSCP> – значение кода DSCP, принимает значения [0..63]. |
14 | Установить значение кода IP Precedence, для которого должно срабатывать правило (не обязательно). Невозможно использовать совместно с DSCP. | esr(config-acl-rule)# match ip-precedence <IPP> | <IPP> – значение кода IP Precedence, принимает значения [0..7]. |
15 | Установить значение идентификационного номера VLAN, для которого должно срабатывать правило (не обязательно). | esr(config-acl-rule)# match vlan <VID> | <VID> – идентификационный номер VLAN, принимает значения [1..4094]. |
16 | Активировать правило. | esr(config-acl-rule)# enable | |
17 | Указать список контроля доступа к конфигурируемому интерфейсу для фильтрации входящего трафика. | esr(config-if-gi)# service-acl input <NAME> | <NAME> – имя списка контроля доступа, задаётся строкой до 31 символа. |
Также списки доступа могут использоваться для организации политик QoS.
Пример настройки списка доступа
Задача:
Разрешить прохождения трафика только из подсети 192.168.20.0/24.
Решение:
Настроим список доступа для фильтрации по подсетям:
...
Якорь | ||||
---|---|---|---|---|
|
Конфигурирование статических маршрутов
Статическая маршрутизация – вид маршрутизации, при котором маршруты указываются в явном виде при конфигурации маршрутизатора без использования протоколов динамической маршрутизации.
Процесс настройки
Добавить статический маршрут возможно командой в режиме глобальной конфигурации:
...
- <VRF> – имя экземпляра VRF, задается строкой до 31 символа;
- <SUBNET> – адрес назначения, может быть задан в следующих видах:
- X:X:X:X::X – IPv6-адрес хоста, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF];
- X:X:X:X::X/EE – IPv6-адрес подсети с маской в виде префикса, где каждая часть X принимает значения в шестнадцатеричном формате [0..FFFF] и EE принимает значения [1..128].
- <NEXTHOP> – IPv6-адрес шлюза, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF];
- resolve – при указании данного параметра IPv6-адрес шлюза будет рекурсивно вычислен через таблицу маршрутизации. Если при рекурсивном вычислении не удастся найти шлюз из напрямую подключенной подсети, то данный маршрут не будет установлен в систему;
- <IF> – имя IP-интерфейса, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора;
- blackhole – при указании команды пакеты до данной подсети будут удаляться устройством без отправки уведомлений отправителю;
- unreachable – при указании команды пакеты до данной подсети будут удаляться устройством, отправитель получит в ответ ICMP Destination unreachable (Host unreachable, code 1);
- prohibit – при указании команды пакеты до данной подсети будут удаляться устройством, отправитель получит в ответ ICMP Destination unreachable (Communication administratively prohibited, code 13);
- [METRIC] – метрика маршрута, принимает значения [0..255].
- bfd – при указании данного ключа активируется удаление статического маршрута в случае недоступности next-hop.
Пример настройки статических маршрутов
Задача:
Настроить доступ к сети Internet для пользователей локальных сетей 192.168.1.0/24 и 10.0.0.0/8, используя статическую маршрутизацию. На устройстве R1 создать шлюз для доступа к сети Internet. Трафик внутри локальной сети должен маршрутизироваться внутри зоны LAN, трафик из сети Internet должен относиться к зоне WAN.
Рисунок 14 – Схема сети
Решение:
Зададим имя устройства для маршрутизатора R1:
...
Якорь | ||||
---|---|---|---|---|
|
Настройка PPP через E1
PPP (Point-to-Point Protocol) — двухточечный протокол канального уровня, используется для установления прямой связи между двумя узлами сети. Может обеспечить аутентификацию соединения, шифрование и сжатие данных.
Для установления PPP-соединения через поток E1, необходимо наличие медиаконвертера ToPGATE-SFP в маршрутизаторе ESR.
Процесс настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Перевести физический интерфейс в режим коммутации | esr(config-if-gi)# mode switchport | |
2 | Задать режим работы интерфейса e1 | esr(config-if-gi)# switchport mode e1 | |
3 | Задать источник синхронизации | esr(config-if-gi)# switchport e1 clock source <SOURCE> | <SOURCE> – источник синхронизации:
|
4 | Указать размер MTU (Maximum Transmition Unit) для физических интерфейсов | esr(config-if-gi)# mtu <MTU> | <MTU> – значение MTU, для E1 и Multilink интерфейсов принимает значения в диапазоне [128..1500]. |
5 | Задать хэш-алгоритм проверки кадра (не обязательно) | esr(config-if-gi)# switchport e1 crc <FCS> | <FCS> – последовательность проверки кадра:
|
6 | Задать проверку на наличие ошибок при передаче (не обязательно) | esr(config-if-gi)# switchport e1 framing <CRC> | <CRC> – проверка циклической избыточности:
|
7 | Задать инвертацию передаваемых бит (не обязательно) | esr(config-if-gi)# switchport e1 invert data | |
8 | Задать тип линейного кодирования (не обязательно) | esr(config-if-gi)# switchport e1 linecode <CODE> | <CODE> – тип линейного кодирования;
|
9 | Задать количество тайм слотов | esr(config-if-gi)# switchport e1 timeslots <RANGE> | <RANGE> – количество тайм-слотов |
10 | Использовать Е1 как единую сущность, без таймслотов (не обязательно) | esr(config-if-gi)# switchport e1 unframed | |
11 | Конфигурируем E1 | esr(config)# interface e1 1/<SLOT>/1 | <SLOT> – номер слота. |
12 | Включаем CHAP-аутентификацию для PPP (не обязательно) | esr(config-e1)# ppp authentication chap | |
13 | Задается имя маршрутизатора, которое отправляется удаленной стороне для прохождения CHAP-аутентификации (не обязательно) | esr(config-e1)# ppp chap hostname <NAME> | <NAME> – имя маршрутизатора |
14 | Задать пароль для аутентификации (не обязательно) | esr(config-e1)# ppp chap password ascii-text <CLEAR-TEXT> | <CLEAR-TEXT> – пароль в открытой форме, задаётся строкой [1 .. 64] символов, может включать символы [0-9a-fA-F] |
15 | Включить игнорирование аутентификации (не обязательно) | esr(config-e1)# ppp chap refuse | |
16 | Задать имя пользователя для аутентификации (не обязательно) | esr(config-e1)# ppp chap username <NAME> | <NAME> – имя пользователя |
17 | Разрешается принимать от соседа любой ненулевой IP-адрес в качестве локального IP-адреса (не обязательно) | esr(config-e1)# ppp ipcp accept-address | |
18 | Задать IP-адрес, который отправляется удаленной стороне для последующего его присвоения (не обязательно) | esr(config-e1)# ppp ipcp remote-address <ADDR> | <ADDR> – IP-адрес удаленного шлюза |
19 | Задать количество попыток отправки Configure-Request пакетов, прежде чем удаленный пир будет признан неспособным ответить (не обязательно) | esr(config-e1)# ppp max-configure <VALUE> | <VALUE> – количество попыток |
20 | Задать количество попыток отправки Configure-NAK пакетов, прежде чем будут подтверждены все опции (не обязательно) | esr(config-e1)# ppp max-failure <VALUE> | <VALUE> – количество попыток |
21 | Задать количество попыток отправки Terminate-Request пакетов, прежде чем сессия будет прервана (не обязательно) | esr(config-e1)# ppp max-terminate <VALUE> | <VALUE> – количество попыток |
22 | Задать размер MRU (Maximum Receive Unit) для интерфейса (не обязательно) | esr(config-e1)# ppp mru <MRU> | <MRU> – значение MRU |
23 | Включение режима MLPPP (не обязательно) | esr(config-e1)# ppp multilink | |
24 | Добавить в MLPPP группу (не обязательно) | esr(config-e1)# ppp multilink-group <GROUP-ID> | <GROUP-ID> – номер группы |
25 | Задается интервал времени в секундах, по истечении которого маршрутизатор отправляет keepalive-сообщение (не обязательно) | esr(config-e1)# ppp timeout keepalive <TIME> | <TIME> – время в секундах |
26 | Задается интервал, по истечении которого маршрутизатор повторяет запрос на установление сессии (не обязательно) | esr(config-e1)# ppp timeout retry <TIME> | <TIME> – время в секундах |
Пример конфигурации
Задача:
Настроить PPP-соединение со встречной стороной с IP-адресом 10.77.0.1/24 через ToPGATE-SFP, используя 1-8 канальные интервалы для передачи данных; источник синхросигнала – встречная сторона.
Рисунок 15 – Схема сети
Решение:
Переключаем интерфейс, в котором установлен ToPGATE-SFP, gigabitethernet 1/0/3 в режим работы Е1:
...
Блок кода |
---|
esr# commit Configuration has been successfully committed esr# confirm Configuration has been successfully confirmed |
Настройка MLPPP
Multilink PPP (MLPPP) предоставляет собой агрегированный канал, включающий в себя методы для распространения трафика через несколько физических каналов, имея одно логическое соединение. Этот вариант позволяет расширить пропускную способность и обеспечивает балансировку нагрузки.
Рисунок 16 – Схема сети
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить группу агрегации. | esr(config)# interface multilink <IF> | <IF> – наименование интерфейса. |
2 | Указать описание конфигурируемой группы агрегации (не обязательно). | esr(config- multilink )# description <DESCRIPTION> | <DESCRIPTION> – описание группы агрегации, задаётся строкой до 255 символов. |
3 | Задать интервал времени, за который усредняется статистика о нагрузке на группе агрегации (не обязательно). | esr(config- multilink )# load-average <TIME> | <TIME> – интервал в секундах, принимает значения [5..150]. Значение по умолчанию: 5. |
4 | Указать размер MTU (Maximum Transmition Unit) для группы агрегации (не обязательно). MTU более 1500 будет активно только в случае применения команды "system jumbo-frames". | esr(config- multilink )# mtu <MTU> | <MTU> – значение MTU, принимает значения в диапазоне [1280..1500]. Значение по умолчанию: 1500. |
5 | Включить CHAP-аутентификацию. | esr(config-multilink)# ppp authentication chap | |
6 | Включить игнорирование аутентификации (не обязательно). | esr(config-multilink)# ppp chap refuse | |
7 | Указать имя маршрутизатора, которое отправляется удаленной стороне для прохождения CHAP-аутентификации. | esr(config-multilink)# ppp chap hostname <NAME> | <NAME> – имя маршрутизатора, задаётся строкой до 31 символа |
8 | Указать пароль, который отправляется удаленной стороне вместе с именем маршрутизатора для прохождения CHAP-аутентификации. | esr(config-multilink)# ppp chap password ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> } | <CLEAR-TEXT> – пароль в открытой форме, задаётся строкой [8 .. 64] символов, может включать символы [0-9a-fA-F]. <ENCRYPTED-TEXT> – пароль в зашифрованной форме, задаётся строкой [16..128] символов. |
9 | Разрешить принимать от соседа любой ненулевой IP-адрес в качестве локального IP-адреса (не обязательно). | esr(config-multilink)# ppp ipcp accept-address | |
10 | Установить IP-адрес, который отправляется удаленной стороне для последующего его присвоения. | esr(config-multilink)# ppp iccp remote-address <ADDR> | <ADDR> – IP-адрес удаленного шлюза. |
11 | Указать пользователя для аутентификации удаленной стороны и перейти в режим конфигурирования указанного пользователя. | esr(config-multilink)# chap username <NAME> | <NAME> – имя пользователя, задаётся строкой до 31 символа. |
12 | Установить пароль в открытой или зашифрованной форме определенному пользователю для аутентификации удаленной стороны. | esr(config-ppp-user)# password ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> } | <CLEAR-TEXT> – пароль в открытой форме, задаётся строкой [8 .. 64] символов, может включать символы [0-9a-fA-F]. <ENCRYPTED-TEXT> – пароль в зашифрованной форме, задаётся строкой [16..128] символов. |
13 | Установить количество попыток отправки Configure-Request пакетов, прежде чем удаленный пир будет признан неспособным ответить (не обязательно). | esr(config-multilink)# ppp max-configure <VALUE> | <VALUE> – время в секундах, принимает значения [1..255]. Значение по умолчанию: 10. |
14 | Установить количество попыток выслать Configure-NAK пакеты, прежде чем будут подтверждены все опции (не обязательно). | esr(config-multilink)# ppp max-failure <VALUE> | <VALUE> – время в секундах, принимает значения [1..255]. |
15 | Установить количество попыток выслать Terminate-Request пакеты, прежде чем сессия будет прервана (не обязательно). | esr(config-multilink)# ppp max-terminate <VALUE> | <VALUE> – время в секундах, принимает значения [1..255]. Значение по умолчанию: 2. |
16 | Указать размер MRU (Maximum Receive Unit) для интерфейса. | esr(config-multilink)# ppp mru <MRU> | <MRU> – значение MRU, принимает значения в диапазоне [128..1485]. Значение по умолчанию: 1500. |
17 | Указать интервал времени в секундах, по истечении которого маршрутизатор отправляет keepalive-сообщение (не обязательно). | esr(config-multilink)# ppp timeout keepalive <TIME> | <TIME> – время в секундах, принимает значения [1..32767]. Значение по умолчанию: 10. |
18 | Установить интервал времени в секундах, по истечении которого маршрутизатор повторяет запрос на установление сессии (не обязательно). | esr(config-multilink)# ppp timeout retry <TIME> | <TIME> – время в секундах, принимает значения [1..255]. Значение по умолчанию: 3. |
19 | Определить максимальный размер пакета для MLPP интерфейса. | esr(config-multilink)# mrru <MRRU> | <MRRU> – максимальный размер принимаемого пакета для MLPP интерфейса, принимает значение в диапазоне [1500..10000]. |
20 | Привязать порт e1 к физическому интерфейсу. | esr(config-if-gi)# switchport e1 <SLOT> | <SLOT> – идентификатор слота, принимает значение в диапазоне [0..3]. |
21 | Перевести физический порт в режим работы с SFPe1 модулем. | esr(config-if-gi)# switchport mode e1 | |
22 | Включить режим MLPPP на E1-интерфейсе. | esr(config-e1)# ppp multilink | |
23 | Включить E1-интерфейс в группу агрегации. | esr(config-e1)# ppp multilink-group <GROUP-ID> | <GROUP-ID> – идентификатор группы, принимает значение [1..4]. |
Пример настройки
Задача:
Настроить MLPPP-соединение с встречной стороной с IP-адресом 10.77.0.1/24 через устройство MXE.
Рисунок 17 – Схема сети
Решение:
Переключаем интерфейс gigabitethernet 1/0/10 в режим работы Е1:
...
Блок кода |
---|
esr(config)# interface e1 1/0/1 esr(config-e1)# ppp multilink esr(config-e1)# ppp multilink-group 3 esr(config-e1)# exit esr(config)# interface e1 1/0/2 esr(config-е1)# ppp multilink esr(config-е1)# ppp multilink-group 3 esr(config-е1)# exit |
Настройка Bridge
Bridge (мост) — это способ соединения двух сегментов Ethernet на канальном уровне без использования протоколов более высокого уровня, таких как IP. Пакеты передаются на основе Ethernet-адресов, а не IP-адресов. Поскольку передача выполняется на канальном уровне (уровень 2 модели OSI), трафик протоколов более высокого уровня прозрачно проходит через мост.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Добавить сетевой мост (bridge) в систему и перейти в режим настройки его параметров. | esr(config)# bridge <BRIDGE-ID> | <BRIDGE-ID> – идентификационный номер моста, принимает значения в диапазоне:
|
2 | Активировать сетевой мост. | esr ( config - bridge )# enable | |
3 | Указать экземпляр VRF, в котором будет работать данный интерфейс (не обязательно). | esr(config- bridge )# ip vrf forwarding <VRF> | <VRF> – имя VRF, задается строкой до 31 символа. |
4 | Назначить описание конфигурируемому сетевому мосту (не обязательно). | esr(config-bridge)# description <DESCRIPTION> | <DESCRIPTION> – описание сетевого моста, задаётся строкой до 255 символов. |
5 | Указать размер MTU (Maximum Transmition Unit) пакетов, которые может пропускать данный bridge (не обязательно; возможно, если в bridge включен только VLAN). | esr(config-bridge)# mtu <MTU> | <MTU> – значение MTU, принимает значения в диапазоне:
Значение по умолчанию: 1500 |
6 | Задать интервал времени, за который усредняется статистика о нагрузке на bridge (не обязательно) | esr(config-bridge)# load-average <TIME> | <TIME> – интервал в секундах, принимает значения [5..150]. Значение по умолчанию: 5 |
7 | Связать текущий сетевой мост с VLAN. Все интерфейсы и L2-туннели, являющиеся членами назначаемого VLAN, автоматически включаются в сетевой мост и становятся участниками общего L2 домена (не обязательно) | esr(config-bridge)# vlan <VID> | <VID> – идентификатор VLAN, задаётся в диапазоне [1..4094]. |
8 | Задать MAC-адрес сетевого моста, отличный от системного (не обязательно). | esr(config-bridge)# mac-address <ADDR> | <ADDR> – МАС-адрес сетевого моста, задаётся в виде XX:XX:XX:XX:XX:XX, где каждая часть принимает значения [00..FF]. |
9 | Связать саб-интерфейс, qinq-интерфейс, L2GRE туннель или L2TPv3 туннель с сетевым мостом. Связанные интерфейсы/туннели и сетевые мосты автоматически становятся участниками общего L2 домена (не обязательно). | esr(config-if-gi)# bridge-group <BRIDGE-ID> esr(config-if-l2tpv3)# bridge-group <BRIDGE-ID> | <BRIDGE-ID> – идентификационный номер моста, принимает значения в диапазоне:
|
10 | Включить на bridge режим изоляции интерфейсов. | esr(config-bridge)# protected-ports [ exclude vlan ] | exclude vlan – при указании данного ключа, VLAN (связанный с bridge) исключается из списка изолируемых интерфейсов. |
11 | Запретить коммутацию unknown-unicast трафика (когда MAC-адрес назначения не содержится в таблице коммутации) в данном bridge. (не обязательно; применимо только на ESR-1000/1200/1500/1510/1700) | esr(config-bridge)# unknown-unicast-forwarding disable | |
12 | Установить время жизни IPv4/IPv6-записей в ARP-таблице, изученных на данном bridge (не обязательно). | esr(config- bridge)# ip arp reachable-time <TIME> или ipv6 nd reachable-time <TIME> | <TIME> – время жизни динамических MAC-адресов, в миллисекундах. Допустимые значения от 5000 до 100000000 миллисекунд. Реальное время обновления записи варьируется от [0,5;1,5]*<TIME>. |
Якорь | ||||
---|---|---|---|---|
|
Пример настройки bridge для VLAN и L2TPv3-туннеля
Задача:
Объединить в единый L2 домен интерфейсы маршрутизатора, относящиеся к локальной сети, и L2TPv3-туннель, проходящий по публичной сети. Для объединения использовать VLAN 333.
Рисунок 18 – Схема сети
Решение :
Создадим VLAN 333:
Блок кода |
---|
esr(config)# vlan 333 esr(config-vlan)# exit |
...
Установим принадлежность L2TPv3-туннеля к мосту, который связан с локальной сетью (настройка L2TPv3-туннеля рассматривается в разделе 1.8.7 ESR-Series. Описание функционала. Версия 1.8.7 Настройка L2TPv3-туннелей). В общем случае идентификаторы моста и туннеля не должны совпадать с VID как в данном примере.
Блок кода |
---|
esr(config)# tunnel l2tpv3 333 esr(config-l2tpv3)# bridge-group 333 |
Пример настройки bridge для VLAN
Задача:
Настроить маршрутизацию между VLAN 50 (10.0.50.0/24) и VLAN 60 (10.0.60.0/24). VLAN 50 должен относиться к зоне «LAN1», VLAN 60 – к зоне «LAN2», разрешить свободную передачу трафика между зонами.
Рисунок 19 – Схема сети
Решение:
Создадим VLAN 50, 60:
Блок кода |
---|
esr(config)# vlan 50,60 esr(config-vlan)# exit |
...
Блок кода |
---|
esr# show interfaces bridge |
Пример настройки добавления/удаления второго VLAN-тега
Задача:
На интерфейс gigabitethernet 1/0/1 поступают Ethernet-кадры с различными VLAN-тегами. Необходимо перенаправить их в интерфейс gigabitethernet 1/0/2, добавив второй VLAN-ID 828. При поступлении на интерфейс gigabitethernet 1/0/2 Ethernet-кадров с VLAN-ID 828, данный тег должен быть удален и отправлен в интерфейс gigabitethernet 1/0/1.
Решение:
Создадим на маршрутизаторе bridge без VLAN и без IP-адреса.
...
Примечание |
---|
При добавлении второго VLAN-тега в Ethernet-кадр, его размер увеличивается на 4 байта. На интерфейсе маршрутизатора gigabitethernet 1/0/2 и на всем оборудовании передающем Q-in-Q кадры необходимо увеличить MTU на 4 байта или более. |
Настройка RIP
RIP — дистанционно-векторный протокол динамической маршрутизации, который использует количество транзитных участков в качестве метрики маршрута. Максимальное количество транзитных участков (hop), разрешенное в RIP, равно 15. Каждый RIP-маршрутизатор по умолчанию вещает в сеть свою полную таблицу маршрутизации один раз в 30 секунд. RIP работает на 3-м уровне стека TCP/IP, используя UDP-порт 520.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить приоритетность протокола RIP маршрутизации для основной таблицы маршрутизации (не обязательно). | esr(config)# ip protocols rip preference <VALUE> | <VALUE> – приоритетность протокола, принимает значения в диапазоне [1..255]. Значение по умолчанию: RIP (100). |
2 | Настроить емкость таблиц маршрутизации протокола RIP (не обязательно). | esr(config)# ip protocols rip max-routes <VALUE> | <VALUE> – количество маршрутов протокола RIP в маршрутной таблице, принимает значения в диапазоне [1..10000]; 10000. |
3 | Создать списки IP-подсетей, которые в дальнейшем будут использоваться для фильтрации анонсируемых и получаемых IP-маршрутов. | esr(config)# ip prefix-list <NAME> | <NAME> – имя конфигурируемого списка подсетей, задаётся строкой до 31 символа. |
4 | Разрешить (permit) или запретить (deny) списки префиксов. | esr(config-pl)# permit {object-group <OBJ-GROUP-NETWORK-NAME> [ { eq <LEN> | le <LEN> | ge <LEN> [ le <LEN> ] } ]|default-route} | <OBJ-GROUP-NETWORK-NAME> – имя профиля IP -адресов, задаётся строкой до 31 символа; <LEN> – длина префикса, принимает значения [1..32] в IP-списках префиксов;
|
esr(config-pl)# deny {object-group <OBJ-GROUP-NETWORK-NAME> [ { eq <LEN> | le <LEN> | ge <LEN> [ le <LEN> ] } ] | default-route} | |||
5 | Перейти в режим настройки параметров RIP-процесса. | esr(config)# router rip esr(config-rip)# | |
6 | Включить RIP-протокол. | esr(config-rip)# enable | |
7 | Определить алгоритм аутентификации протокола RIP (не обязательно). | esr(config-rip)# authentication algorithm { cleartext | md5 } |
|
8 | Установить пароль для аутентификации с соседом (не обязательно). | esr(config-rip)# authentication key ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> } | <CLEAR-TEXT> – пароль, задаётся строкой от 8 до 16 символов; <ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 16 байт (от 16 до 32 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...). |
9 | Определить список паролей для аутентификации через алгоритм хеширования md5 (не обязательно). | esr(config-rip)# authentication key-chain <KEYCHAIN> | <KEYCHAIN> – идентификатор списка ключей, задаётся строкой до 16 символов. |
10 | Выключить анонсирование маршрутов на интерфейсах/туннелях/bridge, где это не нужно (не обязательно). | esr(config-rip)# passive-interface {<IF> | <TUN> } | <IF> – интерфейс и идентификатор; <TUN> – имя и номер туннеля. |
11 | Установить временной интервал, по истечении которого производится анонсирование (не обязательно). | esr(config-rip)# timers update <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: 180 секунд. |
12 | Установить временной интервал корректности маршрутной записи без обновления (не обязательно). | esr(config-rip)# timers invalid <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: 180 секунд. |
13 | Установить временной интервал, по истечении которого производиться удаление маршрута (не обязательно). | esr(config-rip)# timers flush <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. При установке значения нужно учитывать следующее правило: «timersinvalid + 60» Значение по умолчанию: 240 секунд. |
14 | Включить анонсирование подсетей. | esr(config-rip)# network <ADDR/LEN> | <ADDR/LEN> – адрес подсети, указывается в следующем формате: AAA.BBB.CCC.DDD/EE – IP-адрес подсети с маской в форме префикса, где AAA-DDD принимают значения [0..255] и EE принимает значения [1..32]. |
15 | Добавить фильтрацию подсетей во входящих или исходящих обновлениях (не обязательно). | esr(config-rip)# prefix-list <PREFIX-LIST-NAME> { in | out } | <PREFIX-LIST-NAME> – имя сконфигурированного списка подсетей, задаётся строкой до 31 символа.
|
16 | Включить анонсирование маршрутов, полученных альтернативным способом (не обязательно). | esr(config-rip)# redistribute static [ route-map <NAME> ] | <NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых статических маршрутов, задаётся строкой до 31 символа. |
esr(config-rip)# redistribute connected [ route-map <NAME> ] | <NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых напрямую подключенных подсетей, задаётся строкой до 31 символа. | ||
esr(config-rip)# redistribute ospf <ID><ROUTE-TYPE> [ route-map <NAME> ] | <ID> – номер процесса, может принимать значение [1..65535]; <ROUTE-TYPE> – тип маршрута:
<NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых OSPF-маршрутов, задаётся строкой до 31 символа. | ||
esr(config-rip)# redistribute bgp <AS> [ route-map <NAME> ] | <AS> – номер автономной системы, может принимать значения [1..4294967295]; <NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых BGP-маршрутов, задаётся строкой до 31 символа. | ||
17 | Перейти в режим конфигурирования интерфейса/туннеля/ сетевого моста. | esr(config)# interface <IF-TYPE><IF-NUM> | <IF-TYPE> тип интерфейса; <IF-NUM> – F/S/P – F-фрейм (1), S – слот (0), P – порт. |
esr(config)# tunnel <TUN-TYPE><TUN-NUM> | <TUN-TYPE> тип туннеля; <TUN-NUM> номер туннеля. | ||
esr(config)# bridge <BR-NUM> | <BR-NUM> – номер bridge. | ||
18 | Установить величину метрики RIP-маршрутов на интерфейсе (не обязательно). | esr(config-if-gi)# ip rip metric <VALUE> | <VALUE> – величина метрики, задаётся в размере [0..32767]. Значение по умолчанию: 5. |
19 | Установить режим анонсирования маршрутов по протоколу RIP (не обязательно). | esr(config-if-gi)# ip rip mode <MODE> | <MODE> – режим анонсирования маршрутов:
Значение по умолчанию: multicast. |
20 | Задать IP-адрес соседа для установления отношения в unicast-режиме анонсирования маршрутов (не обязательно). | esr(config-if-gi)# ip rip neighbor <ADDR> | <ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
21 | Включить суммаризацию подсетей (не обязательно). | esr(config-if-gi)# ip rip summary-address <ADDR/LEN> | <ADDR/LEN> – IP-адрес и маска подсети, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32]. |
Пример настройки RIP
Задача:
Настроить на маршрутизаторе протокол RIP для обмена маршрутной информацией с соседними маршрутизаторами. Маршрутизатор должен анонсировать статические маршруты и подсети 115.0.0.0/24, 14.0.0.0/24, 10.0.0.0/24. Анонсирование маршрутов должно происходить каждые 25 секунд.
Рисунок 20 – Схема сети
Решение:
Предварительно нужно настроить IP-адреса на интерфейсах согласно схеме сети, приведенной на рисунке 20.
...
Якорь | ||||
---|---|---|---|---|
|
Настройка OSPF
OSPF — протокол динамической маршрутизации, основанный на технологии отслеживания состояния канала (link-state technology) и использующий для нахождения кратчайшего пути алгоритм Дейкстры.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить приоритетность протокола OSPF маршрутизации для основной таблицы маршрутизации (не обязательно). | esr(config)# ip protocols ospf preference <VALUE> | <VALUE> – приоритетность протокола, принимает значения в диапазоне [1..255]. Значение по умолчанию: 150. |
esr(config-vrf)# ip protocols ospf preference <VALUE> | |||
2 | Настроить емкость таблиц маршрутизации протокола OSPF (не обязательно). | esr(config)# ip protocols ospf max-routes <VALUE> | <VALUE> – количество маршрутов протокола OSPF в маршрутной таблице, принимает значения в диапазоне:
Значение по умолчанию для глобального режима:
Значение по умолчанию для VRF: 0 |
esr(config)# ipv6 protocols ospf max-routes <VALUE>
| |||
3 | Включить вывод информации о состоянии отношений с соседями для протокола маршрутизации OSPF (не обязательно). | esr(config)# router ospf log-adjacency-changes | |
esr(config)# ipv6 router ospf log-adjacency-changes | |||
4 | Создать списки IP-подсетей, которые в дальнейшем будут использоваться для фильтрации анонсируемых и получаемых IP-маршрутов. | esr(config)# ip prefix-list <NAME> | <NAME> – имя конфигурируемого списка подсетей, задаётся строкой до 31 символа. |
esr(config)# ipv6 prefix-list <NAME> | |||
5 | Разрешить (permit) или запретить (deny) списки префиксов. | esr(config-pl)# permit {object-group <OBJ-GROUP-NETWORK-NAME> [ { eq <LEN> | le <LEN> | ge <LEN> [ le <LEN> ] } ]|default-route} | <OBJ-GROUP-NETWORK-NAME> – имя профиля IP -адресов, задаётся строкой до 31 символа; <LEN> – длина префикса, принимает значения [1..32] в IP-списках префиксов;
|
esr(config-pl)# deny {object-group <OBJ-GROUP-NETWORK-NAME> [ { eq <LEN> | le <LEN> | ge <LEN> [ le <LEN> ] } ] | default-route} | |||
esr(config-ipv6-pl)# permit {object-group <OBJ-GROUP-NETWORK-NAME> [ { eq <LEN> | le <LEN> | ge <LEN> [ le <LEN> ] } ]|default-route} | |||
esr(config-ipv6-pl)# deny object-group <OBJ-GROUP-NETWORK-NAME> [ { eq <LEN> | le <LEN> | ge <LEN> [ le <LEN> ] } ] | default-route} | |||
6 | Добавить OSPF-процесс в систему и осуществить переход в режим настройки параметров OSPF-процесса. | esr(config)# router ospf <ID> [vrf <VRF>] | <ID> – номер автономной системы процесса, принимает значения [1..65535] <VRF> – имя экземпляра VRF, задается строкой до 31 символа, в рамках которого будет работать протокол маршрутизации. |
esr(config)# ipv6 router ospf <ID> [vrf <VRF>] | |||
7 | Установить идентификатор маршрутизатора для данного OSPF-процесса. | esr(config-ospf)# router-id <ID> | <ID> – идентификатор маршрутизатора, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
esr(config-ipv6-ospf)# router-id <ID> | |||
8 | Определить приоритетность маршрутов процесса OSPF. | esr(config-ospf)# preference <VALUE> | <VALUE> – приоритетность маршрутов процесса OSPF, принимает значения в диапазоне [1..255]. Значение по умолчанию: 10. |
esr(config-ipv6-ospf)# preference <VALUE> | |||
9 | Включить совместимость с RFC 1583 (не обязательно). | esr(config-ospf)# compatible rfc1583 | |
esr(config-ipv6-ospf)# compatible rfc1583 | |||
11 | Добавить фильтрацию подсетей во входящих или исходящих обновлениях (не обязательно). | esr(config-ospf)# prefix-list <PREFIX-LIST-NAME> { in | out } | <PREFIX-LIST-NAME> – имя сконфигурированного списка подсетей, задаётся строкой до 31 символа.
|
esr(config-ipv6-ospf)# prefix-list <PREFIX-LIST-NAME> { in | out } | |||
12 | Включить анонсирование маршрутов, полученных альтернативным способом (не обязательно). | esr(config-ospf)# redistribute static [ route-map <NAME> ] | <NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых статических маршрутов, задаётся строкой до 31 символа. |
esr(config-ipv6-ospf)# redistribute static [ route-map <NAME> ] | |||
esr(config-ospf)# redistribute connected [ route-map <NAME> ] | <NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых напрямую подключенных подсетей, задаётся строкой до 31 символа. | ||
esr(config-ipv6-ospf)# redistribute connected [ route-map <NAME> ] | |||
esr(config-ospf)# redistribute rip [ route-map <NAME> ] | <NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых RIP-маршрутов, задаётся строкой до 31 символа. | ||
esr(config-ospf)# redistribute bgp <AS> [ route-map <NAME> ] | <AS> – номер автономной системы, может принимать значения [1..4294967295]; <NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых BGP-маршрутов, задаётся строкой до 31 символа. | ||
esr(config-ipv6-ospf)# redistribute bgp <AS> [ route-map <NAME> ] | |||
13 | Активировать OSPF-процесс. | esr(config-ospf)# enable | |
esr(config-ipv6-ospf)# enable | |||
14 | Создать OSPF-область и перейти в режим конфигурирования области. | esr(config-ospf)# area <AREA_ID> | <AREA_ID> – идентификатор области, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
esr(config-ipv6-ospf)# area <AREA_ID> | |||
15 | Включить анонсирование подсетей. | esr(config-ospf-area)# network <ADDR/LEN> | <ADDR/LEN> – адрес подсети, указывается в следующем формате: AAA.BBB.CCC.DDD/EE – IP-адрес подсети с маской в форме префикса, где AAA-DDD принимают значения [0..255] и EE принимает значения [1..32]. |
esr(config-ipv6-ospf-area)# network <IPV6-ADDR/LEN> | <IPV6-ADDR/LEN> – IPv6-адрес и маска подсети, задаётся в виде X:X:X:X::X/EE, где каждая часть X принимает значения в шестнадцатеричном формате [0..FFFF] и EE принимает значения [1..128]. | ||
16 | Определить тип области | esr(config-ospf-area)# area-type <TYPE> [ no-summary ] | <TYPE> – тип области:
|
esr(config-ipv6-ospf-area)# area-type <TYPE> [ no-summary ] | |||
17 | Включить генерацию маршрута по умолчанию для NSSA-области и анонсирование его в качестве NSSA-LSA. | esr(config-ospf-area)# default-information-originate | |
esr(config-ipv6-ospf-area)# default-information-originate | |||
18 | Включить суммаризацию или скрытие подсетей. | esr(config-ospf-area)# summary-address <ADDR/LEN> { advertise | not-advertise } | <ADDR/LEN> – IP-адрес и маска подсети, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32];
|
esr(config-ipv6-ospf-area)# summary-address <IPV6-ADDR/LEN> { advertise | not-advertise } | <IPV6-ADDR/LEN> – IPv6-адрес и маска подсети, задаётся в виде X:X:X:X::X/EE, где каждая часть X принимает значения в шестнадцатеричном формате [0..FFFF] и EE принимает значения [1..128];
| ||
19 | Активировать OSPF-область. | esr(config-ospf-area)# enable | |
esr(config-ipv6-ospf-area)# enable | |||
20 | Установить виртуальное соединение между основной и удаленными областями, имеющими между ними несколько областей. | esr(config-ospf-area)# virtual-link <ID> | <ID> – идентификатор маршрутизатора, с которым устанавливается виртуальное соединение, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
esr(config-ipv6-ospf-area)# virtual-link <ID> | |||
21 | Установить интервал времени в секундах, по истечении которого маршрутизатор повторно отправит пакет, который не получил подтверждения о получении (например, DatabaseDescription пакет или LinkStateRequest пакеты). | esr(config-ospf- vlink)# restransmit-interval <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: 5 секунд. |
esr(config-ipv6-ospf- vlink)# restransmit-interval <TIME> | |||
22 | Установить интервал времени в секундах, по истечении которого маршрутизатор отправляет следующий hello-пакет. | esr(config-ospf- vlink)# hello-interval <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: 10 секунд. |
esr(config-ipv6-ospf- vlink)# hello-interval <TIME> | |||
23 | Установить интервал времени в секундах, по истечении которого сосед будет считаться неактивным. Этот интервал должен быть кратным значению «hello-interval». | esr(config-ospf- vlink)# dead-interval <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: 40 секунд. |
esr(config-ipv6-ospf- vlink)# dead-interval <TIME> | |||
24 | Определяется интервал времени в секундах, по истечении которого маршрутизатор выберет DR в сети | esr(config-ospf- vlink)# wait-interval <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. |
esr(config-ipv6-ospf- vlink)# wait-interval <TIME> | |||
25 | Определить алгоритм аутентификации | esr(config-ospf- vlink)# authentication algorithm <ALGORITHM> | <ALGORITHM> – алгоритм аутентификации:
|
26 | Установить пароль для аутентификации с соседом. | esr(config-ospf- vlink)# authentication key ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> } | <CLEAR-TEXT> – пароль, задаётся строкой от 8 до 16 символов. <ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 16 байт (от 16 до 32 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...). |
27 | Определить список паролей для аутентификации через алгоритм хеширования md5. | esr(config-ospf- vlink)# authentication key chain <KEYCHAIN> | <KEYCHAIN> – идентификатор списка ключей, задаётся строкой до 16 символов. |
28 | Активировать виртуальное соединение. | esr(config-ospf- vlink)# enable | |
29 | Перейти в режим конфигурирования интерфейса/туннеля/ сетевого моста. | esr(config)# interface <IF-TYPE><IF-NUM> | <IF-TYPE> тип интерфейса; <IF-NUM> – F/S/P – F-фрейм (1), S – слот (0), P – порт. |
esr(config)# tunnel <TUN-TYPE><TUN-NUM> | <TUN-TYPE> тип туннеля; <TUN-NUM> номер туннеля. | ||
esr(config)# bridge <BR-NUM> | <BR-NUM> – номер bridge. | ||
30 | Определить принадлежность интерфейса/туннеля/ сетевого моста к определенному OSPF-процессу. | esr(config-if-gi)# ip ospf instance <ID> | <ID> – номер процесса, принимает значения [1..65535]. |
esr(config-if-gi)# ipv6 ospf instance <ID> | |||
31 | Определить принадлежность интерфейса к определенной области OSPF-процесса. | esr(config-if-gi)# ip ospf area <AREA_ID> | <AREA_ID> – идентификатор области, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
esr(config-if-gi)# ipv6 ospf area <AREA_ID> | |||
32 | Включить маршрутизацию по протоколу OSPF на интерфейсе. |
esr(config-if-gi)# ip ospf | |
esr(config-if-gi)# ipv6 ospf | |||
33 | Включить режим, в котором OSPF-процесс будет игнорировать значение MTU интерфейса во входящих Database Description-пакетах. | esr(config-if-gi)# ip ospf mtu-ignore | |
esr(config-if-gi)# ipv6 ospf mtu-ignore | |||
34 | Определить алгоритм аутентификации протокола OSPF. | esr(config-if-gi)# ip ospf authentication algorithm <ALGORITHM> | <ALGORITHM> – алгоритм аутентификации:
|
35 | Установить пароль для аутентификации с OSPF-соседом при передаче пароля открытым текстом. | esr(config-if-gi)# ip ospf authentication key ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> } | <CLEAR-TEXT> – пароль, задаётся строкой от 8 до 16 символов; <ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 16 байт (от 16 до 32 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...). |
36 | Определить список паролей для аутентификации по алгоритму хеширования md5 с соседом. | esr(config-if-gi)# ip ospf authentication key-chain <KEYCHAIN> | <KEYCHAIN> – идентификатор списка ключей, задаётся строкой до 16 символов. |
37 | Определить интервал времени в секундах, по истечении которого маршрутизатор выберет DR в сети. | esr(config-if-gi)# ip ospf wait-interval <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: 40 секунд. |
esr(config-if-gi)# ipv6 ospf wait-interval <TIME> | |||
38 | Установить интервал времени в секундах, по истечении которого маршрутизатор повторно отправит пакет, на который не получил подтверждения о получении (например, DatabaseDescription пакет или LinkStateRequest пакеты). | esr(config-if-gi)# ip ospf restransmit-interval <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: 5 секунд. |
esr(config-if-gi)# ipv6 ospf restransmit-interval <TIME> | |||
39 | Установить интервал времени в секундах, по истечении которого маршрутизатор отправляет следующий hello-пакет. | esr(config-if-gi)# ip ospf hello-interval <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: 10 секунд. |
esr(config-if-gi)# ipv6 ospf hello-interval <TIME> | |||
40 | Установить интервал времени в секундах, по истечении которого сосед будет считаться неактивным. Этот интервал должен быть кратным значению hello-interval. | esr(config-if-gi)# ip dead-interval <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: 40 секунд. |
esr(config-if-gi)# ipv6 dead-interval <TIME> | |||
41 | Установить интервал времени, в течение которого NBMA-интерфейс ждет, прежде чем отправить HELLO-пакет соседу, даже в случае, если сосед неактивен. | esr(config-if-gi)# ip poll-interval <TIME> | <TIME> – время в секундах, принимает значения [1 .. 65535]. Значение по умолчанию: 120 секунд. |
esr(config-if-gi)# ipv6 poll-interval <TIME> | |||
42 | Задать статический IP-адрес соседа для установления отношения в NMBA и P2MP (Point-to-MultiPoint) сетях. | esr(config-if-gi)# ip ospf neighbor <IP> [ eligible ] | <IP> – IP-адрес соседа, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. eligible – опциональный параметр, позволяет устройству участвовать в процессе выбора DR в NBMA-сетях. Приоритет интерфейса должен быть больше нуля. |
esr(config-if-gi)# ip ospf neighbor <IP> [ eligible ] | <IPV6-ADDR> – IPv6-адрес соседа, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]; eligible – опциональный параметр, позволяет устройству участвовать в процессе выбора DR в NBMA-сетях. Приоритет интерфейса должен быть больше нуля. | ||
43 | Определить тип сети для установления OSPF соседства. | esr(config-if-gi)# ip ospf network <TYPE> | <TYPE> – тип сети:
Значение по умолчанию: broadcast. |
esr(config-if-gi)# ipv6 ospf network <TYPE> | |||
44 | Установить приоритет маршрутизатора, который используется для выбора DR и BDR. | esr(config-if-gi)# ip ospf priority <VALUE> | <VALUE> – приоритет интерфейса, принимает значения [1..65535]. Значение по умолчанию: 120. |
esr(config-if-gi)# ipv6 ospf priority <VALUE> | |||
45 | Установить величину метрики на интерфейсе или туннеле. | esr(config-if-gi)# ip ospf cost <VALUE> | <VALUE> – величина метрики, задаётся в размере [0..32767]. Значение по умолчанию: 150. |
esr(config-if-gi)# ipv6 ospf cost <VALUE> | |||
47 | Включить протокол BFD для протокола OSPF | esr(config-if-gi)# ip ospf bfd-enable | |
esr(config-if-gi)# ipv6 ospf bfd-enable |
Пример настройки OSPF
Задача:
Настроить протокол OSPF на маршрутизаторе для обмена маршрутной информацией с соседними маршрутизаторами. Маршрутизатор должен находится в области с идентификатором 1.1.1.1 и анонсировать маршруты, полученные по протоколу RIP.
Рисунок 21 – Схема сети
Решение:
Предварительно нужно настроить IP-адреса на интерфейсах согласно схеме, приведенной на рисунке 21.
...
Блок кода |
---|
esr(config)# interface gigabitethernet 1/0/15 esr(config-if-gi)# ip ospf instance 10 esr(config-if-gi)# ip ospf area 1.1.1.1 esr(config-if-gi)# ip ospf esr(config-if-gi)# exit esr(config)# exit |
Пример настройки OSPF stub area
Задача:
Изменить тип области 1.1.1.1, область должна быть тупиковой. Тупиковый маршрутизатор должен анонсировать маршруты, полученные по протоколу RIP.
Рисунок 22 – Схема сети
Решение:
Предварительно нужно настроить протокол OSPF и IP-адреса на интерфейсах согласно схеме, приведенной на рисунке 22.
...
Блок кода |
---|
esr(config-ospf)# redistribute rip |
Пример настройки Virtual link
Задача:
Объединить две магистральные области в одну с помощью virtual link.
Рисунок 23 – Схема сети
Решение:
Virtual link — это специальное соединение, которое позволяет соединять разорванную на части зону или присоединить зону к магистральной через другую зону. Настраивается между двумя пограничными маршрутизаторами зоны (Area Border Router, ABR).
...
Якорь | ||||
---|---|---|---|---|
|
Настройка BGP
Протокол BGP предназначен для обмена информацией о достижимости подсетей между автономными системами (далее АС), то есть группами маршрутизаторов под единым техническим управлением, использующими протокол внутридоменной маршрутизации для определения маршрутов внутри себя и протокол междоменной маршрутизации для определения маршрутов доставки пакетов в другие АС. Передаваемая информация включает в себя список АС, к которым имеется доступ через данную систему. Выбор наилучших маршрутов осуществляется исходя из правил, принятых в сети.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить приоритетность протокола BGP маршрутизации для основной таблицы маршрутизации (не обязательно). | esr(config)# ip protocols bgp preference <VALUE> | <VALUE> – приоритетность протокола, принимает значения в диапазоне [1..255]. Значение по умолчанию: BGP (170). |
2 | Настроить емкость таблиц маршрутизации протокола BGP (не обязательно). | esr(config)# ip protocols bgp max-routes <VALUE> | <VALUE> – количество маршрутов протокола BGP в маршрутной таблице, принимает значения в диапазоне:
Значение по умолчанию:
|
esr(config)# ipv6 protocols bgp max-routes <VALUE> | |||
esr(config-vrf)# ip protocols bgp max-routes <VALUE> | |||
esr(config-vrf)# ipv6 protocols bgp max-routes <VALUE> | |||
3 | Включить вывод информации о состоянии отношений с соседями для протокола маршрутизации BGP (не обязательно). | esr(config)# router bgp log-neighbor-changes | |
esr(config)# ipv6 router bgp log-neighbor-changes | |||
4 | Включить ECMP и определяется максимальное количество равноценных маршрутов до цели. | esr(config)# router bgp maximum-paths <VALUE> | <VALUE> – количество допустимых равноценных маршрутов до цели, принимает значения [1..16]. |
5 | Создать списки IP-подсетей, которые в дальнейшем будут использоваться для фильтрации анонсируемых и получаемых IP-маршрутов. | esr(config)# ip prefix-list <NAME> | <NAME> – имя конфигурируемого списка подсетей, задаётся строкой до 31 символа. |
esr(config)# ipv6 prefix-list <NAME> | |||
6 | Разрешить (permit) или запретить (deny) списки префиксов. | esr(config-pl)# permit {object-group <OBJ-GROUP-NETWORK-NAME> [ { eq <LEN> | le <LEN> | ge <LEN> [ le <LEN> ] } ]|default-route} | <OBJ-GROUP-NETWORK-NAME> – имя профиля IP -адресов, задаётся строкой до 31 символа; <LEN> – длина префикса, принимает значения [1..32] в IP-списках префиксов;
|
esr(config-pl)# deny {object-group <OBJ-GROUP-NETWORK-NAME> [ { eq <LEN> | le <LEN> | ge <LEN> [ le <LEN> ] } ] | default-route} | |||
7 | Добавить BGP-процесс в систему и осуществить переход в режим настройки параметров BGP-процесса. | esr(config)# router bgp <AS> | <AS> – номер автономной системы процесса, принимает значения [1..4294967295]. |
8 | Определить тип конфигурируемой маршрутной информации и перейти в данный режим настройки. | esr(config-bgp)# address-family { ipv4 | ipv6 } [ vrf <VRF> ] |
<VRF> – имя экземпляра VRF, задается строкой до 31 символа, в рамках которого будет работать протокол маршрутизации. |
9 | Установить идентификатор маршрутизатора. | esr(config-bgp-af)# router-id <ID> | <ID> – идентификатор маршрутизатора, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
esr(config-ipv6-bgp-af)# router-id <ID> | |||
10 | Установить временной интервал, по истечении которого идет проверка соединения со встречной стороной. | esr(config-bgp-af)# timers keeaplive <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: 60 секунд. |
esr(config-ipv6-bgp-af)# timers keeaplive <TIME> | |||
11 | Установить временной интервал, по истечении которого встречная сторона считается недоступной. | esr(config-bgp-af)# timers holdtime <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: 180 секунд. |
esr(config-ipv6-bgp-af)# timers holdtime <TIME> | |||
12 | Установить время минимальной и максимальной задержки, в течение которого запрещено устанавливать соединение, в целях защиты от частых разрывов соединения | esr(config-bgp-af)# timers error-wait <TIME1> <TIME2> | <TIME1> – время минимальной задержки в секундах, принимает значения [1..65535]; <TIME2> – время максимальной задержки в секундах, принимает значения [1..65535]. |
esr(config-ipv6-bgp-af)# timers error-wait <TIME1> <TIME2> | |||
13 | Установить идентификатор Route-Reflector кластера, которому принадлежит BGP-процесс маршрутизатора. | esr(config-bgp-af)# cluster-id <ID> | <ID> – идентификатор Route-Reflector кластера, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
esr(config-ipv6-bgp-af)# cluster-id <ID> | |||
14 | Определить глобальный алгоритм аутентификации с соседями. | esr(config-bgp-af)# authentication algorithm <ALGORITHM> | <ALGORITHM> – алгоритм шифрования: md5 – пароль шифруется по алгоритму md5. |
esr(config-ipv6-bgp-af)# authentication algorithm <ALGORITHM> | |||
15 | Установить глобальный пароль для аутентификации с соседями. | esr(config-bgp-af)# authentication key ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> } | <CLEAR-TEXT> – пароль, задаётся строкой от 8 до 16 символов; <ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 16 байт (от 16 до 32 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...). |
esr(config-ipv6-bgp-af)# authentication key ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> } | |||
16 | Активировать BGP-процесс. | esr(config-bgp-af)# enable | |
esr(config-ipv6-bgp-af)# enable | |||
17 | Включить анонсирование статических маршрутов полученных альтернативным образом. | esr(config-bgp-af)# redistribute static [ route-map <NAME> ] | <NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых статических маршрутов, задаётся строкой до 31 символа. |
esr(config-ipv6-bgp-af)# redistribute static [ route-map <NAME> ] | |||
esr(config-bgp-af)# redistribute connected [ route-map <NAME> ] | <NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых напрямую подключенных подсетей, задаётся строкой до 31 символа. | ||
esr(config-ipv6-bgp-af)# redistribute connected [ route-map <NAME> ] | |||
esr(config-bgp-af)# redistribute rip [ route-map <NAME> ] | <NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых RIP-маршрутов, задаётся строкой до 31 символа. | ||
esr(config-ipv6-bgp-af)# redistribute rip [ route-map <NAME> ] | |||
esr(config-bgp-af)# redistribute ospf <ID> <ROUTE-TYPE> [ route-map <NAME> ] | <ID> – номер процесса, может принимать значение [1..65535]; <ROUTE-TYPE> – тип маршрута:
<NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых OSPF-маршрутов, задаётся строкой до 31 символа. | ||
esr(config-ipv6-bgp-af)# redistribute ospf <ID> <ROUTE-TYPE> [ route-map <NAME> ] | |||
esr(config-bgp-af)# redistribute bgp <AS> [ route-map <NAME> ] | <AS> – номер автономной системы, может принимать значения [1..4294967295]; <NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых BGP-маршрутов, задаётся строкой до 31 символа. | ||
esr(config-ipv6-bgp-af)# redistribute bgp <AS> [ route-map <NAME> ] | |||
18 | Включить анонсирование подсетей. | esr(config-bgp-af)# network <ADDR/LEN> | <ADDR/LEN> – адрес подсети, указывается в следующем формате: AAA.BBB.CCC.DDD/EE – IP-адрес подсети с маской в форме префикса, где AAA-DDD принимают значения [0..255] и EE принимает значения [1..32]. |
esr(config-ipv6-bgp-af)# network <ADDR/LEN> | X:X:X:X::X/EE – IPv6-адрес и маска подсети, где каждая часть X принимает значения в шестнадцатеричном формате [0..FFFF] и EE принимает значения [1..128]. | ||
19 | Добавить фильтрацию подсетей во входящих или исходящих обновлениях (не обязательно). | esr(config-bgp-af)# prefix-list <PREFIX-LIST-NAME> { in | out } | <PREFIX-LIST-NAME> – имя сконфигурированного списка подсетей, задаётся строкой до 31 символа.
|
20 | Добавить BGP-соседа и осуществить переход в режим настройки параметров BGP-соседа. | esr(config-bgp-af)# neighbor <ADDR> | <ADDR> – IP-адрес соседа, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
esr(config-ipv6-bgp-af)# neighbor <IPV6-ADDR> | <IPV6-ADDR> – IPv6-адрес клиента, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]. | ||
21 | Задать описание соседа (не обязательно). | esr(config-bgp-neighbor)# description <DESCRIPTION> | <DESCRIPTION> – описание соседа, задаётся строкой до 255 символов. |
22 | Установить временной интервал, по истечении которого идет проверка соединения со встречной стороной. | esr(config-bgp-neighbor)# timers keepalive <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: 60 секунд. |
esr(config-ipv6-bgp-neighbor)# timers keepalive <TIME> | |||
23 | Установить временной интервал, по истечении которого встречная сторона считается недоступной (не обязательно). | esr(config-bgp- neighbor)# timers holdtime <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: 180 секунд. |
esr(config-ipv6-bgp- neighbor)# timers holdtime <TIME> | |||
24 | Установить время минимальной и максимальной задержки, в течение которого запрещено устанавливать соединение, в целях защиты от частых разрывов соединения (не обязательно). | esr(config-bgp-af)# timers error-wait <TIME1> <TIME2> | <TIME1> – время минимальной задержки в секундах, принимает значения [1..65535]; <TIME2> – время максимальной задержки в секундах, принимает значения [1..65535]. Значение по умолчанию: 60 и 300 секунд |
esr(config-ipv6-bgp-af)# timers error-wait <TIME1> <TIME2> | |||
25 | Установить номер автономной системы BGP-соседа. | esr(config-bgp- neighbor)# remote-as <AS> | <AS> – номер автономной системы, принимает значения [1..4294967295]. |
esr(config-ipv6-bgp- neighbor)# remote-as <AS> | |||
26 | Разрешить подключение к соседям, которые находятся не в напрямую подключенных подсетях. (не обязательно) | esr(config-bgp- neighbor)# ebgp-multihop <NUM> | <NUM> – Максимальное количество хопов при установке EBGP (используется для TTL). |
esr(config-ipv6-bgp- neighbor)# ebgp-multihop <NUM> | |||
27 | Задать режим, в котором все обновления отправляются BGP-соседу с указанием в качестве next-hop IP-адреса исходящего интерфейса локального маршрутизатора. | esr(config-bgp- neighbor)# next-hop-self | |
esr(config-ipv6-bgp- neighbor)# next-hop-self | |||
28 | Задать режим, в котором перед отправлением обновления из BGP-атрибута AS Path маршрутов удаляются приватные номера автономных систем (в соответствии с RFC 6996). (не обязательно) | esr(config-bgp- neighbor)# remove-private-as | |
esr(config-ipv6-bgp- neighbor)# remove-private-as | |||
29 | Задать режим, в котором BGP-соседу в обновлении на ряду с другими маршрутами всегда отправляется маршрут по умолчанию. (не обязательно) | esr(config-bgp- neighbor)# default-originate | |
esr(config-ipv6-bgp- neighbor)# default-originate | |||
30 | Включить генерацию и отправку маршрута по умолчанию, если маршрут по умолчанию есть в таблице маршрутизации FIB. (не обязательно) | esr(config-bgp-af)# default-information-originate | |
31 | Указать, что BGP-сосед является Route-Reflector клиентом. (не обязательно) | esr(config-bgp- neighbor)# route-reflector-client | |
esr(config-ipv6-bgp- neighbor)# route-reflector-client | |||
32 | Определить приоритетность маршрутов, получаемых от соседа. (не обязательно) | esr(config-bgp- neighbor)# preference <VALUE> | <VALUE> – приоритетность маршрутов соседа, принимает значения в диапазоне [1..255]. Значение по умолчанию: 170. |
esr(config-ipv6-bgp- neighbor)# preference <VALUE> | |||
33 | Задать IP/IPv6-адрес маршрутизатора, который будет использоваться в качестве IP/IPv6-адреса источника в отправляемых обновлениях маршрутной информации BGP. (не обязательно) | esr(config-bgp- neighbor)# update-source { <ADDR> | <IPV6-ADDR> } | <ADDR> – IP-адрес источника, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; |
esr(config-ipv6-bgp- neighbor)# update-source <ADDR> | <IPV6-ADDR> – IPv6-адрес источника, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]. | ||
34 | Включить режим, в котором разрешен приём маршрутов в BGP-атрибуте, AS Path которых содержит номера автономной системы процесса. (не обязательно) | esr(config-bgp- neighbor)# allow-local-as <NUMBER> | <NUMBER> – пороговое число вхождений номера автономной системы процесса в атрибуте AS Path, при которых маршрут будет принят, диапазон допустимых значений [1..10]. |
esr(config-bgp- neighbor)# allow-local-as <NUMBER> | |||
35 | Включить BFD-протокол на конфигурируемом BGP-соседе. (не обязательно) | esr(config-bgp- neighbor)# bfd-enable | |
esr(config-ipv6-bgp- neighbor)# bfd-enable | |||
36 | Определить алгоритм аутентификации с соседом. (не обязательно) | esr(config-bgp- neighbor)# authentication algorithm <ALGORITHM> | <ALGORITHM> – алгоритм шифрования: md5 – пароль шифруется по алгоритму md5. |
esr(config-ipv6-bgp- neighbor)# authentication algorithm <ALGORITHM> | |||
37 | Установить пароль для аутентификации с соседом. (не обязательно) | esr(config-bgp- neighbor)# authentication key ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> } | <CLEAR-TEXT> – пароль, задаётся строкой от 8 до 16 символов; <ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 16 байт (от 16 до 32 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...). |
esr(config-ipv6-bgp- neighbor)# authentication key ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> } |
Часто бывает, особенно при конфигурировании iBGP, что в одном bgp address-family необходимо настроить несколько bgp neighbor с одинаковыми параметрами. Во избежание избыточности конфигурации рекомендуется использовать bgp peer-group, в которой возможно описать общие параметры, а в конфигурации bgp neighbor просто указать причастность к bgp peer-group.
Пример настройки
Задача:
Настроить BGP-протокол на маршрутизаторе со следующими параметрами:
Рисунок 24 – Схема сети
- собственные подсети: 80.66.0.0/24, 80.66.16.0/24;
- анонсирование подсетей, подключенных напрямую;
- собственная AS 2500;
- первое соседство – подсеть 219.0.0.0/30, собственный IP-адрес 219.0.0.1, IP-адрес соседа 219.0.0.2, AS 2500;
- второе соседство – подсеть 185.0.0.0/30, собственный IP-адрес 185.0.0.1, IP-адрес соседа 185.0.0.2, AS 20.
Решение:
Сконфигурируем необходимые сетевые параметры:
...
Примечание |
---|
Необходимо в firewall разрешить TCP-порт 179. |
Настройка BFD
BFD (Bidirectional Forwarding Detection) — это протокол, работающий поверх других протоколов, позволяющий сократить время обнаружения проблемы до 50 мс. BFD является двусторонним протоколом, т.е. требует настройки обоих маршрутизаторов (оба маршрутизатора генерируют BFD-пакеты и отвечают друг-другу).
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Активировать BFD для протокола OSPF на интерфейсе | esr(config-if-gi)# ip ospf bfd-enable | |
2 | Активировать BFD для протокола BGP neighbor на интерфейсе | esr(config-bgp-neighbor)# bfd-enable | |
3 | Задать интервал, по истечении которого происходит отправка BFD-сообщения соседу. Глобально | esr(config)# ip bfd idle-tx-interval <TIMEOUT> | <TIMEOUT> – интервал, по истечении которого происходит отправка BFD-пакета, принимает значение в миллисекундах в диапазоне [200..65535] для ESR-1000/1200/1500/1510/1700 и [300..65535] для ESR-10/12V(F)/14VF/20/21/100/200 По умолчанию 1 секунда |
4 | Включить логирование изменений состояния BFD-протокола (не обязательно) | esr(config)# ip bfd log-adjacency-changes | |
5 | Задать минимальный интервал, по истечении которого сосед должен сгенерировать BFD-сообщение. | esr(config)# ip bfd min-rx-interval <TIMEOUT> | <TIMEOUT> – интервал, по истечении которого должна происходить отправка BFD-сообщения соседом, принимает значение в миллисекундах в диапазоне По умолчанию:
|
6 | Задать минимальный интервал, по истечении которого происходит отправка BFD-сообщения соседу. | esr(config)# ip bfd min-tx-interval <TIMEOUT> | <TIMEOUT> – интервал, по истечении которого должна происходить отправка BFD-сообщения соседом, принимает значение в миллисекундах в диапазоне [200..65535] для ESR-1000/1200/1500/1510/1700 и [300..65535] для ESR-10/12V(F)/14VF/20/21/100/200 По умолчанию:
|
7 | Задать число пропущенных пакетов, после достижения которого BFD-сосед считается недоступным. Глобально | esr(config)# ip bfd multiplier <COUNT>
| <COUNT> – число пропущенных пакетов, после достижения которого сосед считается недоступным, принимает значение в диапазоне [1..100]. По умолчанию: 5 |
8 | Запустить работу механизма BFD с определенным IP-адресом. | esr(config)# ip bfd neighbor <ADDR> [ { interface <IF> | tunnel <TUN> } ] [local-address <ADDR> [multihop]] [vrf <VRF>] | <ADDR> – IP-адрес шлюза, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <IF> – интерфейс или группы интерфейсов; <TUN> – тип и номер туннеля; <VRF> – имя экземпляра VRF, задается строкой до 31 символа; multihop – ключ для установки TTL=255, для работы механизма BFD через маршрутизируемую сеть. |
9 | Перевести BFD-сессию в пассивный режим, то есть BFD-сообщения не будут отправляться до тех пор, пока не будут получены сообщения от BFD-соседа. Глобально (не обязательно) | esr(config)# ip bfd passive | |
10 | Задать интервал, по истечении которого происходит отправка BFD-сообщения соседу. | esr(config-if-gi)# ip bfd idle-tx-interval <TIMEOUT> | <TIMEOUT> – интервал, по истечении которого происходит отправка BFD-пакета, принимает значение в миллисекундах в диапазоне [200..65535] для ESR-1000/1200/1500/1510/1700 и [300..65535] для ESR-10/12V(F)/14VF/20/21/100/200. По умолчанию: 1 секунда |
11 | Задать минимальный интервал, по истечении которого сосед должен сгенерировать BFD-сообщение. | esr(config-if-gi)# ip bfd min-rx-interval <TIMEOUT> | <TIMEOUT> – интервал, по истечении которого должна происходить отправка BFD-сообщения соседом, принимает значение в миллисекундах в диапазоне [200..65535] для ESR-1000/1200/1500/1510/1700 и [300..65535] для ESR-10/12V(F)/14VF/20/21/100/200 По умолчанию:
|
12 | Задать минимальный интервал, по истечении которого происходит отправка BFD-сообщения соседу. | esr(config-if-gi)# ip bfd min-tx-interval <TIMEOUT> | <TIMEOUT> – интервал, по истечении которого должна происходить отправка BFD-сообщения соседом, принимает значение в миллисекундах в диапазоне [200..65535] для ESR-1000/1200/1500/1510/1700 и [300..65535] для ESR-10/12V(F)/14VF/20/21/100/200 По умолчанию:
|
13 | Задать число пропущенных пакетов, после достижения которого BFD-сосед считается недоступным. (не обязательно) | esr(config-if-gi)# ip bfd multiplier <COUNT> | <COUNT> – число пропущенных пакетов, после достижения которого сосед считается недоступным, принимает значение в диапазоне [1..100]. По умолчанию: 5 |
14 | Перевести BFD-сессию в пассивный режим, то есть BFD-сообщения не будут отправляться до тех пор, пока не будут получены сообщения от BFD-соседа. На интерфейсе | esr(config-if-gi)# ip bfd passive |
Пример настройки BFD c BGP
Задача:
Необходимо настроить eBGP между ESR R1 и R2 и включить BFD.
Рисунок 25 – Схема сети
Решение:
Конфигурирование R1
Предварительно необходимо настроить интерфейс Gi1/0/1:Блок кода esr(config)# interface gigabitethernet 1/0/1 esr(config-if-gi)# ip firewall disable esr(config-if-gi)# ip address 10.0.0.1/24
Настроим eBGP с BFD:
Блок кода esr(config)# router bgp 100 esr(config-bgp)# address-family ipv4 esr(config-bgp-af)# neighbor 10.0.0.2 esr(config-bgp-neighbor)# remote-as 200 esr(config-bgp-neighbor)# update-source 10.0.0.1 esr(config-bgp-neighbor)# bfd-enable esr(config-bgp-neighbor)# enable esr(config-bgp-neighbor)# ex esr(config-bgp-af)# enable esr(config-bgp-af)# exit
- Конфигурирование R2
Предварительно необходимо настроить интерфейс Gi1/0/1:
Блок кода esr(config)# interface gigabitethernet 1/0/1 esr(config-if-gi)# ip firewall disable esr(config-if-gi)# ip address 10.0.0.2/24
Настроим eBGP с BFD:
Блок кода esr(config)# router bgp 200 esr(config-bgp)# address-family ipv4 esr(config-bgp-af)# neighbor 10.0.0.1 esr(config-bgp-neighbor)# remote-as 100 esr(config-bgp-neighbor)# update-source 10.0.0.2 esr(config-bgp-neighbor)# bfd-enable esr(config-bgp-neighbor)# enable esr(config-bgp-neighbor)# ex esr(config-bgp-af)# enable esr(config-bgp-af)# exit
Настройка политики маршрутизации PBR
Настройка Route-map для BGP
Route-map могут служить фильтрами, позволяющими обрабатывать маршрутную информацию при приеме этой информации от соседа либо при ее передаче соседу. Обработка может включать в себя фильтрацию на основании различных признаков маршрута, а также установку атрибутов (MED, AS-PATH, community, LocalPreference и другое) на соответствующие маршруты.
Также Route-map может назначать маршруты на основе списков доступа (ACL).
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Создать маршрутную карту для фильтрации и модификации IP-маршрутов. | esr(config)# route-map <NAME> | <NAME> – имя маршрутной карты, задается строкой до 31 символа. |
2 | Создать правило маршрутной карты. | esr(config-route-map)# rule <ORDER> | <ORDER> – номер правила, принимает значения [1 .. 10000]. |
3 | Указать действие, которое должно быть применено для маршрутной информации. | esr(config-route-map-rule)# action <ACT> | <ACT> – назначаемое действие:
|
4 | Задать значение атрибута BGPAS-Path в маршруте, для которого должно срабатывать правило (не обязательно). | esr(config-route-map-rule)# match as-path [begin | end | contain] <AS-PATH> | <AS-PATH> – список номеров автономных систем, задается в виде AS,AS,AS, принимает значения [1..4294967295]. Опциональные параметры:
|
5 | Задать значение атрибута BGPCommunity, для которого должно срабатывать правило (не обязательно). | esr(config-route-map-rule)# match community <COMMUNITY-LIST> | <COMMUNITY-LIST> – список community, задается в виде AS:N,AS:N, принимает значения [1..4294967295]. Можно указать до 64 community. |
6 | Задать значение атрибута BGPExtendedCommunity, для которого должно срабатывать правило (не обязательно). | esr(config-route-map-rule)# match extcommunity <EXTCOMMUNITY-LIST> | <EXTCOMMUNITY-LIST> – список extcommunity, задается в виде KIND:AS:N, KIND:AS:N, где KIND – тип extcommunity:
N – номер extcommunity, принимает значения [1..65535]. |
7 | Задать профиль IP-адресов, содержащий значения подсетей назначения в маршруте (не обязательно). | esr(config-route-map-rule)# match ip address object-group <OBJ-GROUP- NETWORK -NAME> | <OBJ-GROUP-NETWORK-NAME> – имя профиля IP-адресов, содержащего префиксы подсетей назначения, задаётся строкой до 31 символа. |
esr(config-route-map-rule)# match ipv6 address object-group <OBJ-GROUP- NETWORK -NAME> | |||
8 | Задать профиль IP-адресов, содержащий значения атрибута BGPNext-Hop в маршруте для которого должно срабатывать правило (не обязательно). | esr(config-route-map-rule)# match ip next-hop object-group <OBJ-GROUP- NETWORK -NAME> | <OBJ-GROUP-NETWORK-NAME> – имя профиля IP-адресов, содержащего префиксы подсетей назначения, задается строкой до 31 символа. |
esr(config-route-map-rule)# match ipv6 next-hop object-group <OBJ-GROUP- NETWORK -NAME> | |||
9 | Задать профиль, содержащий IP-адреса маршрутизатора, анонсировавшего маршрут, для которого должно срабатывать правило (не обязательно). | esr(config-route-map-rule)# match ip route-source object-group <OBJ-GROUP- NETWORK -NAME> | <OBJ-GROUP-NETWORK-NAME> – имя профиля IP-адресов, содержащего префиксы подсетей назначения, задается строкой до 31 символа. |
esr(config-route-map-rule)# match ipv6 route-source object-group <OBJ-GROUP- NETWORK -NAME> | |||
10 | Задать ACL группу, для которой должно срабатывать правило. | esr(config-route-map-rule)# match access-group <NAME> | <NAME> – имя списка контроля доступа, задается строкой до 31 символа. |
11 | Задать значение атрибута BGP MED в маршруте для которого должно срабатывать правило (не обязательно). | esr(config-route-map-rule)# match metric bgp <METRIC> | <METRIC> – значение атрибута BGPMED, принимает значения [0..4294967295]. |
12 | Задать значение атрибута OSPF Metric в маршруте, для которого должно срабатывать правило. | esr(config-route-map-rule)# match metric ospf <TYPE> <METRIC> | <TYPE> – тип атрибута OSPF Metric, принимает значение type-1 и type-2; <METRIC> – значение атрибута OSPF Metric, принимает значения [0..65535]. |
13 | Задать значение атрибута RIP Metric в маршруте, для которого должно срабатывать правило. | esr(config-route-map-rule)# match metric rip <METRIC> | <METRIC> – значение атрибута RIP Metric, принимает значения [0..16]. |
14 | Задать значение атрибута OSPF Tag в маршруте, для которого должно срабатывать правило. | esr(config-route-map-rule)# match tag ospf <TAG> | <TAG> – значение атрибута OSPF Tag, принимает значения [0..4294967295]. |
15 | Задать значение атрибута RIP Tag в маршруте, для которого должно срабатывать правило. | esr(config-route-map-rule)# match tag rip <TAG> | <RIP> – значение атрибута RIP Tag, принимает значения [0..65535]. |
16 | Задать значение атрибута BGP AS-Path, которое будет добавляться в начало списка AS-Path (не обязательно). | esr(config-route-map-rule)# action set as-path prepend <AS-PATH> {track <TRACK-ID>} | <AS-PATH> – список номеров автономных систем, который будет добавлен к текущему значению в маршруте. Задаётся в виде AS,AS,AS, принимает значения [1..4294967295]. <TCACK-ID> – идентификатор vrrp-tracking, при котором будет исполняться указанное действие. Изменяется в диапазоне [1..60]. |
17 | Задать значение атрибута BGP Community, которое будет установлено в маршруте (не обязательно) | esr(config-route-map-rule)# action set community {COMMUNITY-LIST> | no-advertise | no-export } | <COMMUNITY-LIST> – список community, задается в виде AS:N,AS:N, где каждая часть принимает значения [1..65535];
|
18 | Задать значение атрибута BGP ExtCommunity, которое будет установлено в маршруте (не обязательно). | esr(config-route-map-rule)# action set extcommunity <EXTCOMMUNITY-LIST> | <EXTCOMMUNITY-LIST> – список extcommunity, задается в виде KIND:AS:N, KIND:AS:N, где KIND – тип extcommunity:
N – номер extcommunity, принимает значения [1..65535]. |
19 | Задать атрибут BGP Next-Hop, который будет установлен в маршруте при анонсировании (не обязательно). | esr(config-route-map-rule)# action set ip bgp-next-hop <ADDR> | <ADDR> – IP-адрес шлюза, задается в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
esr(config-route-map-rule)# action set ipv6 bgp-next-hop <IPV6-ADDR> | <IPV6-ADDR> – IPv6-адрес шлюза, задается в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]. | ||
20 | Задать значение Next-Hop, которое будет установлено в маршруте, полученном по BGP (не обязательно). | esr(config-route-map-rule)# action set ip next-hop {NEXTHOP> | blackhole | unreachable | prohibit}
| <NEXTHOP> – IP-адрес шлюза задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];
|
esr(config-route-map-rule)# action set ipv6 next-hop <IPV6-NEXTHOP> | <IPV6-NEXTHOP> – IPv6-адрес шлюза, задается в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]. | ||
21 | Задать значение атрибута BGP Local Preference, который будет установлен в маршруте (не обязательно). | esr(config-route-map-rule)# action set local-preference <PREFERENCE> | <PREFERENCE> – значение атрибута BGP Local Preference, принимает значения [0..255]. |
22 | Задать значение атрибута BGP Origin, которое будет установлено в маршруте (не обязательно). | esr(config-route-map-rule)# action set origin <ORIGIN> | <ORIGIN> – значение атрибута BGP Origin:
|
23 | Задать значение BGP MED, которое будет установлено в маршруте | esr(config-route-map-rule)# action set metric bgp <METRIC> | <METRIC> – значение атрибута BGP MED, принимает значения [0..4294967295]. |
24 | Добавить фильтрацию и модификацию маршрутов во входящих или исходящих направлениях. | esr(config-bgp-neighbor)# route-map <NAME><DIRECTION> | <NAME> – имя сконфигурированной маршрутной карты; <DIRECTION> – направление:
|
esr(config-ipv6-bgp-neighbor)# route-map <NAME><DIRECTION> |
Пример настройки 1
Рисунок 26 – Схема сети
Задача:
Назначить сommunity для маршрутной информации, приходящей из AS 20:
...
- Настроить BGP c AS 2500 на маршрутизаторе ESR;
- Установить соседство с AS20.
Решение :
Создаем политику:
Блок кода |
---|
esr# configure esr(config)# route-map from-as20 |
...
Блок кода |
---|
esr(config-bgp-neighbor)# route-map from-as20 in |
Пример настройки 2
Задача:
Для всей передаваемой маршрутной информации (с community 2500:25) назначить MED, равный 240, и указать источник маршрутной информации EGP:
Предварительно:
Настроить BGP c AS 2500 на ESR
Решение:
Создаем политику:
Блок кода |
---|
esr(config)# route-map to-as20 |
...
Блок кода |
---|
esr(config-bgp-neighbor)# route-map to-as20 out esr(config-bgp-neighbor)# exit esr(config-bgp)# exit esr(config)# exit |
Route-map на основе списков доступа (Policy-based routing)
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Cоздать маршрутную карту для фильтрации и модификации IP-маршрутов. | esr(config)# route-map <NAME> | <NAME> – имя маршрутной карты, задаётся строкой до 31 символа. |
2 | Создать правило маршрутной карты | esr(c onfig-route-map)# rule <ORDER> | <ORDER> – номер правила, принимает значения [1 .. 10000]. |
3 | Указать действие, которое должно быть применено для маршрутной информации. | esr(config-route-map-rule)# action <ACT> | <ACT> – назначаемое действие:
|
4 | Задать ACL, для которого должно срабатывать правило (не обязательно). | esr(config-route-map-rule)# match ip access-group <NAME> | <NAME> – имя списка контроля доступа, задаётся строкой до 31 символа. |
5 | Задать Next-Hop для пакетов, которые попадают под критерии в указанном списке доступа (ACL) (не обязательно). | esr(config-route-map-rule)# action set ip next-hop verify-availability <NEXTHOP><METRIC> | <NEXTHOP> – IP-адрес шлюза задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <METRIC> – метрика маршрута, принимает значения [0..255]. |
6 | Назначить политику маршрутизации на основе списков доступа (ACL). | esr(config-if-gi)# ip policy route-map <NAME> | <NAME> – имя сконфигурированной политики маршрутизации, строка до 31 символа. |
Пример настройки
Рисунок 27 – Схема сети
Задача:
Распределить трафик между Интернет провайдерами на основе подсетей пользователей.
...
Требуется направлять трафик с адресов 10.0.20.0/24 через ISP1 (184.45.0.150), а трафик с адресов 10.0.30.0/24 – через ISP2 (80.16.0.23). Требуется контролировать доступность адресов провайдеров (работоспособность подключений к ISP), и при неработоспособности одного из подключений переводить с него на рабочее подключение весь трафик.
Решение :
Создаем ACL:
Блок кода |
---|
esr# configure esr(config)# ip access-list extended sub20 esr(config-acl)# rule 1 esr(config-acl-rule)# match source-address 10.0.20.0 255.255.255.0 esr(config-acl-rule)# match destination-address any esr(config-acl-rule)# match protocol any esr(config-acl-rule)# action permit esr(config-acl-rule)# enable esr(config-acl-rule)# exit esr(config-acl)# exit esr(config)# ip access-list extended sub30 esr(config-acl)# rule 1 esr(config-acl-rule)# match source-address 10.0.30.0 255.255.255.0 esr(config-acl-rule)# match destination-address any esr(config-acl-rule)# match protocol any esr(config-acl-rule)# action permit esr(config-acl-rule)# enable esr(config-acl-rule)# exit esr(config-acl)# exit |
...
Блок кода |
---|
esr(config-if-te)# ip policy route-map PBR |
Настройка GRE-туннелей
GRE (англ. Generic Routing Encapsulation — общая инкапсуляция маршрутов) — протокол туннелирования сетевых пакетов. Его основное назначение — инкапсуляция пакетов сетевого уровня сетевой модели OSI в IP-пакеты. GRE может использоваться для организации VPN на 3-м уровне модели OSI. В маршрутизаторе ESR реализованы статические неуправляемые GRE-туннели, то есть туннели создаются вручную путем конфигурирования на локальном и удаленном узлах. Параметры туннеля для каждой из сторон должны быть взаимосогласованными или переносимые данные не будут декапсулироваться партнером.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Сконфигурировать L3-интерфейс, от которого будет строиться GRE-туннель. | ||
2 | Создать GRE-туннель и перейти в режим его конфигурирования. | esr(config)# tunnel gre <INDEX> | <INDEX> – идентификатор туннеля в диапазоне:
|
3 | Указать экземпляр VRF, в котором будет работать данный GRE-туннель (не обязательно). | esr(config- bridge )# ip vrf forwarding <VRF> | <VRF> – имя VRF, задается строкой до 31 символа. |
4 | Указать описание конфигурируемого туннеля (не обязательно). | esr(config-gre)# description <DESCRIPTION> | <DESCRIPTION> – описание туннеля, задаётся строкой до 255 символов. |
5 | Установить локальный IP-адрес для установки туннеля. | esr(config-gre)# local address <ADDR> | <ADDR> – IP-адрес локального шлюза, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
esr(config-gre)# interface <IF> | <IF> – интерфейс, от IP-адреса которого устанавливается туннель. | ||
6 | Установить удаленный IP-адрес для установки туннеля. | esr(config-gre)# remote address <ADDR> | <ADDR> – IP-адрес локального шлюза, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
7 | Указать режим инкапсуляции для GRE туннеля. | esr(config-gre)# mode <MODE> | <MODE> – режим инкапсуляции для GRE туннеля:
Значение по умолчанию: ip |
8 | Установить IP-адрес локальной стороны туннеля (только в режиме ip). | esr(config-gre)# ip address <ADDR/LEN> | <ADDR/LEN> – IP-адрес и префикс подсети задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32]. Можно указать до 8 IP-адресов перечислением через запятую. |
9 | Назначить широковещательный домен для инкапсуляции в GRE-пакеты данного туннеля (только в режиме ethernet). | esr(config-gre)# bridge-group <BRIDGE-ID> | <BRIDGE-ID> – идентификационный номер моста, принимает значения в диапазоне:
|
10 | Указать размер MTU (MaximumTransmitionUnit) для туннеля (не обязательно). | esr(config-gre)# mtu <MTU> | <MTU> – значение MTU, принимает значения в диапазоне:
Значение по умолчанию: 1500. |
11 | Указать значение времени жизни TTL для туннельных пакетов (не обязательно). | esr(config-gre)# ttl <TTL> | <TTL> – значение TTL, принимает значения в диапазоне [1..255]. Значение по умолчанию: Наследуется от инкапсулируемого пакета. |
12 | Указать DSCP для использования в IP-заголовке инкапсулирующего пакета (не обязательно). | esr(config-gre)# dscp <DSCP> | <DSCP> – значение кода DSCP, принимает значения в диапазоне [0..63]. Значение по умолчанию: наследуется от инкапсулируемого пакета. |
13 | Разрешить передачу ключа (Key) в туннельном заголовке GRE (в соответствии с RFC 2890) и установить значение ключа. Настраивается с обеих сторон туннеля. | esr(config-gre)# key <KEY> | <KEY> – значение KEY, принимает значения в диапазоне [1..2000000]. Значение по умолчанию: ключ не передаётся. |
14 | Включить вычисление контрольной суммы и занесение её в GRE-заголовок отправляемых пакетов. При этом на удаленной стороне необходимо включить проверку контрольной суммы. | esr(config-gre)# local checksum | |
15 | Включить проверку наличия и соответствия значений контрольной суммы в заголовках принимаемых GRE-пакетов. При этом на удаленной стороне необходимо включить вычисление контрольной суммы. | esr(config-gre)# remote checksum | |
16 | Включить проверку доступности удаленного шлюза туннеля (не обязательно) | esr(config-gre)# keepalive enable | |
17 | Задать время ожидания keepalive пакетов от встречной стороны (не обязательно) | esr(config-gre)# keepalive timeout <TIME> | <TIME> – время в секундах, принимает значения в диапазоне [1..32767]. Значение по умолчанию: 10 |
18 | Задать количество попыток проверки доступности удаленного шлюза туннеля (не обязательно) | esr(config-gre)# keepalive retries <VALUE> | <VALUE> – количество попыток, принимает значения в диапазоне [1..255]. Значение по умолчанию: 5 |
19 | Задать интервал времени, за который усредняется статистика о нагрузке на туннеле (не обязательно) | esr(config-gre)# load-average <TIME> | <TIME> – интервал в секундах, принимает значения [5..150]. Значение по умолчанию: 5 |
20 | Включить отправку snmp-trap о включении/отключении туннеля. | esr(config-gre)# snmp init-trap | |
21 | Включить механизм перезапроса IP-адресов по протоколу DHCP на указанных интерфейсах при отключении GRE-туннеля по keepalive (не обязательно) | esr(config-gre)# keepalive dhcp dependent-interface <IF> | <IF> – физический/логический интерфейс, на котором включено получение IP-адреса по DHCP |
22 | Задать интервал времени между отключением GRE-туннеля и перезапросом IP-адреса на интерфейсе/интерфейсах, указанных командой keepalive dhcp dependent-interface (не обязательно) | esr(config-gre)# keepalive dhcp link-timeout <SEC> | <SEC> – интервал между отключением GRE-туннеля и перезапросом IP-адреса по DHCP на интерфейсах |
23 | Активировать туннель. | esr(config-gre)# enable |
Пример настройки IP-GRE-туннеля
Задача:
Организовать L3-VPN между офисами компании через IP-сеть, используя для туннелирования трафика протокол GRE.
- в качестве локального шлюза для туннеля используется IP-адрес 115.0.0.1;
- в качестве удаленного шлюза для туннеля используется IP-адрес 114.0.0.10;
- IP-адрес туннеля на локальной стороне 25.0.0.1/24.
Рисунок 28 – Схема сети
Решение:
Предварительно на маршрутизаторах должны быть настроены интерфейсы для связи с сетью WAN разрешено получение пакетов протокола GRE из зоны безопасности, в которой работают интерфейсы, подключенные к сети WAN.
...
Примечание |
---|
При создании туннеля необходимо в firewall разрешить протокол GRE(47). |
Настройка DMVPN
DMVPN (Dynamic Multipoint Virtual Private Network)– технология для создания виртуальных частных сетей, с возможностью динамического создания туннелей между узлами. Преимуществом данного решения является высокая масштабируемость и легкость настройки при подключении филиалов к головному офису. DMVPN используется в топологии Hub-and-Spoke, и позволяет строить прямые VPN туннели Spoke-to-Spoke в дополнение к обычным Spoke-to-Hub туннелям. Это означает, что филиалы смогут общаться друг с другом напрямую, без необходимости прохождения трафика через Hub.
Чтобы установить такое соединение, клиенты (NHC) по шифрованному IPsec-туннелю отправляют соответствие своего внутреннего (туннельного) адреса и внешнего (NBMA) адреса на NHRP-сервер (NHS). Когда клиент захочет соединиться с другим NHC, он посылает на сервер запрос, чтобы узнать его внешний адрес. Получив ответ от сервера, клиент теперь самостоятельно может устанавливать соединение c удалённым филиалом.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Проверить доступность “внешних” IP-адресов, находящихся на физических интерфейсах. |
| |
2 | Подготовить IPsec-туннели для работы совместно с динамическими GRE-туннелями. |
| См. раздел 1.8.7 ESR-Series. Описание функционала. Версия 1.8.7. Настройка Policy-based IPsec VPN. |
3 | Перейти в режим конфигурирования GRE-туннеля и перевести GRE-туннель в режим multipoint. | esr ( config - gre )# multipoint | |
4 | Установить открытый пароль для NHRP пакетов (не обязательно). | esr(config-gre)# ip nhrp authentication <WORD> | <WORD> – пароль в открытой форме, задается строкой [1..8] символов, может включать символы [0-9a-fA-F]. |
5 | Указать время, в течении которого на NHS будет существовать запись о данном клиенте (не обязательно). | esr(config-gre)# ip nhrp holding-time <TIME> | <TIME> – время в секундах, в течении которого на сервере будет существовать запись о данном клиенте, принимает значения [1..65535]. Значение по умолчанию: 7200 |
6 | Задать «логический(туннельный)» адрес NHRP сервера. | esr(config-gre)# ip nhrp nhs <ADDR> [ no-registration ] | <ADDR/LEN> – адрес, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32];
|
7 | Задать соответствие «внутреннего» туннельного адреса с «внешним» NBMA адресом. | esr(config-gre)# ip nhrp map <ADDR> <ADDR> | <ADDR> – IP-адрес задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
8 | Определить адресата мультикастного трафика. | esr(config-gre)# ip nhrp multicast { dynamic | nhs | <ADDR> } |
<ADDR> — отправлять на специфически сконфигурированный адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
9 | Включить возможность отправки NHRP Traffic Indication пакетов. Выполняется на NHS (не обязательно). | esr(config-gre)# ip nhrp redirect | |
10 | Включить возможность создания кратчайших маршрутов. Выполняется на NHC(не обязательно). | esr(config-gre)# ip nhrp shortcut | |
11 | Привязать IPsec-VPN к mGRE туннелю (не обязательно). | esr(config-gre)# ip nhrp ipsec <WORD> { static | dynamic } | <WORD> – имя VPN, задаётся строкой до 31 символа;
|
12 | Включить работу протокола NHRP. | esr(config-gre)# ip nhrp enable | |
13 | Организовать IP-связность посредством протокола динамической маршрутизации. |
|
Пример настройки
Задача:
Организовать DMVPN между офисами компании, используя mGRE-туннели, NHRP (Next Hop Resolution Protocol), протокол динамической маршрутизации (BGP), Ipsec. В нашем примере у нас будет HUB маршрутизатор и два филиала. HUB – это DMVPN cервер (NHS), а филиалы – DMPVN клиенты (NHC).
Рисунок 29 – Схема сети
...
- алгоритм шифрования: AES128;
- алгоритм аутентификации: SHA1.
Решение:
Конфигурирование Hub
Создадим туннель GRE:Блок кода esr# configure esr(config)# tunnel gre 5
Укажем IP-адрес интерфейса, граничащего с ISP:
Блок кода esr(config-gre)# local address 150.115.0.5
Зададим значение MTU:
Блок кода esr(config-gre)# mtu 1416
Установим значение ttl:
Блок кода esr(config-gre)# ttl 16
Зададим IP-адрес GRE туннеля:
Блок кода esr(config-gre)# ip address 10.10.0.5/24
Переведём GRE-туннель в mutipoint режим для возможности соединения с несколькими точками:
Блок кода esr(config-gre)# multipoint
Перейдём к настройке NHRP. Настроим отправку мультикастовых рассылок в динамически узнаваемые адреса:
Блок кода esr(config-gre)# ip nhrp multicast dynamic
Произведём настройку протокола динамической маршрутизации для Hub. В нашем примере это будет BGP:
Блок кода esr(config)# router bgp 65005 esr(config-bgp)# address-family ipv4 esr(config-bgp-af)# neighbor 10.10.0.8 esr(config-bgp-neighbor)# remote-as 65008 esr(config-bgp-neighbor)# enable esr(config-bgp-neighbor)# exit esr(config-bgp-af)# neighbor 10.10.0.4 esr(config-bgp-neighbor)# remote-as 65004 esr(config-bgp-neighbor)# enable esr(config-bgp-neighbor)# exit esr(config-bgp-af)# enable
Произведём настройку IPsec для Hub:
Блок кода esr(config)# security ike proposal IKEPROP esr(config-ike-proposal)# encryption algorithm aes128 esr(config-ike-proposal)# dh-group 2 esr(config-ike-proposal)# exit
Блок кода esr(config)# security ike policy IKEPOLICY esr(config-ike-policy)# pre-shared-key ascii-text encrypted 8CB5107EA7005AFF esr(config-ike-policy)# proposal IKEPROP esr(config-ike-policy)# exit
Блок кода esr(config)# security ike gateway IKEGW esr(config-ike-gw)# ike-policy IKEPOLICY esr(config-ike-gw)# local address 150.115.0.5 esr(config-ike-gw)# local network 150.115.0.5/32 protocol gre esr(config-ike-gw)# remote address any esr(config-ike-gw)# remote network any esr(config-ike-gw)# mode policy-based esr(config-ike-gw)# exit
Блок кода esr(config)# security ipsec proposal IPSECPROP esr(config-ipsec-proposal)# encryption algorithm aes128 esr(config-ipsec-proposal)# exit
Блок кода esr(config)# security ipsec policy IPSECPOLICY esr(config-ipsec-policy)# proposal IPSECPROP esr(config-ipsec-policy)# exit
Блок кода esr(config)# security ipsec vpn IPSECVPN esr(config-ipsec-vpn)# mode ike esr(config-ipsec-vpn)# ike establish-tunnel route esr(config-ipsec-vpn)# ike gateway IKEGW esr(config-ipsec-vpn)# ike ipsec-policy IPSECPOLICY esr(config-ipsec-vpn)# enable
Привяжем IPsec к GRE туннелю, чтобы клиенты могли устанавливать шифрованное соединение:
Блок кода esr(config-gre)# ip nhrp ipsec IPSECVPN dynamic
Включим работу NHRP и сам туннель:
Блок кода esr(config-gre)# ip nhrp enable esr(config-gre)# enable
- Конфигурирование Spoke
Проведём стандартную настройку DMVPN на туннеле:
Блок кода esr# configure esr(config-gre)# tunnel gre 8 esr(config-gre)# mtu 1416 esr(config-gre)# ttl 16 esr(config-gre)# multipoint esr(config-gre)# local address 180.100.0.10 esr(config-gre)# ip address 10.10.0.8/24
Указываем сколько времени будет храниться запись о клиенте на сервере:
Блок кода esr(config-gre)# ip nhrp holding-time 300
Указываем туннельный адрес NHS:
Блок кода esr(config-gre)# ip nhrp nhs 10.10.0.5/24
Зададим соответствие туннельному адресу – реальный:
Блок кода esr(config-gre)# ip nhrp map 10.10.0.5 150.115.0.5
Настроим мультикастовую рассылку на NHRP сервер:
Блок кода esr(config)# ip nhrp multicast nhs
Произведём настройку BGP для spoke:
Блок кода esr(config)# router bgp 65008 esr(config-bgp)# address-family ipv4 esr(config-bgp-af)# neighbor 10.10.0.5 esr(config-bgp-neighbor)# remote-as 65005 esr(config-bgp-neighbor)# enable esr(config-bgp-neighbor)# exit esr(config-bgp-af)# enable
Произведём настройку IPsec. При создании шлюза протокола IKE для NHS, укажем конкретные адреса назначения. A при создании шлюза IKE для NHC – адрес назначения будет any:
Блок кода esr(config)# security ike proposal IKEPROP esr(config-ike-proposal)# encryption algorithm aes128 esr(config-ike-proposal)# dh-group 2 esr(config-ike-proposal)# exit
Блок кода esr(config)# security ike policy IKEPOLICY esr(config-ike-policy)# pre-shared-key ascii-text encrypted 8CB5107EA7005AFF esr(config-ike-policy)# proposal IKEPROP esr(config-ike-policy)# exit
Блок кода esr(config)# security ike gateway IKEGW_HUB esr(config-ike-gw)# ike-policy IKEPOLICY esr(config-ike-gw)# local address 180.100.0.10 esr(config-ike-gw)# local network 180.100.0.10/32 protocol gre esr(config-ike-gw)# remote address 150.115.0.5 esr(config-ike-gw)# remote network 150.115.0.5/32 protocol gre esr(config-ike-gw)# mode policy-based esr(config-ike-gw)# exit
Блок кода esr(config)# security ike gateway IKEGW_SPOKE esr(config-ike-gw)# ike-policy IKEPOLICY esr(config-ike-gw)# local address 180.100.0.10 esr(config-ike-gw)# local network 180.100.0.10/32 protocol gre esr(config-ike-gw)# remote address any esr(config-ike-gw)# remote network any esr(config-ike-gw)# mode policy-based esr(config-ike-gw)# exit
Блок кода esr(config)# security ipsec proposal IPSECPROP esr(config-ipsec-proposal)# encryption algorithm aes128 esr(config-ipsec-proposal)# exit
Блок кода esr(config)# security ipsec policy IPSECPOLICY esr(config-ipsec-policy)# proposal IPSECPROP esr(config-ipsec-policy)# exit
Блок кода esr(config)# security ipsec vpn IPSECVPN_HUB esr(config-ipsec-vpn)# mode ike esr(config-ipsec-vpn)# ike establish-tunnel route esr(config-ipsec-vpn)# ike gateway IKEGW_HUB esr(config-ipsec-vpn)# ike ipsec-policy IPSECPOLICY esr(config-ipsec-vpn)# enable
Блок кода esr(config)# security ipsec vpn IPSECVPN_SPOKE esr(config-ipsec-vpn)# mode ike esr(config-ipsec-vpn)# ike establish-tunnel route esr(config-ipsec-vpn)# ike gateway IKEGW_SPOKE esr(config-ipsec-vpn)# ike ipsec-policy IPSECPOLICY esr(config-ipsec-vpn)# enable
Привяжем IPsec к GRE туннелю, для возможности установления шифрованного соединения с сервером и с другими клиентами сети:
Блок кода esr(config-gre)# ip nhrp ipsec IPSECVPN_HUB static esr(config-gre)# ip nhrp ipsec IPSECVPN_SPOKE dynamic
Включим работу NHRP и сам туннель:
Блок кода esr(config-gre)# ip nhrp enable esr(config-gre)# enable
Состояние NHRP записей можно посмотреть командой:
Блок кода esr# show ip nhrp
Очистить NHRP записи можно командой:
Блок кода esr# clear ip nhrp
Якорь | ||||
---|---|---|---|---|
|
Настройка L2TPv3-туннелей
L2TPv3 (Layer 2 Tunneling Protocol Version 3) – протокол для туннелирования пакетов 2-го уровня модели OSI между двумя IP-узлами. В качестве инкапсулирующего протокола используется IP или UDP. L2TPv3 может использоваться как альтернатива MPLS P2P L2VPN (VLL) для организации VPN уровня L2. В маршрутизаторе ESR реализованы статические неуправляемые L2TPv3-туннели, то есть туннели создаются вручную путем конфигурирования на локальном и удаленном узлах. Параметры туннеля на каждой из сторон должны быть взаимосогласованными или переносимые данные не будут декапсулироваться партнером.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Сконфигурировать L3-интерфейс, от которого будет строиться L2TPv3-туннель. |
| |
2 | Создать L2TPv3-туннель и перейти в режим его конфигурирования. | esr(config)# tunnel l2tpv3 <INDEX> | <INDEX> – идентификатор туннеля в диапазоне:
|
3 | Указать описание конфигурируемого туннеля (не обязательно). | esr(config-l2tpv3)# description <DESCRIPTION> | <DESCRIPTION> – описание туннеля, задаётся строкой до 255 символов. |
4 | Указать экземпляр VRF, в котором будет работать данный L2TPV3-туннель (не обязательно). | esr(config- l2tpv3 )# ip vrf forwarding <VRF> | <VRF> – имя VRF, задается строкой до 31 символа. |
5 | Установить локальный IP-адрес для установки туннеля. | esr(config-l2tpv3)# local address <ADDR> | <ADDR> – IP-адрес локального шлюза, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
6 | Установить удаленный IP-адрес для установки туннеля. | esr(config-l2tpv3)# remote address <ADDR> | <ADDR> – IP-адрес локального шлюза, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
7 | Выбрать метод инкапсуляции для туннеля L2TPv3. | esr(config-l2tpv3)# protocol <TYPE> | <TYPE> – тип инкапсуляции, возможные значения:
|
8 | Установить локальный идентификатор сессии. | esr(config-l2tpv3)# local session-id <SESSION-ID> | <SESSION-ID> – идентификатор сессии, принимает значения [1..200000]. |
9 | Установить удаленный идентификатор сессии. | esr(config-l2tpv3)# remote session-id <SESSION-ID> | <SESSION-ID> – идентификатор сессии, принимает значения [1..200000]. |
10 | Определить локальный UDP-порт (если в качестве метода инкапсуляции был выбран UDP протокол). | esr(config-l2tpv3)# local port <UDP> | <UDP> – номер UDP-порта в диапазоне [1..65535]. |
11 | Определить удаленный UDP-порт (если в качестве метода инкапсуляции был выбран UDP протокол). | esr(config-l2tpv3)# remote port <UDP> | <UDP> – номер UDP-порта в диапазоне [1..65535]. |
12 | Назначить широковещательный домен для инкапсуляции в L2TPV3-пакеты данного туннеля. | esr(config-l2tpv3)# bridge-group <BRIDGE-ID> | <BRIDGE-ID> – идентификационный номер моста, принимает значения в диапазоне:
|
13 | Активировать туннель. | esr(config-l2tpv3)# enable | |
14 | Указать размер MTU (MaximumTransmitionUnit) для туннелей (не обязательно). MTU более 1500 будет активно только в случае применения команды "system jumbo-frames" | esr(config-l2tpv3)# mtu <MTU> | <MTU> – значение MTU, принимает значения в диапазоне:
Значение по умолчанию: 1500. |
15 | Определить локальное значение cookie для дополнительной проверки соответствия между передаваемыми данными и сессией (не обязательно). | esr(config-l2tpv3)# local cookie <COOKIE> | <COOKIE> – значение COOKIE, параметр принимает значения длиной восемь или шестнадцать символов в шестнадцатеричном виде. |
16 | Определить удаленное значение cookie для дополнительной проверки соответствия между передаваемыми данными и сессией (не обязательно). | esr(config-l2tpv3)# remote cookie <COOKIE> | <COOKIE> – значение COOKIE, параметр принимает значения длиной восемь или шестнадцать символов в шестнадцатеричном виде. |
17 | Задать интервал времени, за который усредняется статистика о нагрузке на туннеле (не обязательно). | esr(config-l2tpv3)# load-average <TIME> | <TIME> – интервал в секундах, принимает значения [5..150]. Значение по умолчанию: 5. |
Пример настройки L2TPv3-туннеля
Задача:
Организовать L2 VPN между офисами компании через IP-сеть, используя для туннелирования трафика протокол L2TPv3.
- в качестве инкапсулирующего протокола используется UDP, номер порта на локальной стороне и номер порта на стороне партнера 519;
- в качестве локального шлюза для туннеля используется IP-адрес 21.0.0.1;
- в качестве удаленного шлюза для туннеля используется IP-адрес 183.0.0.10;
- идентификатор туннеля на локальной стороне равен 2, на стороне партнера 3;
- идентификатор сессии внутри туннеля равен 100, на стороне партнера 200;
- в туннель направим трафик из bridge с идентификатором 333.
Рисунок 30 – Схема сети
Решение:
Создадим туннель L2TPv3 333:
...
Установим принадлежность L2TPv3-туннеля к мосту, который должен быть связан с сетью удаленного офиса (настройка моста рассматривается в пункте 1.8.7 ESR-Series. Описание функционала. Версия 1.8.7 Пример настройки bridge для VLAN и L2TPv3-туннеля):
Блок кода |
---|
esr(config-l2tpv3)# bridge-group 333 |
...
Установим принадлежность саб-интерфейса к мосту, который должен быть связан с локальной сетью (настройка моста рассматривается в пункте 1.8.7 ESR-Series. Описание функционала. Версия 1.8.7 Настройка PPP через E1):
Блок кода |
---|
esr(config-subif)# bridge-group 333 esr(config-subif)# exit |
...
Примечание |
---|
Помимо создания туннеля необходимо в firewall разрешить входящий трафик по протоколу UDP с портом отправителя 519 и портом назначения 519. |
Настройка IPsec VPN
IPsec – это набор протоколов, которые обеспечивают защиту передаваемых с помощью IP-протокола данных. Данный набор протоколов позволяет осуществлять подтверждение подлинности (аутентификацию), проверку целостности и шифрование IP-пакетов, а также включает в себя протоколы для защищённого обмена ключами в сети Интернет.
Настройка Route-based IPsec VPN
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Создать VTI-туннель и перейти в режим его конфигурирования. | esr(config)# tunnel vti <TUN> | <TUN> – имя туннеля устройства. |
2 | Указать локальный IP-адрес VTI-туннеля. | esr(config-vti)#local address <ADDR> | <ADDR> – IP-адрес локального шлюза. |
3 | Указать удаленный IP-адрес VTI-туннеля. | esr(config-vti)#remote address <ADDR> | <ADDR> – IP-адрес удаленного шлюза. |
4 | Установить IP-адрес локальной стороны VTI-туннеля | esr(config-vti)# ip address <ADDR/LEN> | <ADDR/LEN> – IP-адрес и префикс подсети задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32]. |
5 | Включить VTI-туннель в зону безопасности и настроить правила взаимодействия между зонами или отключить firewall для VTI-туннеля. | esr(config-vti)# security-zone<NAME> | <NAME> – имя зоны безопасности, задаётся строкой до 12 символов. |
esr(config-vti)# ip firewall disable | |||
6 | Включить туннель. | esr(config-vti)#enable | |
7 | Создать IKE-профиль и перейти в режим его конфигурирования. | esr(config)# security ike proposal <NAME> | <NAME> – имя профиля протокола IKE, задаётся строкой до 31 символа. |
8 | Указать описание конфигурируемого IKE-профиля (не обязательно). | esr(config-ike- proposal)# description<DESCRIPTION> | <DESCRIPTION> – описание туннеля, задаётся строкой до 255 символов. |
9 | Определить алгоритм аутентификации для IKE. (не обязательно) | esr(config-ike- proposal)# authentication algorithm <ALGORITHM> | <ALGORITHM> – алгоритм аутентификации, принимает значения: md5, sha1, sha2-256, sha2‑384, sha2-512. Значение по умолчанию: sha1 |
10 | Определить алгоритм шифрования для IKE. (не обязательно) | esr(config-ike- proposal)# encryption algorithm <ALGORITHM> | <ALGORITHM> – протокол шифрования, принимает значения: des, 3des, blowfish128, blowfish192, blowfish256, aes128, aes192, aes256, aes128ctr, aes192ctr, aes256ctr, camellia128, camellia192, camellia256. Значение по умолчанию: 3des |
11 | Определить номер группы Диффи-Хеллмана. (не обязательно) | esr(config-ike- proposal)# dh-group <DH-GROUP> | <DH-GROUP> – номер группы Диффи-Хеллмана, принимает значения [1, 2, 5, 14, 15, 16, 17, 18]. Значение по умолчанию: 1 |
12 | Определить режим аутентификации IKE. (не обязательно) | esr(config-ike- proposal)# authentication method <METHOD> | <METHOD> – метод аутентификации ключа. Может принимать значения:
Значение по умолчанию: pre-shared-key |
13 | Создать ike-политику и перейти в режим её конфигурирования. | esr(config)# security ike policy <NAME> | <NAME> – имя политики IKE, задаётся строкой до 31 символа. |
14 | Задать время жизни соединения протокола IKE (не обязательно). | esr(config-ike- proposal)# lifetime seconds <SEC> | <SEC> – период времени, принимает значения [4 ..86400] секунд. Значение по умолчанию: 3600 |
15 | Привязать IKE-профиль к IKE-политике. | esr(config-ike-policy)# proposal <NAME> | <NAME> – имя профиля протокола IKE, задаётся строкой до 31 символа. |
16 | Указать ключ аутентификации. (обязательно, если в качестве режима аутентификации выбран pre-shared-key) | esr(config-ike-policy)# pre-shared-key ascii-text<TEXT> | <TEXT> – строка [1..64] ASCII символов. |
17 | Создать IKE-шлюз и перейти в режим его конфигурирования. | esr(config)# security ike gateway <NAME> | <NAME> – имя шлюза протокола IKE, задаётся строкой до 31 символа. |
18 | Привязать IKE-политику к IKE-шлюзу. | esr(config-ike-gw)# ike-policy <NAME> | <NAME> – имя политики протокола IKE, задаётся строкой до 31 символа. |
19 | Указать версию IKE (не обязательно). | esr(config-ike-gw)# version <VERSION> | <version> – версия IKE-протокола: v1-only или v2-only. Значение по умолчанию: v1-only |
20 | Установить режим перенаправления трафика в туннель – route-based. | esr(config-ike-gw)# mode route-based | |
21 | Указать действие для DPD (не обязательно). | esr(config-ike-gw)# dead-peer-detection action <MODE> | <MODE> – режим работы DPD:
Значение по умолчанию: none |
22 | Указать интервал между отправкой сообщений механизмом DPD (не обязательно). | esr(config-ike-gw)# dead-peer-detection interval <SEC> | <SEC> – интервал между отправкой сообщений механизмом DPD, принимает значения [1..180] секунд. Значение по умолчанию: 2 |
23 | Указать период времени для ответа на сообщения механизма DPD (не обязательно). | esr(config-ike-gw)# dead-peer-detection timeout <SEC> | <SEC> – период времени для ответа на сообщения механизма DPD, принимает значения [1..180] секунд. Значение по умолчанию: 30 секунд |
24 | Привязать VTI-туннель к IKE-шлюзу. | esr(config-ike-gw)# bind-interface vti <VTI> | <VTI> – идентификационный номер интерфейса VTI. |
25 | Создать в IPsec-профиль. | esr(config)# security ipsec proposal <NAME> | <NAME> – имя профиля протокола IPsec, задаётся строкой до 31 символа. |
26 | Определить алгоритм аутентификации для IPsec. (не обязательно) | esr(config-ipsec- proposal)# authentication algorithm <ALGORITHM> | <ALGORITHM> – алгоритм аутентификации, принимает значения: md5, sha1, sha2-256, sha2‑384, sha2-512. Значение по умолчанию: sha1 |
27 | Определить алгоритм шифрования для IPsec. (не обязательно) | esr(config-ipsec- proposal)# encryption algorithm <ALGORITHM> | <ALGORITHM> – протокол шифрования, принимает значения: des, 3des, blowfish128, blowfish192, blowfish256, aes128, aes192, aes256, aes128ctr, aes192ctr, aes256ctr, camellia128, camellia192, camellia256. Значение по умолчанию: 3des |
28 | Указать протокол инкапсуляции для IPsec (не обязательно). | esr(config-ipsec- proposal)# protocol <PROTOCOL> | <PROTOCOL> – инкапсулирующий протокол, принимает значения Значение по умолчанию: esp |
29 | Создать IPsec-политику и перейти в режим её конфигурирования. | esr(config)# security ipsec policy <NAME> | <NAME> – имя политики IPsec, задаётся строкой до 31 символа. |
30 | Привязать IPsec-профиль к IPsec-политике | esr(config-ipsec-policy)# proposal <NAME> | <NAME> – имя профиля протокола IPsec, задаётся строкой до 31 символа. |
31 | Задать время жизни IPsec-туннеля (не обязательно). | esr(config-ipsec- policy)# lifetime { seconds <SEC> | packets <PACKETS> | kilobytes <KB> } | <SEC> – период времени жизни IPsec-туннеля, по истечении происходит пересогласование. Принимает значения [1140..86400] секунд. <PACKETS> – количество пакетов, после передачи которого происходит пересогласование IPsec-туннеля. Принимает значения [4..86400]. <KB> – объем трафика, после передачи которого происходит пересогласование IPsec-туннеля. Принимает значения [4..86400] секунд. Значение по умолчанию: 28800 секунд |
32 | Создать IPsec VPN и перейти в режим конфигурирования. | esr(config)# security ipsec vpn <NAME> | <NAME> – имя VPN, задаётся строкой до 31 символа. |
33 | Определить режим согласования данных, необходимых для активации VPN. | esr(config-ipsec-vpn)# mode <MODE> | <MODE> – режим работы VPN. |
34 | Привязать IPsec-политику к IPsec-VPN. | esr(config-ipsec-vpn)# ike ipsec-policy <NAME> | <NAME> – имя IPsec-политики, задаётся строка до 31 символа. |
35 | Задать значение DSCP для использования в IP-заголовке исходящих пакетов IKE-протокола (не обязательно). | esr(config-ipsec-vpn)# ike dscp <DSCP> | DSCP> – значение кода DSCP, принимает значения в диапазоне [0..63]. Значение по умолчанию: 63 |
36 | Установить режим активации VPN. | esr(config-ipsec-vpn)# ike establish-tunnel <MODE> | <MODE> – режим активации VPN:
|
37 | Осуществить привязку IKE-шлюза к IPsec-VPN. | esr(config-ipsec-vpn)# ike gateway <NAME> | <NAME> – имя IKE-шлюза, задаётся строкой до 31 символа. |
38 | Установить значение временного интервала в секундах, по истечению которого соединение закрывается, если не было принято или передано ни одного пакета через SA (не обязательно). | esr(config-ipsec-vpn)# ike idle-time <TIME> | <TIME> – интервал в секундах, принимает значения [4..86400]. |
39 | Отключить пересогласование ключей до разрыва IKE-соединения по истечению времени, количеству переданных пакетов или байт (не обязательно). | esr(config-ipsec-vpn)# ike rekey disable | |
40 | Настроить начало пересогласования ключей IKE-соединения до истечения времени жизни (не обязательно). | esr(config-ipsec-vpn)# ike rekey margin { seconds <SEC> | packets <PACKETS> | kilobytes <KB> } | <SEC> – интервал времени в секундах, оставшийся до закрытия соединения (задается командой lifetimeseconds, см. 22.2.13). Принимает значения [4..86400]. <PACKETS> – количество пакетов, оставшихся до закрытия соединения (задается командой lifetimepackets). Принимает значения [4..86400] <KB> – объем трафика в килобайтах, оставшийся до закрытия соединения (задается командой lifetimekilobytes). Принимает значения [4..86400] Значение по умолчанию:
|
41 | Установить уровень случайного разброса значений параметров margin seconds, margin packets, margin kilobytes (не обязательно). | esr(config-ipsec-vpn)# ike rekey randomization <VALUE> | <VALUE> – максимальный процент разброса значений, принимает значения [1..100]. Значение по умолчанию: 100% |
42 | Указать описание для IPsec-VPN (не обязательно). | esr(config-ipsec-vpn)# description <DESCRIPTION> | <DESCRIPTION> – описание профиля, задаётся строкой до 255 символов. |
43 | Активировать IPsec VPN. | esr(config-ipsec-vpn)# enable |
Пример настройки
Рисунок 31 – Схема сети
Задача:
Настроить IPsec-туннель между R1 и R2.
...
- алгоритм шифрования: AES 128 bit;
- алгоритм аутентификации: MD5.
Решение:
Конфигурирование R1
Настроим внешний сетевой интерфейс и определим принадлежность к зоне безопасности:Блок кода esr# configure esr(config)# interface gi 1/0/1 esr(config-if-gi)# ip address 180.100.0.1/24 esr(config-if-gi)# security-zone untrusted esr(config-if-gi)# exit
Создадим туннель VTI. Трафик будет перенаправляться через VTI в IPsec-туннель. В качестве локального и удаленного шлюза указываются IP-адреса интерфейсов, граничащих с WAN:
Блок кода esr(config)# tunnel vti 1 esr(config-vti)# local address 180.100.0.1 esr(config-vti)# remote address 120.11.5.1 esr(config-vti)# enable esr(config-vti)# exit
Для настройки правил зон безопасности потребуется создать профиль порта протокола ISAKMP:
Блок кода esr(config)# object-group service ISAKMP esr(config-object-group-service)# port-range 500 esr(config-object-group-service)# exit
Создадим статический маршрут до удаленной LAN-сети. Для каждой подсети, которая находится за IPsec-туннелем, нужно указать маршрут через VTI-туннель:
Блок кода esr(config)# ip route 192.0.2.0/24 tunnel vti 1
Создадим профиль протокола IKE. В профиле укажем группу Диффи-Хэллмана 2, алгоритм шифрования AES 128 bit, алгоритм аутентификации MD5. Данные параметры безопасности используются для защиты IKE-соединения:
Блок кода esr(config)# security ike proposal ike_prop1 esr(config-ike-proposal)# dh-group 2 esr(config-ike-proposal)# authentication algorithm md5 esr(config-ike-proposal)# encryption algorithm aes128 esr(config-ike-proposal)# exit
Создадим политику протокола IKE. В политике указывается список профилей протокола IKE, по которым могут согласовываться узлы и ключ аутентификации:
Блок кода esr(config)# security ike policy ike_pol1 esr(config-ike-policy)# pre-shared-key hexadecimal 123FFF esr(config-ike-policy)# proposal ike_prop1 esr(config-ike-policy)# exit
Создадим шлюз протокола IKE. В данном профиле указывается VTI-туннель, политика, версия протокола и режим перенаправления трафика в туннель:
Блок кода esr(config)# security ike gateway ike_gw1 esr(config-ike-gw)# ike-policy ike_pol1 esr(config-ike-gw)# mode route-based esr(config-ike-gw)# bind-interface vti 1 esr(config-ike-gw)# version v2-only esr(config-ike-gw)# exit
Создадим профиль параметров безопасности для IPsec-туннеля. В профиле укажем алгоритм шифрования AES 128 bit, алгоритм аутентификации MD5. Данные параметры безопасности используются для защиты IPsec-туннеля:
Блок кода esr(config)# security ipsec proposal ipsec_prop1 esr(config-ipsec-proposal)# authentication algorithm md5 esr(config-ipsec-proposal)# encryption algorithm aes128 esr(config-ipsec-proposal)# exit
Создадим политику для IPsec-туннеля. В политике указывается список профилей IPsec-туннеля, по которым могут согласовываться узлы.
Блок кода esr(config)# security ipsec policy ipsec_pol1 esr(config-ipsec-policy)# proposal ipsec_prop1 esr(config-ipsec-policy)# exit
Создадим IPsec VPN. В VPN указывается шлюз IKE-протокола, политика IP sec-туннеля, режим обмена ключами и способ установления соединения. После ввода всех параметров включим туннель командой enable.
Блок кода esr(config)# security ipsec vpn ipsec1 esr(config-ipsec-vpn)# mode ike esr(config-ipsec-vpn)# ike establish-tunnel route esr(config-ipsec-vpn)# ike gateway ike_gw1 esr(config-ipsec-vpn)# ike ipsec-policy ipsec_pol1 esr(config-ipsec-vpn)# enable esr(config-ipsec-vpn)# exit esr(config)# exit
- Конфигурирование R2
Настроим внешний сетевой интерфейс и определим принадлежность к зоне безопасности:
Блок кода esr# configure esr(config)# interface gi 1/0/1 esr(config-if)# ip address 120.11.5.1/24 esr(config-if)# security-zone untrusted esr(config-if)# exit
Создадим туннель VTI. Трафик будет перенаправляться через VTI в IPsec-туннель. В качестве локального и удаленного шлюза указываются IP-адреса интерфейсов, граничащих с WAN:
Блок кода esr(config)# tunnel vti 1 esr(config-vti)# remote address 180.100.0.1 esr(config-vti)# local address 120.11.5.1 esr(config-vti)# enable esr(config-vti)# exit
Для настройки правил зон безопасности потребуется создать профиль порта протокола ISAKMP:
Блок кода esr(config)# object-group service ISAKMP esr(config-object-group-service)# port-range 500 esr(config-object-group-service)# exit
Создадим статический маршрут до удаленной LAN-сети. Для каждой подсети, которая находится за IPsec-туннелем, нужно указать маршрут через VTI-туннель:
Блок кода esr(config)# ip route 10.0.0.0/16 tunnel vti 1
Создадим профиль протокола IKE. В профиле укажем группу Диффи-Хэллмана 2, алгоритм шифрования AES 128 bit, алгоритм аутентификации MD5. Данные параметры безопасности используются для защиты IKE-соединения:
Блок кода esr(config)# security ike proposal ike_prop1 esr(config-ike-proposal)# dh-group 2 esr(config-ike-proposal)# authentication algorithm md5 esr(config-ike-proposal)# encryption algorithm aes128 esr(config-ike-proposal)# exit esr(config)#
Создадим политику протокола IKE. В политике указывается список профилей протокола IKE, по которым могут согласовываться узлы и ключ аутентификации:
Блок кода esr(config)# security ike policy ike_pol1 esr(config-ike-policy)# pre-shared-key hexadecimal 123FFF esr(config-ike-policy)# proposal ike_prop1 esr(config-ike-policy)# exit
Создадим шлюз протокола IKE. В данном профиле указывается VTI-туннель, политика, версия протокола и режим перенаправления трафика в туннель:
Блок кода esr(config)# security ike gateway ike_gw1 esr(config-ike-gw)# ike-policy ike_pol1 esr(config-ike-gw)# mode route-based esr(config-ike-gw)# bind-interface vti 1 esr(config-ike-gw)# version v2-only esr(config-ike-gw)# exit
Создадим профиль параметров безопасности для IPsec-туннеля. В профиле укажем алгоритм шифрования AES 128 bit, алгоритм аутентификации MD5. Данные параметры безопасности используются для защиты IPsec-туннеля:
Блок кода esr(config)# security ipsec proposal ipsec_prop1 esr(config-ipsec-proposal)# authentication algorithm md5 esr(config-ipsec-proposal)# encryption algorithm aes128 esr(config-ipsec-proposal)# exit
Создадим политику для IPsec-туннеля. В политике указывается список профилей IPsec-туннеля, по которым могут согласовываться узлы.
Блок кода esr(config)# security ipsec policy ipsec_pol1 esr(config-ipsec-policy)# proposal ipsec_prop1 esr(config-ipsec-policy)# exit
Создадим IPsec VPN. В VPN указывается шлюз IKE-протокола, политика IP sec-туннеля, режим обмена ключами и способ установления соединения. После ввода всех параметров включим туннель командой enable.
Блок кода esr(config)# security ipsec vpn ipsec1 esr(config-ipsec-vpn)# mode ike esr(config-ipsec-vpn)# ike establish-tunnel route esr(config-ipsec-vpn)# ike gateway ike_gw1 esr(config-ipsec-vpn)# ike ipsec-policy ipsec_pol1 esr(config-ipsec-vpn)# enable esr(config-ipsec-vpn)# exit esr(config)# exit
Состояние туннеля можно посмотреть командой:
Блок кода esr# show security ipsec vpn status ipsec1
Конфигурацию туннеля можно посмотреть командой:
Блок кода esr# show security ipsec vpn configuration ipsec1
...
Якорь | ||||
---|---|---|---|---|
|
Настройка Policy-based IPsec VPN
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Создать IKE-экземпляр и перейти в режим его конфигурирования. | esr(config)# security ike proposal <NAME> | <NAME> – имя профиля протокола IKE, задаётся строкой до 31 символа. |
2 | Указать описание конфигурируемого туннеля (не обязательно). | esr(config-ike- proposal)# description<DESCRIPTION> | <DESCRIPTION> – описание туннеля, задаётся строкой до 255 символов. |
3 | Определить алгоритм аутентификации для IKE. | esr(config-ike- proposal)# authentication algorithm <ALGORITHM> | <ALGORITHM> – алгоритм аутентификации, принимает значения: md5, sha1, sha2-256, sha2‑384, sha2-512. |
4 | Определить алгоритм шифрования для IKE. | esr(config-ike- proposal)# encryption algorithm <ALGORITHM> | <ALGORITHM> – протокол шифрования, принимает значения: des, 3des, blowfish128, blowfish192, blowfish256, aes128, aes192, aes256, aes128ctr, aes192ctr, aes256ctr, camellia128, camellia192, camellia256. |
5 | Определить номер группы Диффи-Хеллмана. | esr(config-ike- proposal)# dh-group <DH-GROUP> | <DH-GROUP> – номер группы Диффи-Хеллмана, принимает значения [1, 2, 5, 14, 15, 16, 17, 18]. |
6 | Определить режим аутентификации. | esr(config-ike- proposal)# authentication method <METHOD> | <METHOD> – метод аутентификации ключа. Может принимать значения:
|
7 | Создать политику для профиля IKE и перейти в режим её конфигурирования. | esr(config)# security ike policy <NAME> | <NAME> – имя политики IKE, задаётся строкой до 31 символа. |
8 | Задать время жизни соединения протокола IKE (не обязательно). | esr(config-ike- proposal)# lifetime seconds <SEC> | <SEC> – период времени, принимает значения [4 ..86400] секунд. |
9 | Привязать политику к профилю. | esr(config-ike-policy)# proposal <NAME> | <NAME> – имя профиля протокола IKE, задаётся строкой до 31 символа. |
10 | Указать ключ аутентификации. | esr(config-ike-policy)#pre-shared-key ascii-text<TEXT> | <TEXT> – строка [1..64] ASCII символов. |
11 | Создать шлюз для IKE и перейти в режим его конфигурирования. | esr(config)# security ike gateway <NAME> | <NAME> – имя шлюза протокола IKE, задаётся строкой до 31 символа. |
12 | Привязать политику IKE. | esr(config-ike-gw)# ike-policy <NAME> | <NAME> – имя политики протокола IKE, задаётся строкой до 31 символа. |
13 | Указать версию IKE (не обязательно). | esr(config-ike-gw)# version <VERSION> | <version> – версия IKE-протокола: v1-only или v2-only. |
14 | Установить режим перенаправления трафика в туннель. | esr(config-ike-gw)#mode<MODE> | <MODE> – режим перенаправления трафика в туннель, принимает значения:
|
15 | Указать действие для DPD (не обязательно). | esr(config-ike-gw)# dead-peer-detection action <MODE> | <MODE> – режим работы DPD:
|
16 | Указать интервал между отправкой сообщений механизмом DPD (не обязательно). | esr(config-ike-gw)#dead-peer-detection interval <SEC> | <SEC> – интервал между отправкой сообщений механизмом DPD, принимает значения [1..180] секунд. |
17 | Указать период времени для ответа на сообщения механизма DPD (не обязательно). | esr(config-ike-gw)# dead-peer-detection timeout <SEC> | <SEC> – период времени для ответа на сообщения механизма DPD, принимает значения [1..180] секунд. |
18 | Указать версию IKE (не обязательно). | esr(config-ike-gw)# version <VERSION> | <version> – версия IKE-протокола: v1-only или v2-only. |
19 | Установить IP подсети отправителя. | esr(config-ike-gw)# local network <ADDR/LEN> [ protocol { <TYPE> | <ID> } [ port <PORT> ] ] | <ADDR/LEN> – IP-адрес и маска подсети отправителя. Параметр задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32]; <TYPE> – тип протокола, принимает значения: esp, icmp, ah, eigrp, ospf, igmp, ipip, tcp, pim, udp, vrrp, rdp, l2tp, gre; <ID> – идентификационный номер IP-протокола, принимает значения [0x00-0xFF]; <PORT> – TCP/UDP порт, принимает значения [1..65535]. |
20 | Установить IP-адрес локального шлюза IPsec-туннеля. | esr(config-ike-gw)#local address <ADDR> | <ADDR> – IP-адрес локального шлюза. |
21 | Установить IP-адрес удаленного шлюза IPsec-туннеля. | esr(config-ike-gw)#remote address <ADDR> | <ADDR> – IP-адрес удаленного шлюза. |
22 | Установить IP-адрес подсети получателя, а также IP-протокол и порт. | esr(config-ike-gw)# remote network <ADDR/LEN> [ protocol { <TYPE> | <ID> } [ port <PORT> ] ] | <ADDR/LEN> – IP-адрес и маска подсети отправителя. Параметр задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32]; <TYPE> – тип протокола, принимает значения: esp, icmp, ah, eigrp, ospf, igmp, ipip, tcp, pim, udp, vrrp, rdp, l2tp, gre; <ID> – идентификационный номер IP-протокола, принимает значения [0x00-0xFF]; <PORT> – TCP/UDP порт, принимает значения [1..65535]. |
23 | Создать в профиль IPsec. | esr(config)# security ipsec proposal <NAME> | <NAME> – имя профиля протокола IPsec, задаётся строкой до 31 символа. |
24 | Определить алгоритм аутентификации для IPsec. | esr(config-ipsec- proposal)# authentication algorithm <ALGORITHM> | <ALGORITHM> – алгоритм аутентификации, принимает значения: md5, sha1, sha2-256, sha2‑384, sha2-512. |
26 | Определить алгоритм шифрования для IPsec. | esr(config-ipsec- proposal)# encryption algorithm <ALGORITHM> | <ALGORITHM> – протокол шифрования, принимает значения: des, 3des, blowfish128, blowfish192, blowfish256, aes128, aes192, aes256, aes128ctr, aes192ctr, aes256ctr, camellia128, camellia192, camellia256. |
26 | Указать протокол (не обязательно). | esr(config-ipsec- proposal)#protocol <PROTOCOL> | <PROTOCOL> – инкапсулирующий протокол, принимает значения |
27 | Создать политику для профиля IPsec и перейти в режим её конфигурирования | esr(config)# security ipsec policy <NAME> | <NAME> – имя политики IPsec, задаётся строкой до 31 символа. |
28 | Привяжем политику к профилю | esr(config-ipsec-policy)# proposal <NAME> | <NAME> – имя профиля протокола IPsec, задаётся строкой до 31 символа. |
29 | Задать время жизни IPsec туннеля (не обязательно). | esr(config-ipsec- policy)# lifetime { seconds <SEC> | packets <PACKETS> | kilobytes <KB> } | <SEC> – период времени жизни IPsec-туннеля, по истечении которого происходит пересогласование. Принимает значения [1140..86400] секунд. <PACKETS> – количество пакетов, после передачи которых происходит пересогласование IPsec-туннеля. Принимает значения [4..86400]. <KB> – объем трафика, после передачи которого происходит пересогласование IPsec-туннеля. Принимает значения [4..86400] секунд. |
30 | Создать IPsec VPN и перейти в режим конфигурирования. | esr(config)# security ipsecvpn <NAME> | <NAME> – имя VPN, задаётся строкой до 31 символа. |
31 | Определить режим согласования данных, необходимых для активации VPN. | esr(config-ipsec-vpn)# mode <MODE> | <MODE> – режим работы VPN. |
32 | Привязать IPsec политику к VPN. | esr(config-ipsec-vpn)#ike ipsec-policy <NAME> | <NAME> – имя IPsec-политики, задаётся строка до 31 символа. |
33 | Задать значение DSCP для использования в IP-заголовке исходящих пакетов IKE-протокола (не обязательно). | esr(config-ipsec-vpn)#ike dscp <DSCP> | DSCP> – значение кода DSCP, принимает значения в диапазоне [0..63]. |
34 | Устанавливается режим активации VPN. | esr(config-ipsec-vpn)#ike establish-tunnel <MODE> | <MODE> – режим активации VPN:
|
35 | Осуществить привязка IKE-шлюза к VPN. | esr(config-ipsec-vpn)# ike gateway <NAME> | <NAME> – имя IKE-шлюза, задаётся строкой до 31 символа. |
36 | Установить значение временного интервала в секундах, по истечению которого соединение закрывается, если не было принято или передано ни одного пакета через SA (не обязательно). | esr(config-ipsec-vpn)# ike idle-time <TIME> | <TIME> – интервал в секундах, принимает значения [4..86400]. |
37 | Отключить пересогласование ключей до разрыва IKE соединения по истечению времени, количеству переданных пакетов или байт (не обязательно). | esr(config-ipsec-vpn)#ike rekey disable | |
38 | Настроить начало пересогласования ключей IKE соединения до истечения времени жизни (не обязательно). | esr(config-ipsec-vpn)# Ike rekey margin { seconds <SEC> | packets <PACKETS> | kilobytes <KB> } | <SEC> – интервал времени в секундах, оставшийся до закрытия соединения (задается командой lifetimeseconds) . Принимает значения [4..86400]. <PACKETS> – количество пакетов, оставшихся до закрытия соединения (задается командой lifetimepackets). Принимает значения [4..86400]. <KB> – объем трафика в килобайтах, оставшийся до закрытия соединения (задается командой lifetimekilobytes). Принимает значения [4..86400] |
39 | Установить уровень случайного разброса значений параметров marginseconds, marginpackets, marginkilobytes (не обязательно). | esr(config-ipsec-vpn)# ike rekey randomization <VALUE> | <VALUE> – максимальный процент разброса значений, принимает значения [1..100]. |
40 | Описать VPN (не обязательно). | esr(config-ipsec-vpn)# description <DESCRIPTION> | <DESCRIPTION> – описание профиля, задаётся строкой до 255 символов. |
41 | Активировать IPsec VPN. | esr(config-ipsec-vpn)# enable |
Пример настройки
Задача:
Рисунок 32 – Схема сети
...
- алгоритм шифрования: AES 128 bit;
- алгоритм аутентификации: MD5.
Решение:
- Конфигурирование R1
Настроим внешний сетевой интерфейс и определим принадлежность к зоне безопасности:
Блок кода esr# configure esr(config)# interface gigabitethernet 1/0/1 esr(config-if-gi)# ip address 120.11.5.1/24 esr(config-if-gi)# security-zone untrusted esr(config-if-gi)# exit
Для настройки правил зон безопасности потребуется создать профиль порта протокола ISAKMP:
Блок кода esr(config)# object-group service ISAKMP esr(config-object-group-service)# port-range 500 esr(config-object-group-service)# exit
Создадим профиль протокола IKE. В профиле укажем группу Диффи-Хэллмана 2, алгоритм шифрования AES 128 bit, алгоритм аутентификации MD5. Данные параметры безопасности используются для защиты IKE-соединения:
Блок кода esr(config)# security ike proposal ike_prop1 esr(config-ike-proposal)# dh-group 2 esr(config-ike-proposal)# authentication algorithm md5 esr(config-ike-proposal)# encryption algorithm aes128 esr(config-ike-proposal)# exit
Создадим политику протокола IKE. В политике указывается список профилей протокола IKE, по которым могут согласовываться узлы и ключ аутентификации:
Блок кода esr(config)# security ike policy ike_pol1 esr(config-ike-policy)# pre-shared-key hexadecimal 123FFF esr(config-ike-policy)# proposal ike_prop1 esr(config-ike-policy)# exit
Создадим шлюз протокола IKE. В данном профиле указывается VTI-туннель, политика, версия протокола и режим перенаправления трафика в туннель:
Блок кода esr(config)# security ike gateway ike_gw1 esr(config-ike-gw)# ike-policy ike_pol1 esr(config-ike-gw)# local address 180.100.0.1 esr(config-ike-gw)# local network 10.0.0.0/16 esr(config-ike-gw)# remote address 120.11.5.1 esr(config-ike-gw)# remote network 192.0.2.0/24 esr(config-ike-gw)# mode policy-based esr(config-ike-gw)# exit
Создадим профиль параметров безопасности для IPsec-туннеля. В профиле укажем алгоритм шифрования AES 128 bit, алгоритм аутентификации MD5. Данные параметры безопасности используются для защиты IPsec-туннеля:
Блок кода esr(config)# security ipsec proposal ipsec_prop1 esr(config-ipsec-proposal)# authentication algorithm md5 esr(config-ipsec-proposal)# encryption algorithm aes128 esr(config-ipsec-proposal)# exit
Создадим политику для IPsec-туннеля. В политике указывается список профилей IPsec-туннеля, по которым могут согласовываться узлы.
Блок кода esr(config)# security ipsec policy ipsec_pol1 esr(config-ipsec-policy)# proposal ipsec_prop1 esr(config-ipsec-policy)# exit
Создадим IPsec VPN. В VPN указывается шлюз IKE-протокола, политика IP sec-туннеля, режим обмена ключами и способ установления соединения. После ввода всех параметров включим туннель командой enable.
Блок кода esr(config)# security ipsec vpn ipsec1 esr(config-ipsec-vpn)# mode ike esr(config-ipsec-vpn)# ike establish-tunnel immediate esr(config-ipsec-vpn)# ike gateway ike_gw1 esr(config-ipsec-vpn)# ike ipsec-policy ipsec_pol1 esr(config-ipsec-vpn)# enable esr(config-ipsec-vpn)# exit esr(config)# exit
- Конфигурирование R2
Настроим внешний сетевой интерфейс и определим принадлежность к зоне безопасности:
Блок кода esr# configure esr(config)# interface gi 1/0/1 esr(config-if)# ip address 120.11.5.1/24 esr(config-if)# security-zone untrusted esr(config-if)# exit
Для настройки правил зон безопасности потребуется создать профиль порта протокола ISAKMP:
Блок кода esr(config)# object-group service ISAKMP esr(config-addr-set)# port-range 500 esr(config-addr-set)# exit
Создадим профиль протокола IKE. В профиле укажем группу Диффи-Хэллмана 2, алгоритм шифрования AES 128 bit, алгоритм аутентификации MD5. Данные параметры безопасности используются для защиты IKE-соединения:
Блок кода esr(config)# security ike proposal ike_prop1 esr(config-ike-proposal)# dh-group 2 esr(config-ike-proposal)# authentication algorithm md5 esr(config-ike-proposal)# encryption algorithm aes128 esr(config-ike-proposal)# exit esr(config)#
Создадим политику протокола IKE. В политике указывается список профилей протокола IKE, по которым могут согласовываться узлы и ключ аутентификации:
Блок кода esr(config)# security ike policy ike_pol1 esr(config-ike-policy)# pre-shared-key hexadecimal 123FFF esr(config-ike-policy)# proposal ike_prop1 esr(config-ike-policy)# exit
Создадим шлюз протокола IKE. В данном профиле указывается VTI-туннель, политика, версия протокола и режим перенаправления трафика в туннель:
Блок кода esr(config)# security ike gateway ike_gw1 esr(config-ike-gw)# ike-policy ike_pol1 esr(config-ike-gw)# remote address 180.100.0.1 esr(config-ike-gw)# remote network 10.0.0.0/16 esr(config-ike-gw)# local address 120.11.5.1 esr(config-ike-gw)# local network 192.0.2.0/24 esr(config-ike-gw)# mode policy-based esr(config-ike-gw)# exit
Создадим профиль параметров безопасности для IPsec-туннеля. В профиле укажем алгоритм шифрования AES 128 bit, алгоритм аутентификации MD5. Данные параметры безопасности используются для защиты IPsec-туннеля:
Блок кода esr(config)# security ipsec proposal ipsec_prop1 esr(config-ipsec-proposal)# authentication algorithm md5 esr(config-ipsec-proposal)# encryption algorithm aes128 esr(config-ipsec-proposal)# exit
Создадим политику для IPsec-туннеля. В политике указывается список профилей IPsec-туннеля, по которым могут согласовываться узлы.
Блок кода esr(config)# security ipsec policy ipsec_pol1 esr(config-ipsec-policy)# proposal ipsec_prop1 esr(config-ipsec-policy)# exit
Создадим IPsec VPN. В VPN указывается шлюз IKE-протокола, политика IP sec-туннеля, режим обмена ключами и способ установления соединения. После ввода всех параметров включим туннель командой enable.
Блок кода esr(config)# security ipsec vpn ipsec1 esr(config-ipsec-vpn)# mode ike esr(config-ipsec-vpn)# ike establish-tunnel immediate esr(config-ipsec-vpn)# ike gateway ike_gw1 esr(config-ipsec-vpn)# ike ipsec-policy ipsec_pol1 esr(config-ipsec-vpn)# enable esr(config-ipsec-vpn)# exit esr(config)# exit
Состояние туннеля можно посмотреть командой:
Блок кода esr# show security ipsec vpn status ipsec1
Конфигурацию туннеля можно посмотреть командой:
Блок кода esr# show security ipsec vpn configuration ipsec1
Примечание |
---|
В firewall необходимо разрешить протокол ESP и ISAKMP (UDP-порт 500). |
Настройка Remote Access IPsec VPN
Remote Access IPsec VPN – сценарий организации временных VPN-подключений, в котором сервер IPsec VPN находится в режиме ожидания входящих подключений, а клиенты осуществляют временные подключения к серверу для получения доступа к сетевым ресурсам.
Дополнительной особенностью RA IPsec VPN является возможность использования второго фактора аутентификации IPsec – Extended Authentication (XAUTH), вторым фактором аутентификации является пара логин-пароль для клиента IPsec VPN.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Создать IKE-экземпляр и перейти в режим его конфигурирования. | esr(config)# security ike proposal <NAME> | <NAME> – имя профиля протокола IKE, задаётся строкой до 31 символа. |
2 | Указать описание конфигурируемого туннеля (не обязательно). | esr(config-ike- proposal)# description <DESCRIPTION> | <DESCRIPTION> – описание туннеля, задаётся строкой до 255 символов. |
3 | Определить алгоритм аутентификации для IKE (не обязательно). | esr(config-ike- proposal)# authentication algorithm <ALGORITHM> | <ALGORITHM> – алгоритм аутентификации, принимает значения: md5, sha1, sha2-256, sha2‑384, sha2-512. Значение по умолчанию: sha1 |
4 | Установить IP-адрес локальной стороны VTI-туннеля (не обязательно). | esr(config-vti)# ip address <ADDR/LEN> | <ADDR/LEN> – IP-адрес и префикс подсети задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..31]. |
5 | Определить номер группы Диффи-Хеллмана (не обязательно). | esr(config-ike- proposal)# dh-group <DH-GROUP> | <DH-GROUP> – номер группы Диффи-Хеллмана, принимает значения [1, 2, 5, 14, 15, 16, 17, 18]. Значение по умолчанию: 1 |
6 | Создать политику для профиля IKE и перейти в режим её конфигурирования. | esr(config)# security ike policy <NAME> | <NAME> – имя политики IKE, задаётся строкой до 31 символа. |
7 | Определить режим аутентификации. | esr(config-ike- policy)# authentication method <METHOD> | <METHOD> – метод аутентификации ключа. Может принимать значения:
|
8 | Задать режим клиента (только для клиента). | esr(config-ike- policy)# authentication mode client | |
9 | Задать время жизни соединения протокола IKE (не обязательно). | esr(config-ike- policy)# lifetime seconds <SEC> | <SEC> – период времени, принимает значения [4 ..86400] секунд. Значение по умолчанию: 3600 |
10 | Привязать политику к профилю. | esr(config-ike-policy)# proposal <NAME> | <NAME> – имя профиля протокола IKE, задаётся строкой до 31 символа. |
11 | Указать ключ аутентификации. | esr(config-ike-policy)#pre-shared-key ascii-text <TEXT> | <TEXT> – строка [1..64] ASCII символов. |
12 | Создать профиль доступа. | esr(config)# access profile <NAME> | <NAME> – имя профиля доступа, задаётся строкой до 31 символа. |
13 | Создать имя пользователя. | esr(config-access-profile)# user <LOGIN> | <LOGIN> – логин клиента, задаётся строкой до 31 символа. |
14 | Задать пароль пользователя. | esr(config-profile)# password ascii-text <TEXT> | <TEXT> – строка [8..32] ASCII символов. |
15 | Создать пул адресов назначения (только для сервера). | esr(config)# address-assignment pool <NAME> | <NAME> – имя пула адресов назначения, задаётся строкой до 31 символа. |
16 | Задать подсеть, из которой будут выдаваться IP клиентам (только для сервера). | esr(config-pool)# ip prefix <ADDR/LEN> | <ADDR/LEN> – адрес подсети и префикс. |
17 | Создать шлюз для IKE и перейти в режим его конфигурирования. | esr(config)# security ike gateway <NAME> | <NAME> – имя шлюза протокола IKE, задаётся строкой до 31 символа. |
18 | Привязать политику IKE. | esr(config-ike-gw)# ike-policy <NAME> | <NAME> – имя политики протокола IKE, задаётся строкой до 31 символа. |
19 | Установить режим перенаправления трафика в туннель. | esr(config-ike-gw)# mode <MODE> | <MODE> – режим перенаправления трафика в туннель, принимает значения:
|
20 | Указать действие для DPD (не обязательно). | esr(config-ike-gw)# dead-peer-detection action <MODE> | <MODE> – режим работы DPD:
Значение по умолчанию: none |
21 | Указать интервал между отправкой сообщений механизмом DPD (не обязательно). | esr(config-ike-gw)#dead-peer-detection interval <SEC> | <SEC> – интервал между отправкой сообщений механизмом DPD, принимает значения [1..180] секунд. Значение по умолчанию: 2 |
22 | Указать период времени для ответа на сообщения механизма DPD (не обязательно). | esr(config-ike-gw)# dead-peer-detection timeout <SEC> | <SEC> – период времени для ответа на сообщения механизма DPD, принимает значения [1..180] секунд. Значение по умолчанию: 30 |
23 | Указать версию IKE (не обязательно). | esr(config-ike-gw)# version <VERSION> | <VERSION> – версия IKE-протокола: v1-only или v2-only. Значение по умолчанию: v1-only |
24 | Установить IP подсети отправителя (только для сервера). | esr(config-ike-gw)# local network <ADDR/LEN> [ protocol { <TYPE> | <ID> } [ port <PORT> ] ] | <ADDR/LEN> – IP-адрес и маска подсети отправителя. Параметр задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32]; <TYPE> – тип протокола, принимает значения: esp, icmp, ah, eigrp, ospf, igmp, ipip, tcp, pim, udp, vrrp, rdp, l2tp, gre; <ID> – идентификационный номер IP-протокола, принимает значения [0x00-0xFF]; <PORT> – TCP/UDP порт, принимает значения [1..65535]. |
25 | Установить IP-адрес локального шлюза IPsec-туннеля. | esr(config-ike-gw)#local address <ADDR> | <ADDR> – IP-адрес локального шлюза. |
26 | Установить IP-адрес удаленного шлюза IPsec-туннеля. | esr(config-ike-gw)#remote address [any | <ADDR/LEN> [ protocol { <TYPE> | <ID> } [ port <PORT> ] ] | Any – установить в качестве удаленного адреса – любой адрес клиента, в конфигурации сервера; <ADDR/LEN> – IP-адрес и маска подсети сервера, в кофигурации клиента. |
27 | Задать пул динамического выделения IP-адресов клиентам (только для сервера). | esr(config-ike-gw)# remote network dynamic pool <NAME> | <NAME> – имя пула адресов назначения, задаётся строкой до 31 символа. |
28 | Задать режим динамического установления удаленной подсети (только для клиента). | esr(config-ike-gw)# remote network dynamic client | |
29 | Задать профиль доступа для XAUTH параметров (только для сервера). | esr(config-ike-gw)# xauth access-profile <NAME> | <NAME> – имя профиля доступа, задаётся строкой до 31 символа. |
30 | Задать профиль доступа и логин для XAUTH параметров (только для клиента). | esr(config-ike-gw)# xauth access-profile <NAME> client <LOGIN> | <NAME> – имя профиля доступа, задаётся строкой до 31имвола; <LOGIN> – логин клиента, задаётся строкой до 31 символа. |
31 | Задать интерфейс терминации выделенного IP для построения IPsec VPN (только для клиента). | esr(config-ike-gw)# assign-interface loopback <INDEX> | <INDEX> – индекс интерфейса, принимает значения [1..65535]. |
32 | Создать профиль IPsec. | esr(config)# security ipsec proposal <NAME> | <NAME> – имя профиля протокола IPsec, задаётся строкой до 31 символа. |
33 | Определить алгоритм аутентификации для IPsec (не обязательно). | esr(config-ipsec- proposal)# authentication algorithm <ALGORITHM> | <ALGORITHM> – алгоритм аутентификации, принимает значения: md5, sha1, sha2-256, sha2‑384, sha2-512. Значение по умолчанию: sha1 |
34 | Определить алгоритм шифрования для IPsec (не обязательно). | esr(config-ipsec- proposal)# encryption algorithm <ALGORITHM> | <ALGORITHM> – протокол шифрования, принимает значения: des, 3des, blowfish128, blowfish192, blowfish256, aes128, aes192, aes256, aes128ctr, aes192ctr, aes256ctr, camellia128, camellia192, camellia256. Значение по умолчанию: 3des |
35 | Указать протокол (не обязательно). | esr(config-ipsec- proposal)#protocol <PROTOCOL> | <PROTOCOL> – инкапсулирующий протокол, принимает значения. |
36 | Создать политику для профиля IPsec и перейти в режим её конфигурирования | esr(config)# security ipsec policy <NAME> | <NAME> – имя политики IPsec, задаётся строкой до 31 символа. |
37 | Привяжем политику к профилю | esr(config-ipsec-policy)# proposal <NAME> | <NAME> – имя профиля протокола IPsec, задаётся строкой до 31 символа. |
38 | Задать время жизни IPsec туннеля (не обязательно). | esr(config-ipsec- policy)# lifetime { seconds <SEC> | packets <PACKETS> | kilobytes <KB> } | <SEC> – период времени жизни IPsec-туннеля, по истечении которого происходит пересогласование. Принимает значения [1140..86400] секунд. Значение по умолчанию: 540 <PACKETS> – количество пакетов, после передачи которых происходит пересогласование IPsec-туннеля. Принимает значения [4..86400]. Значение по умолчанию: отключено. <KB> – объем трафика, после передачи которого происходит пересогласование IPsec-туннеля. Принимает значения [4..86400] секунд. Значение по умолчанию: отключено. |
39 | Создать IPsec VPN и перейти в режим конфигурирования. | esr(config)# security ipsec vpn <NAME> | <NAME> – имя VPN, задаётся строкой до 31 символа. |
40 | Определить режим согласования данных, необходимых для активации VPN. | esr(config-ipsec-vpn)# mode <MODE> | <MODE> – режим работы VPN, принимает значения: ike, manual. |
41 | Привязать IPsec политику к VPN. | esr(config-ipsec-vpn)#ike ipsec-policy <NAME> | <NAME> – имя IPsec-политики, задаётся строка до 31 символа. |
42 | Задать значение DSCP для использования в IP-заголовке исходящих пакетов IKE-протокола (не обязательно). | esr(config-ipsec-vpn)#ike dscp <DSCP> | DSCP> – значение кода DSCP, принимает значения в диапазоне [0..63]. Значение по умолчанию: 63 |
43 | Устанавливается режим активации VPN. | esr(config-ipsec-vpn)#ike establish-tunnel <MODE> | <MODE> – режим активации VPN:
|
44 | Осуществить привязка IKE-шлюза к VPN. | esr(config-ipsec-vpn)# ike gateway <NAME> | <NAME> – имя IKE-шлюза, задаётся строкой до 31 символа. |
45 | Установить значение временного интервала в секундах, по истечению которого соединение закрывается, если не было принято или передано ни одного пакета через SA (не обязательно). | esr(config-ipsec-vpn)# ike idle-time <TIME> | <TIME> – интервал в секундах, принимает значения [4..86400]. Значение по умолчанию: 0 |
46 | Отключить пересогласование ключей до разрыва IKE соединения по истечению времени, количеству переданных пакетов или байт (не обязательно). | esr(config-ipsec-vpn)#ike rekey disable | Значение по умолчанию: включено. |
47 | Настроить начало пересогласования ключей IKE соединения до истечения времени жизни (не обязательно). | esr(config-ipsec-vpn)# Ike rekey margin { seconds <SEC> | packets <PACKETS> | kilobytes <KB> } | <SEC> – интервал времени в секундах, оставшийся до закрытия соединения (задается командой lifetimeseconds) . Принимает значения [4..86400]. <PACKETS> – количество пакетов, оставшихся до закрытия соединения (задается командой lifetimepackets). Принимает значения [4..86400]. <KB> – объем трафика в килобайтах, оставшийся до закрытия соединения (задается командой lifetimekilobytes). Принимает значения [4..86400] |
48 | Установить уровень случайного разброса значений параметров marginseconds, marginpackets, marginkilobytes (не обязательно). | esr(config-ipsec-vpn)# ike rekey randomization <VALUE> | <VALUE> – максимальный процент разброса значений, принимает значения [1..100]. Значение по умолчанию: 100 |
49 | Описать VPN (не обязательно). | esr(config-ipsec-vpn)# description <DESCRIPTION> | <DESCRIPTION> – описание профиля, задаётся строкой до 255 символов. |
50 | Активировать IPsec VPN. | esr(config-ipsec-vpn)# enable |
Пример настройки
Задача:
Рисунок 33 – Схема сети
...
- логин: client1;
- пароль: password123.
Решение:
Конфигурирование R1
Настроим внешний сетевой интерфейс и определим принадлежность к зоне безопасности:Блок кода esr# configure esr(config)# security zone untrusted esr(config-zone)# exit esr(config)# interface gigabitethernet 1/0/1 esr(config-if-gi)# security-zone untrusted esr(config-if-gi)# ip address 180.100.0.1/24 esr(config-if-gi)# exit
Для настройки правил зон безопасности потребуется создать профиль порта протокола ISAKMP:
Блок кода esr(config)# object-group service ISAKMP esr(config-object-group-service)# port-range 500,4500 esr(config-object-group-service)# exit
Создадим профиль протокола IKE. В профиле укажем группу Диффи-Хэллмана 2, алгоритм шифрования 3 DES, алгоритм аутентификации SHA1. Данные параметры безопасности используются для защиты IKE-соединения:
Блок кода esr(config)# security ike proposal IKEPROP esr(config-ike-proposal)# dh-group 2 esr(config-ike-proposal)# authentication algorithm sha1 esr(config-ike-proposal)# encryption algorithm 3des esr(config-ike-proposal)# exit
Создадим политику протокола IKE. В политике указывается список профилей протокола IKE, по которым могут согласовываться узлы, ключ аутентификации и метод аутентификации XAUTH по ключу:
Блок кода esr(config)# security ike policy IKEPOLICY esr(config-ike-policy)# pre-shared-key hexadecimal 123FFF esr(config-ike-policy)# authentication method xauth-psk-key esr(config-ike-policy)# proposal IKEPROP esr(config-ike-policy)# exit
Создадим профиль доступа и заведем в нем пару логин и пароль для клиента IPsec VPN:
Блок кода esr(config)# access profile XAUTH esr(config-access-profile)# user client1 esr(config-profile)# password ascii-text password123 esr(config-profile)# exit esr(config-access-profile)# exit
Создадим пул адресов назначения, из которого будут выдаваться IP клиентам IPsec VPN:
Блок кода esr-1000(config)# address-assignment pool CLIENT_POOL esr-1000(config-pool)# ip prefix 192.0.2.0/24 esr-1000(config-pool)# exit
Создадим шлюз протокола IKE. В данном профиле необходимо указать политику протокола IKE, указать локальную подсеть, в качестве удаленной подсети указать пул адресов назначения, задать режим перенаправления трафика в туннель по политике и использование второго фактора аутентификации XAUTH:
Блок кода esr(config)# security ike gateway IKEGW esr(config-ike-gw)# ike-policy IKEPOLICY esr(config-ike-gw)# local address 180.100.0.1 esr(config-ike-gw)# local network 10.0.0.0/16 esr(config-ike-gw)# remote address any esr(config-ike-gw)# remote network dynamic pool CLIENT_POOL esr(config-ike-gw)# dead-peer-detection action clear esr(config-ike-gw)# mode policy-based esr(config-ike-gw)# xauth access-profile XAUTH esr(config-ike-gw)# exit
Создадим профиль параметров безопасности для IPsec-туннеля. В профиле укажем алгоритм шифрования 3DES, алгоритм аутентификации SHA1. Данные параметры безопасности используются для защиты IPsec-туннеля:
Блок кода esr(config)# security ipsec proposal IPSECPROP esr(config-ipsec-proposal)# authentication algorithm sha1 esr(config-ipsec-proposal)# encryption algorithm 3des esr(config-ipsec-proposal)# exit
Создадим политику для IPsec-туннеля. В политике указывается список профилей IPsec-туннеля, по которым могут согласовываться узлы.
Блок кода esr(config)# security ipsec policy IPSECPOLICY esr(config-ipsec-policy)# proposal IPSECPROP esr(config-ipsec-policy)# exit
СоздадимIPsec VPN. В VPN указывается шлюз IKE-протокола, политика IP sec-туннеля, режим обмена ключами и режим ожидания входящего соединения IPsec – by-request. После ввода всех параметров включим туннель командой enable.
Блок кода esr(config)# security ipsec IPSECVPN esr(config-ipsec-vpn)# mode ike esr(config-ipsec-vpn)# ike establish-tunnel by-request esr(config-ipsec-vpn)# ike gateway IKEGW esr(config-ipsec-vpn)# ike ipsec-policy IPSECPOLICY esr(config-ipsec-vpn)# enable esr(config-ipsec-vpn)# exit
Разрешим протокол esp и udp порты 500,4500 в конфигурации firewall для установления IPsec VPN:
Блок кода esr(config)# security zone-pair untrusted self esr(config-zone-pair)# rule 1 esr(config-zone-pair-rule)# action permit esr(config-zone-pair-rule)# match protocol udp esr(config-zone-pair-rule)# match destination-port ISAKMP esr(config-zone-pair-rule)# enable esr(config-zone-pair-rule)# exit esr(config-zone-pair)# rule 2 esr(config-zone-pair-rule)# action permit esr(config-zone-pair-rule)# match protocol esp esr(config-zone-pair-rule)# enable esr(config-zone-pair-rule)# exit esr(config-zone-pair)# end
Конфигурирование R2
Настроим внешний сетевой интерфейс и определим принадлежность к зоне безопасности:Блок кода esr# configure esr(config)# interface gi 1/0/1 esr(config-if)# ip address 120.11.5.1/24 esr(config-if)# security-zone untrusted esr(config-if)# exit
Для настройки правил зон безопасности потребуется создать профиль порта протокола ISAKMP:
Блок кода esr(config)# object-group service ISAKMP esr(config-addr-set)# port-range 500,4500 esr(config-addr-set)# exit
Создадим профиль протокола IKE. В профиле укажем группу Диффи-Хэллмана 2, алгоритм шифрования 3 DES, алгоритм аутентификации SHA1. Данные параметры безопасности используются для защиты IKE-соединения:
Блок кода esr(config)# security ike proposal IKEPROP esr(config-ike-proposal)# dh-group 2 esr(config-ike-proposal)# authentication algorithm sha1 esr(config-ike-proposal)# encryption algorithm 3des esr(config-ike-proposal)# exit
Создадим политику протокола IKE. В политике указывается список профилей протокола IKE, по которым могут согласовываться узлы, ключ аутентификации, метод аутентификации XAUTH по ключу и режим аутентификации – клиент:
Блок кода esr(config)# security ike policy IKEPOLICY esr(config-ike-policy)# pre-shared-key hexadecimal 123FFF esr(config-ike-policy)# authentication method xauth-psk-key esr(config-ike-policy)# authentication mode client esr(config-ike-policy)# proposal IKEPROP esr(config-ike-policy)# exit
Создадим профиль доступа и заведем в нем пару логин и пароль:
Блок кода esr(config)# access profile XAUTH esr(config-access-profile)# user client1 esr(config-profile)# password ascii-text password123 esr(config-profile)# exit esr(config-access-profile)# exit
Создадим интерфейс loopback для терминации IP адреса, полученного от IPsec VPN сервера:
Блок кода esr(config)# interface loopback 8 esr(config-loopback)# exit
Создадим шлюз протокола IKE. В данном профиле указывается политика, интерфейс терминации, режим динамического установления удаленной подсети, выбор профиля доступа для XAUTH и режим перенаправления трафика в туннель по политике:
Блок кода esr(config)# security ike gateway IKEGW esr(config-ike-gw)# ike-policy IKEPOLICY esr(config-ike-gw)# assign-interface loopback 8 esr(config-ike-gw)# local address 120.11.5.1 esr(config-ike-gw)# remote address 180.100.0.1 esr(config-ike-gw)# remote network dynamic client esr(config-ike-gw)# mode policy-based esr(config-ike-gw)# xauth access-profile xauth client client1 esr(config-ike-gw)# exit
Создадим профиль параметров безопасности для IPsec-туннеля. В профиле укажем алгоритм шифрования 3DES, алгоритм аутентификации SHA1. Данные параметры безопасности используются для защиты IPsec-туннеля:
Блок кода esr(config)# security ipsec proposal IPSECPROP esr(config-ipsec-proposal)# authentication algorithm md5 esr(config-ipsec-proposal)# encryption algorithm aes128 esr(config-ipsec-proposal)# exit
Создадим политику для IPsec-туннеля. В политике указывается список профилей IPsec-туннеля, по которым могут согласовываться узлы.
Блок кода esr(config)# security ipsec policy IPSECPOLICY esr(config-ipsec-policy)# proposal IPSECPROP esr(config-ipsec-policy)# exit
Создадим IPsec VPN. В VPN указывается шлюз IKE-протокола, политика IP sec-туннеля, режим обмена ключами и способ установления соединения. После ввода всех параметров включим туннель командой enable.
Блок кода esr(config)# security ipsec vpn IPSECVPN esr(config-ipsec-vpn)# mode ike esr(config-ipsec-vpn)# ike establish-tunnel immediate esr(config-ipsec-vpn)# ike gateway IKEGW esr(config-ipsec-vpn)# ike ipsec-policy IPSECPOLICY esr(config-ipsec-vpn)# enable esr(config-ipsec-vpn)# exit
Разрешим протокол esp и udp порты 500,4500 в конфигурации firewall для установления IPsec VPN:
Блок кода esr(config)# security zone-pair untrusted self esr(config-zone-pair)# rule 1 esr(config-zone-pair-rule)# action permit esr(config-zone-pair-rule)# match protocol udp esr(config-zone-pair-rule)# match destination-port ISAKMP esr(config-zone-pair-rule)# enable esr(config-zone-pair-rule)# exit esr(config-zone-pair)# rule 2 esr(config-zone-pair-rule)# action permit esr(config-zone-pair-rule)# match protocol esp esr(config-zone-pair-rule)# enable esr(config-zone-pair-rule)# exit esr(config-zone-pair)# end
Состояние туннеля можно посмотреть командой:
Блок кода esr# show security ipsec vpn status IPSECVPN
Конфигурацию туннеля можно посмотреть командой:
Блок кода esr# show security ipsec vpn configuration IPSECVPN
Примечание |
---|
В firewall необходимо разрешить протокол ESP и ISAKMP (UDP-порт 500,4500). |
Настройка LT-туннелей
LT (англ. Logical Tunnel – логический туннель) – тип туннелей, предназначенный для передачи маршрутной информации и трафика между различными виртуальными маршрутизаторами (VRF Lite), сконфигурированными на одном аппаратном маршрутизаторе. LT-туннель может использоваться для организации взаимодействия между двумя или более VRF с применением ограничений firewall.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Создать LT-туннели для каждого из существующих VRF. | esr(config)# tunnel lt <ID> | <ID> – идентификатор туннеля в диапазоне [1..128]. |
2 | Указать описание конфигурируемых туннелей (не обязательно). | esr(config-lt)# description <DESCRIPTION> | <DESCRIPTION> – описание туннеля, задаётся строкой до 255 символов. |
3 | Включить каждый LT-туннель в соответствующий VFR. | esr(config-lt)# ip vrf forwarding <VRF> | <VRF> – имя VRF, задается строкой до 31 символа. |
4 | Включить каждый LT-туннель в зону безопасности и настроить правила взаимодействия между зонами или отключить firewall для LT-туннеля. | esr(config-lt)# security-zone<NAME>
| <NAME> – имя зоны безопасности, задаётся строкой до 12 символов. |
esr(config-lt)# ip firewall disable | |||
5 | Для каждого LT-туннеля задать номер противоположный LT туннель (в другом VRF). | esr(config-lt)# peer lt <ID> | <ID> – идентификатор туннеля в диапазоне [1..128]. |
6 | Для каждого LT-туннеля указать IP-адрес для маршрутизации пакетов. Для взаимодействующих LT-туннелей, IP-адреса должны быть из одной IP-подсети. | esr(config-lt)# ip address <ADDR/LEN> | <ADDR/LEN> – IP-адрес и префикс подсети, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32]. |
7 | Включить туннели. | esr(config-lt)# enable | |
8 | Для каждого VRF настроить необходимые протоколы маршрутизации через LT-туннель. |
| |
9 | Задать интервал времени, за который усредняется статистика о нагрузке на туннеле (не обязательно) | esr(config-lt)# load-average <TIME> | <TIME> – интервал в секундах, принимает значения [5..150]. Значение по умолчанию: 5 |
10 | Указать размер MTU (Maximum Transmition Unit) пакетов, которые может пропускать данный bridge (не обязательно; возможно, если в bridge включен только VLAN). | esr(config-lt)# mtu <MTU> | <MTU> – значение MTU, принимает значения в диапазоне:
Значение по умолчанию: 1500. |
Пример настройки
Задача:
Организовать взаимодействие между хостами, терминированными в двух VRF vrf_1 и vrf_2.
...
Блок кода |
---|
hostname esr ip vrf vrf_1 exit ip vrf vrf_2 exit interface gigabitethernet 1/0/1 ip vrf forwarding vrf_1 ip firewall disable ip address 10.0.0.1/24 exit interface gigabitethernet 1/0/2 ip vrf forwarding vrf_2 ip firewall disable ip address 10.0.1.1/24 exit |
Решение:
Создадим LT-туннели для каждого VRF с указанием IP-адресов из одной подсети:
...
Примечание | ||
---|---|---|
Если в VRF не работает ни один из протоколов динамической маршрутизации, то необходимо указать статические маршруты для каждого VRF:
|
Настройка удаленного доступа к корпоративной сети по 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 | Выбрать режим аутентификации PPTP-клиентов. | esr(config-pptp-server)# authentication mode { local | radius } |
|
3 | Указать описание конфигурируемого сервера (не обязательно). | esr(config-pptp-server)# description <DESCRIPTION> | <DESCRIPTION> – описание PPTP-сервера, задаётся строкой до 255 символов. |
4 | Указать список DNS-серверов, которые будут использовать удаленные пользователи (не обязательно). | esr(config-pptp-server)# dns-servers object-group <OBJ-GROUP-NETWORK -NAME > | <OBJ-GROUP-NETWORK-NAME> – имя профиля IP-адресов, содержащего, который содержит адреса необходимых DNS-серверов, задаётся строкой до 31 символа. |
5 | Указать DSCP-приоритет исходящих пакетов (не обязательно). | esr(config-pptp-server)# dscp <DSCP> | <DSCP>– dscp приоритет исходящих пакетов [0..63]. |
6 | Включить шифрование MPPE для PPTP-соединений (не обязательно). | esr(config-pptp-server)# encryption mppe | |
7 | Указать 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]. |
8 | Указать размер MTU (MaximumTransmitionUnit) для сервера (не обязательно). | esr(config-pptp-server) mtu <MTU> | <MTU> – значение MTU, принимает значения в диапазоне [1280..1500]. Значение по умолчанию: 1500. |
9 | Указать IP-адрес, который должен обрабатывать PPTP-сервер. | esr(config-pptp-server)# outside-address { object-group <OBJ-GROUP-NETWORK -NAME > | ip-address <ADDR> } | <OBJ-GROUP-NETWORK-NAME> – имя профиля содержащего IP-адрес, который должен слушать PPTP-сервер, задаётся строкой до 31 символа; <ADDR> – начальный IP-адрес диапазона, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
10 | Указать список 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]. |
11 | Включить PPTP-сервер в зону безопасности и настроить правила взаимодействия между зонами или отключить firewall. | esr(config-pptp-server)# security-zone <NAME> | <NAME> – имя зоны безопасности, задаётся строкой до 31 символа. |
12 | Указать имя пользователя (при использовании локальной аутентификации пользователей). | esr(config-pptp-server) username < NAME > | <NAME> – имя пользователя, задаётся строкой до 12 символов. |
13 | Указать пароль пользователя. | esr(config-pptp-user) password ascii-text { <PASSWORD> | encrypted <PASSWORD> } | <PASSWORD> – пароль пользователя, задается строкой до 32 символов. |
14 | Активировать пользователя. | esr(config-pptp-user) enable | |
15 | Указать список WINS-серверов, которые будут использовать удаленные пользователи (не обязательно). | esr(config-pptp-server)# wins-servers object-group <OBJ-GROUP-NETWORK -NAME > | <OBJ-GROUP-NETWORK-NAME> – имя профиля IP-адресов, который содержит адреса необходимых WINS-серверов, задаётся строкой до 31 символа. |
Пример настройки PPTP-сервера
Задача:
Настроить 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.
Рисунок 34 – Схема сети
Решение :
Создадим профиль адресов, содержащий адрес, который должен слушать сервер:
...
Примечание |
---|
Помимо создания 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 | Выбрать режим аутентификации L2TP-клиентов. | esr(config-l2tp-server)# authentication mode { local | radius }
| local – аутентификация пользователя по локальной базе. radius – аутентификация пользователя по базе RADIUS-сервера. |
3 | Указать описание конфигурируемого сервера (не обязательно). | esr(config-l2tp-server)# description <DESCRIPTION> | <DESCRIPTION> – описание L2TP-сервера, задаётся строкой до 255 символов. |
4 | Указать список DNS-серверов, которые будут использовать удаленные пользователи (не обязательно). | esr(config-l2tp-server)# dns-servers object-group <OBJ-GROUP-NETWORK -NAME > | <OBJ-GROUP-NETWORK-NAME> – имя профиля IP-адресов, содержащего, который содержит адреса необходимых DNS-серверов, задаётся строкой до 31 символа. |
5 | Указать DSCP приоритет исходящих пакетов. | esr(config-l2tp-server)# dscp <DSCP> | <DSCP> – dscp приоритет исходящих пакетов [0..63]. |
6 | Включить сервер. | esr(config-l2tp-server)# enable | |
7 | Выбрать метод аутентификации по ключу для IKE-соединения. | esr(config-l2tp-server)# ipsec authentication method pre-shared-key | |
8 | Указать общий секретный ключ для аутентификации, который должен совпадать у обоих сторон, устанавливающих туннель. | 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] символов. |
9 | Указать IP-адрес локального шлюза | esr(config-l2tp-server)# local-address object-group <OBJ-GROUP-NETWORK -NAME > | <OBJ-GROUP-NETWORK-NAME> – имя профиля IP-адресов, который содержит IP-адрес локального шлюза, задаётся строкой до 31 символа; <ADDR> – начальный IP-адрес диапазона, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
10 | Указать размер MTU (MaximumTransmitionUnit) для сервера (не обязательно). | esr(config-l2tp-server) mtu <MTU> | <MTU> – значение MTU, принимает значения в диапазоне [1280..1500]. Значение по умолчанию: 1500. |
11 | Указать IP-адрес, который должен слушать L2TP-сервер. | esr(config-l2tp-server)# outside-address object-group <OBJ-GROUP-NETWORK -NAME > | <OBJ-GROUP-NETWORK-NAME> – имя профиля содержащего IP-адрес, который должен слушать L2TP-сервер, задаётся строкой до 31 символа; <ADDR> – начальный IP-адрес диапазона, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
12 | Указать список 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]. |
13 | Включить L2TP-сервер в зону безопасности и настроить правила взаимодействия между зонами. | esr(config-l2tp-server)# security-zone <NAME> | <NAME> – имя зоны безопасности, задаётся строкой до 31 символа. |
14 | Указать имя пользователя (при использовании локальной базы аутентификации). | esr(config-l2tp-server) username < NAME > | <NAME> – имя пользователя, задаётся строкой до 12 символов. |
15 | Указать пароль пользователя (при использовании локальной базы аутентификации). | esr(config-l2tp-user) password ascii-text { <PASSWORD> | encrypted <PASSWORD> } | <PASSWORD> – пароль пользователя, задается строкой до 32 символов. |
16 | Включить пользователя. | esr(config-l2tp-user) enable | |
17 | Указать список WINS-серверов, которые будут использовать удаленные пользователи (не обязательно). | esr(config-l2tp-server)# wins-servers object-group <OBJ-GROUP-NETWORK -NAME > | <OBJ-GROUP-NETWORK-NAME> – имя профиля IP-адресов, который содержит адреса необходимых WINS-серверов, задаётся строкой до 31 символа. |
Пример настройки
Задача:
Настроить L2TP-сервер на маршрутизаторе для подключения удаленных пользователей к ЛВС. Аутентификация пользователей проходит на RADIUS-сервере.
...
Для IPsec используется метод аутентификации по ключу: ключ — «password».
Рисунок 35 – Схема сети
Решение:
Предварительно нужно выполнить следующие действия:
...
Примечание |
---|
Помимо создания 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 | Указать список 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]. |
3 | Включить клиентские соединения по OpenVPN в L2 домен (только для tunnel ethernet). | esr(config-openvpn-server)# bridge-group <BRIDGE-ID> | <BRIDGE-ID> – идентификационный номер моста. |
4 | Указать сертификаты и ключи. | esr(config-openvpn-server)# certificate <CERTIFICATE-TYPE><NAME> | <CERTIFICATE-TYPE> – тип сертификата или ключа, может принимать следующие значения:
<NAME> – имя сертификата или ключа, задаётся строкой до 31 символа. |
5 | Включить блокировку передачи данных между клиентами (не обязательно). | esr(config-openvpn-server)# client-isolation | |
6 | Устанавливается максимальное количество одновременных пользовательских сессий (не обязательно). | esr(config-openvpn-server)# client-max <VALUE> | <VALUE> – максимальное количество пользователей, принимает значения [1..65535]. |
7 | Включается механизм сжатия передаваемых данных между клиентами и сервером OpenVPN (не обязательно). | esr(config-openvpn-server)# compression | |
8 | Указать описание конфигурируемого сервера (не обязательно). | esr(config-openvpn-server)# description <DESCRIPTION> | <DESCRIPTION> – описание OpenVPN-сервера, задаётся строкой до 255 символов. |
9 | Указать список DNS-серверов, которые будут использовать удаленные пользователи (не обязательно). | esr(config-openvpn-server)# dns-server <ADDR> | <ADDR> – IP-адрес DNS сервера, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; |
10 | Выбрать алгоритм шифрования, используемый при передачи данных. | esr(config-openvpn-server)# encryption algorithm <ALGORITHM> | <ALGORITHM> – идентификатор протокола шифрования, принимает значения: 3des,blowfish128, aes128. |
11 | Определим подсеть, из которой выдаются IP-адреса пользователям. (только для tunnel ip) | esr(config-openvpn-server)# network <ADDR/LEN> | <ADDR/LEN> – адрес подсети, имеет следующий формат: AAA.BBB.CCC.DDD/EE – IP-адрес подсети с маской в форме префикса, где AAA-DDD принимают значения [0..255] и EE принимает значения [1..32]; |
12 | Указать TCP/UDP порт, который будет прослушиваться OpenVPN –сервером (не обязательно). | esr(config-openvpn-server)# port <PORT> | <PORT> – TCP/UDP порт, принимает значения [1..65535]. |
13 | Указать инкапсулируемый протокол. | esr(config-openvpn-server)# protocol <PROTOCOL> | <PROTOCOL> – тип инкапсуляции, возможные значения:
|
14 | Включить анонсирование маршрута по умолчанию для OpenVPN соединений, что приводит к замене маршрута по умолчанию на клиентской стороне (не обязательно). | esr(config-openvpn-server)# redirect-gateway | |
15 | Включить анонсирование указанных подсетей, шлюзом является IP-адрес OpenVPN-сервера (не обязательно). | esr(config-openvpn-server)# route <ADDR/LEN> | <ADDR/LEN> – адрес подсети, имеет следующий формат: AAA.BBB.CCC.DDD/EE – IP-адрес подсети с маской в форме префикса, где AAA-DDD принимают значения [0..255] и EE принимает значения [1..32]; |
16 | Включить OpenVPN-сервер в зону безопасности и настроить правила взаимодействия между зонами. | esr(config-openvpn-server)# security-zone <NAME> | <NAME> – имя зоны безопасности, задаётся строкой до 31 символа. |
17 | Указать временной интервал, по истечению которого встречная сторона считается недоступной (не обязательно). | esr(config-openvpn-server)# timers holdtime <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. |
18 | Указать временной интервал, по истечению которого идет проверка соединения со встречной стороной (не обязательно). | esr(config-openvpn-server)# timers keepalive <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. |
19 | Определить тип соединения с частной сетью через OpenVPN-сервер. | esr(config-openvpn-server)# tunnel <TYPE> | <TYPE> – инкапсулирующий протокол, принимает значения:
|
20 | Определить дополнительные параметры для указанного пользователя OpenVPN-сервера (при использовании локальной базы для аутентификации пользователей). | esr(config-openvpn-server)# username < NAME > | <NAME> – имя пользователя, задаётся строкой до 31 символа. |
21 | Определить подсеть для указанного пользователя OpenVPN-сервера. | esr(config-openvpn-user)# subnet <ADDR/LEN> | <ADDR/LEN> – адрес подсети, имеет следующий формат: |
22 | Определить статический ip-адрес для указанного пользователя OpenVPN-сервера | esr(config-openvpn-user)# ip address <ADDR> | <ADDR> – адрес имеет следующий формат: |
23 | Разрешить подключаться к OpenVPN-серверу нескольким пользователям с одним сертификатом. | esr(config-openvpn-server)# duplicate-cn | |
24 | Указать список WINS-серверов, которые будут использовать удаленные пользователи (не обязательно). | esr(config-openvpn-server)# wins-server <ADDR> | <ADDR> – IP-адрес WINS сервера, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
25 | Включить профиль OpenVPN-сервера. | esr(config-openvpn-server)# enable |
Пример настройки
Задача:
Настроить OpenVPN-сервер в режиме L3 на маршрутизаторе для подключения удаленных пользователей к ЛВС.
- подсеть OpenVPN-сервера – 10.10.100.0/24;
- режим – L3;
- аутентификация на основе сертификатов.
Рисунок 36 – Схема сети
Решение:
Предварительно нужно выполнить следующие действия:
...
Примечание |
---|
Помимо создания OpenVPN-сервера необходимо в firewall открыть TCP-порт 1194. |
Настройка клиента удаленного доступа по протоколу 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 | Указать метод аутентификации (не обязательно). | esr(config-pptp)# authentication method <METHOD> | <METHOD> – метод аутентификации, возможные значения: chap, mschap, mschap-v2, eap, pap Значение по умолчанию: chap |
4 | Включить отказ от получения маршрута по умолчанию от PPPoE-сервера (не обязательно). | esr(config-pppoe)# ignore-default-route | |
5 | Указать интерфейс через который будет устанавливаться PPPoE соединение. | esr(config-pppoe)# interface <IF> | <IF> – интерфейс или группа интерфейсов. |
6 | Указать интервал времени, за который усредняется статистика о нагрузке (не обязательно). | esr(config-pppoe)# load-average <TIME> | <TIME> – интервал времени в секундах от 5 до 150 (по умолчанию 5 сек) |
7 | Указать размер MTU (MaximumTransmitionUnit) для PPPOE-туннеля. | esr(config-pppoe)# mtu <MTU> | <MTU> – значение MTU, принимает значения в диапазоне:
Значение по умолчанию: 1500. |
8 | Указать имя пользователя и пароль для подключения к PPPoE-серверу | esr(config-pppoe)# username <NAME> password ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> }
| <name> – имя пользователя, задаётся строкой до 31 символа <CLEAR-TEXT> – пароль, задаётся строкой [8 .. 64] символов; <ENCRYPTED-TEXT> – зашифрованный пароль, задаётся строкой [16..128] символов. |
9 | Указать имя экземпляра VRF, в котором будут использоваться указанные сетевой интерфейс, мост, зона безопасности, сервер динамической авторизации (DAS) или группа правил NAT. (не обязательно) | esr(config-pppoe)# ip vrf forwarding <VRF> | <VRF> – имя VRF, задается строкой до 31 символа. |
10 | Отключения функции Firewall на сетевом интерфейсе (не обязательно) | esr(config-pppoe)# ip firewall disable | |
Настройка зоны безопасности | esr(config-pppoe)#security-zone <NAME> | <NAME>-имя зоны безопасности, задаётся строкой до 31 символа. | |
11 | Активировать конфигурируемый профиль | esr(config-pppoe)# enable |
Пример настройки PPPoE-клиента
Задача:
Настроить PPPoE-клиент на маршрутизаторе.
- Учетные записи для подключения – tester;
- Пароли учетных записей – password;
- Подключение должно осуществляться с интерфейса gigabitethernet 1/0/7.
Рисунок 37 – Схема сети
Решение :
Предварительно настроить PPPoE-сервер с учетными записями.
...
Блок кода |
---|
esr# show tunnels counters 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)# authentication method <METHOD> | <METHOD> – метод аутентификации, возможные значения: chap, mschap, mschap-v2, eap, pap Значение по умолчанию: chap |
3 | Указать экземпляр VRF, в котором будет работать данный PPTP-туннель (не обязательно). | esr(config-pptp)# ip vrf forwarding <VRF> | <VRF> – имя VRF, задается строкой до 31 символа. |
4 | Указать описание конфигурируемого туннеля (не обязательно). | esr(config-pptp)# description <DESCRIPTION> | <DESCRIPTION> – описание туннеля, задается строкой до 255 символов. |
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, принимает значения в диапазоне:
Значение по умолчанию: 1500. |
7 | Игнорировать маршрут по умолчанию через данный PPTP-туннель (не обязательно) | esr(config-pptp)# ignore-default-route | |
8 | Задать интервал времени, за который усредняется статистика о нагрузке на туннель (не обязательно). | esr(config-pptp)# load-average <TIME> | <TIME> – интервал в секундах, принимает значения [5..150] Значение по умолчанию: 5 |
9 | Указать пользователя и установить пароль в открытой или зашифрованной форме для аутентификации удаленной стороны. | esr(config-pptp)# username <NAME> password ascii-text { <WORD> | encrypted <HEX> } | <NAME> – имя пользователя, задается строкой до 31 символа. <WORD> – пароль в открытой форме, задается строкой [8..64] символов, может включать символы [0-9a-fA-F]. <HEX> – пароль в зашифрованной форме, задается строкой [16..128] символов. |
10 | Включить PPTP-туннель в зону безопасности и настроить правила взаимодействия между зонами или отключить firewall (не обязательно). | esr(config-pptp)# security-zone <NAME> | <NAME> – имя зоны безопасности, задаётся строкой до 31 символа. |
11 | Задать исключение обработки входящего трафика в Firewall (не обязательно). | esr(config-pptp)# ip firewall disable | |
12 | Активировать туннель | esr(config- pptp )# enable |
Пример настройки удаленного подключения по PPTP-протоколу
Задача:
Настроить PPTP-туннель на маршрутизаторе:
- адрес PPTP-сервера 20.20.0.1;
- учетная запись для подключения – логин: ivan, пароль: simplepass.
Рисунок 38 – Схема сети
Решение:
Создадим туннель PPTP:
Блок кода |
---|
esr(config)# tunnel pptp 1 |
...
Блок кода |
---|
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 | Указать метод аутентификации (не обязательно). | esr(config-pptp)# authentication method <METHOD> | <METHOD> – метод аутентификации, возможные значения: chap, mschap, mschap-v2, eap, pap Значение по умолчанию: chap |
3 | Указать экземпляр VRF, в котором будет работать данный L2TP-туннель (не обязательно). | esr(config-l2tp)# ip vrf forwarding <VRF> | <VRF> – имя VRF, задаётся строкой до 31 символа. |
4 | Указать описание конфигурируемого туннеля (не обязательно). | esr(config-l2tp)# description <DESCRIPTION> | <DESCRIPTION> – описание туннеля, задается строкой до 255 символов. |
5 | Установить удаленный IP-адрес для установки туннеля. | esr(config-l2tp)# remote address <ADDR> | <ADDR> – IP-адрес локального шлюза, задается в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
6 | Установить размер MTU (MaximumTransmitionUnit) для туннеля (не обязательно) | esr(config-l2tp)# mtu <MTU> | <MTU> – значение MTU, принимает значения в диапазоне:
Значение по умолчанию: 1500. |
7 | Игнорировать маршрут по умолчанию через данный L2TP-туннель (не обязательно) | esr(config-l2tp)# ignore-default-route | |
8 | Задать интервал времени, за который усредняется статистика о нагрузке на туннель (не обязательно). | esr(config-l2tp)# load-average <TIME> | <TIME> – интервал в секундах, принимает значения [5..150] Значение по умолчанию: 5 |
9 | Указать пользователя и установить пароль в открытой или зашифрованной форме для аутентификации удалённой стороны. | esr(config-l2tp)# username <NAME> password ascii-text { <WORD> | encrypted <HEX> } | <NAME>– имя пользователя, задается строкой до 31 символа. <WORD> – пароль в открытой форме, задается строкой [8..64] символов, может включать символы [0-9a-fA-F]. <HEX> – пароль в зашифрованной форме, задается строкой [16..128] символов. |
10 | Выбрать метод аутентификации по ключу для IKE-соединения. | esr(config-l2tp-server)# ipsec authentication method pre-shared-key | |
11 | Указать общий секретный ключ для аутентификации, который должен совпадать у обоих сторон, устанавливающих туннель. | 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] символов. |
12 | Включить L2TP-туннель в зону безопасности и настроить правила взаимодействия между зонами или отключить firewall (не обязательно). | esr(config-l2tp)# security-zone <NAME> | <NAME> – имя зоны безопасности, задаётся строкой до 31 символа. |
13 | Задать исключение обработки входящего трафика в Firewall (не обязательно). | esr(config-l2tp)# ip firewall disable | |
14 | Активировать туннель | esr(config-l2tp)# enable |
Пример настройки удаленного подключения по L2TP-протоколу
Задача:
Настроить PPTP-туннель на маршрутизаторе:
- адрес PPTP сервера 20.20.0.1;
- учетная запись для подключения – логин: ivan, пароль: simplepass
Рисунок 39 – Схема сети
Решение:
Создадим туннель L2TP:
Блок кода |
---|
esr(config)# tunnel l2tp 1 |
...
Блок кода |
---|
esr# show tunnels configuration l2tp |
Настройка Dual-Homing
Примечание |
---|
В текущей версии ПО данный функционал поддерживается только на маршрутизаторе ESR-1000. |
Dual-Homing – технология резервирования соединений, позволяет организовать надежное соединение ключевых ресурсов сети на основе наличия резервных линков.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Указать резервный интерфейс, на который будет происходить переключение при потере связи на основном. | esr(config-if-gi)# backup interface<IF> vlan <VID> | <IF> – интерфейс, на который будет <VID> – идентификационный номер VLAN, задаётся в диапазоне [2…4094]. Можно также задать диапазоном через «-» или перечислением через «,». |
2 | Указать количество копий пакетов с одним и тем же MAC-адресом, которые будут отправлены в активный интерфейс при переключении (не обязательно). | esr(config)# backup-interface mac-duplicate <COUNT> | <COUNT> – количество копий пакетов, принимает значение [1..4]. |
3 | Указать количество пакетов в секунду, которое будет отправлено в активный интерфейс при переключении (не обязательно). | esr(config)# backup-interfacemac-per-second<COUNT> | <COUNT> – количество MAC-адресов в секунду, принимает значение [50..400]. |
4 | Указать, что необходимо осуществить переключение на основной интерфейс при восстановлении связи (не обязательно). | esr(config)# backup-interface preemption |
Пример настройки
Задача:
Организовать резервирование L2-соединений маршрутизатора ESR для VLAN 50-55 через устройства SW1 и SW2.
Рисунок 40 – Схема сети
Решение:
Предварительно нужно выполнить следующие действия:
...
Блок кода |
---|
esr# show interfaces backup |
Настройка QoS
QoS (Quality of Service) – технология предоставления различным классам трафика различных приоритетов в обслуживании. Использование службы QoS позволяет сетевым приложениям сосуществовать в одной сети, не уменьшая при этом пропускную способность других приложений.
Базовый QoS
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Включить сервис QoS на интерфейсе/туннеле/сетевом мосту. Если на интерфейсе не назначена политика QoS, то интерфейс работает в режиме BasicQoS. | esr(config-if-gi)# qos enable | |
2 | Установить режим доверия к значениям кодов 802.1p и DSCP во входящих пакетах. (не обязательно) | esr(config)# qos trust <MODE> | <MODE> – режим доверия к значениям кодов 802.1p и DSCP, принимает одно из следующих значений:
|
3 | Установить соответствие между значениями кодов DSCP входящих пакетов и исходящими очередями Данное соответствие работает на входящие пакеты интерфейса/ туннеля/моста, на котором включен QOS (не обязательно). | esr(config)# qos map dscp-queue <DSCP> to <QUEUE> | <DSCP> – классификатор обслуживания в IP-заголовке пакета, принимает значения [0..63]; <QUEUE> – идентификатор очереди, принимает значения [1..8]. Значения по умолчанию:
|
4 | Установить соответствие между значениями кодов 802.1p входящих пакетов и исходящими очередями. Данное соответствие работает на входящие пакеты интерфейса/ туннеля/моста, на котором включен QOS. (не обязательно) | esr(config)# qos map cos-queue <COS> to <QUEUE> | <COS> – классификатор обслуживания в теге 802.1q пакета, принимает значения [0..7]; <QUEUE> – идентификатор очереди, принимает значения [1..8]. Значения по умолчанию:
|
5 | Установить соответствие между значениями кодов DSCP входящих пакетов и кодов DSCP на выходе из устройства. (в случае необходимости перемаркировки) Данное соответствие работает на входящие пакеты интерфейса/ туннеля/моста, на котором включен QOS. | esr(config)# qos map dscp-queue <DSCP> to <DSCP> | <DSCP> – классификатор обслуживания в IP-заголовке пакета, принимает значения [0..63]. |
6 | Включить изменения кодов DSCP в соответствии с таблицей DSCP-Mutation. (в случае необходимости перемаркировки) | esr(config)# qos dscp mutation | |
7 | Установить номер очереди по умолчанию, в которую попадает весь трафик кроме IP в режиме доверия DSCP-приоритетам. | esr(config)# qos queue default <QUEUE> | <QUEUE> – идентификатор очереди, принимает значения [1..8]. |
8 | Задать количество приоритетных очередей. Оставшиеся очереди являются взвешенными. (не обязательно) | esr(config)# priority-queue out num-of-queues <VALUE> | <VALUE> – количество очередей, принимает значение [0..8], где:
Приоритетные очереди выделяются, начиная с 8-й, в сторону уменьшения номера очереди. Значение по умолчанию: 8 |
9 | Определить веса для соответствующих взвешенных очередей. | esr(config)# qos wrr-queue <QUEUE> bandwidth <WEIGHT> | <QUEUE> – идентификатор очереди, принимает значение [1..8]; <WEIGHT> – значение веса, принимает значение [1..255]. Значение по умолчанию: вес 1 для всех очередей. |
10 | Установить ограничение скорости исходящего трафика для определенной очереди или интерфейса в целом. Команда актуальна только для BasicQoS режима интерфейса. Ели трафик на входе был классифицирован при помощи расширенного QoS, ограничение не сработает. (в случае необходимости ограничения скорости входящего потока) | esr(config-if-gi)# traffic-shape { <BANDWIDTH> [BURST] | queue <QUEUE><BANDWIDTH> [BURST] } | <QUEUE> – идентификатор очереди, принимает значение [1..8]; <BANDWIDTH> – средняя скорость трафика в Кбит/с, принимает значение [3000..10000000] для TengigabitEthernet интерфейсов и [64..1000000] для прочих интерфейсов и туннелей; <BURST> – размер сдерживающего порога в КБайт, принимает значение [4..16000]. По умолчанию 128 КБайт. Значение по умолчанию: Отключено. |
11 | Установить ограничение скорости входящего трафика. (в случае необходимости ограничения скорости исходящего потока) | esr(config-if-gi)# rate-limit <BANDWIDTH> [BURST] | <BANDWIDTH> – средняя скорость трафика в Кбит/с, принимает значение [3000..10000000] для TengigabitEthernet интерфейсов и [64..1000000] для прочих интерфейсов и туннелей; <BURST> – размер сдерживающего порога в КБайт, принимает значение [4..16000]. По умолчанию 128 КБайт. Значение по умолчанию: Отключено. |
Пример настройки
Задача:
Настроить следующие ограничения на интерфейсе gigabitethernet 1/0/8: передавать трафик с DSCP 22 в первую приоритетную очередь, трафик с DSCP 14 в седьмую взвешенную очередь, установить ограничение по скорости в 60 Мбит/с для седьмой очереди.
Рисунок 41 – Схема сети
Решение:
Для того чтобы первая очередь осталась приоритетной, а очереди со второй по восьмую стали взвешенными, ограничим количество приоритетных очередей до 1:
...
Блок кода |
---|
esr# show qos statistics gigabitethernet 1/0/8 |
Расширенный QoS
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Создать списки доступа для определения трафика, к которому должен быть применен расширенный QOS. | См. Раздел 1.8.7 ESR-Series. Описание функционала. Версия 1.8.7.Настройка списков доступа (ACL). | |
2 | Создать класс QoS и перейти в режим настройки параметров класса. | esr(config)# class-map <NAME> | <NAME> – имя создаваемого класса, задается строкой до 31 символа. |
3 | Задать описание класса QoS. (не обязательно) | esr(config-class-map)# description <description> | <description> – до 255 символов. |
4 | Определить трафик относящийся к конфигурируемому классу по списку контроля доступа (ACL). | esr(config-class-map)# match access-group <NAME> | <NAME> – имя списка контроля доступа, задаётся строкой до 31 символа. |
5 | Задать значение кода DSCP, которое будет установлено в IP-пакетах, соответствующих конфигурируемому классу (невозможно назначать одновременно с полями IP Precedence и CoS). (при необходимости перемаркировки) | esr(config-class-map)# set dscp <DSCP> | <DSCP> – значение кода DSCP, принимает значения [0..63]. |
6 | Задать значение кода IP Precedence, которое будет установлено в IP-пакетах, соответствующих конфигурируемому классу (невозможно назначать одновременно с полями DSCP и CoS). (при необходимости перемаркировки) | esr(config-class-map)# set ip-precedence <IPP> | <IPP> – значение кода IP Precedence, принимает значения [0..7]. |
7 | Задать значение 802.1p приоритета, которое будет установлено в пакетах, соответствующих конфигурируемому классу (невозможно назначать одновременно с полями DSCP и IP Precedence). (при необходимости перемаркировки) | esr(config-class-map)# set с os <COS> | <COS> – значение 802.1p приоритета, принимает значения [0..7]. |
8 | Создать политику QoS и осуществить переход в режим настройки параметров политики. | esr(config)# policy-map <NAME> esr(config-policy-map)# | <NAME> – имя создаваемой политики, задается строкой до 31 символа. |
9 | Задать описание политики QoS. (не обязательно) | esr(config-policy-map)# description <description> | <description> – до 255 символов. |
10 | Установить гарантированную полосу пропускания исходящего трафика для политики в целом. | esr(config-policy-map)# shape average <BANDWIDTH> [BURST] | <BANDWIDTH> – гарантированная полоса трафика в Кбит/с, принимает значение [64..10000000]; <BURST> – размер сдерживающего порога в КБайт, принимает значение [4..16000]. По умолчанию 128 КБайт. |
11 | Включить автоматическое распределение полосы пропускания между классами, в которых нет настройки полосы пропускания, включая класс по умолчанию. (в случае необходимости) | esr(config-policy-map)# shape auto-distribution | |
12 | Включить указанный QoS-класс в политику и осуществить переход в режим настройки параметров класса в рамках политики. | esr(config-policy-map)# class <NAME> esr(config-class-policy-map)# | <NAME> – имя привязываемого класса, задается строкой до 31 символа. При указании значения «class-default» в данный класс попадает трафик неклассифицированный на входе. |
13 | Включить политику QoS в класс QoS для создания иерархического QoS. | esr(config-class-policy-map)# service-policy <NAME> | <NAME> – имя политики, задается строкой до 31 символа. Вкладываемая политика должна быть уже создана. |
14 | Установить гарантированную полосу пропускания исходящего трафика для класса в рамках политики. (при необходимости) | esr(config-class-policy-map)# shape average <BANDWIDTH> [BURST] | <BANDWIDTH> – гарантированная полоса трафика в Кбит/с, принимает значение [64..10000000]; <BURST> – размер сдерживающего порога в КБайт, принимает значение [4..16000]. По умолчанию 128 КБайт. |
15 | Установить разделяемую полосу пропускания исходящего трафика для определенного класса. Данную полосу класс может занять, если менее приоритетный класс не занял свою гарантированную полосу. (при необходимости) | esr(config-class-policy-map)# shape peak <BANDWIDTH> [BURST] | |
16 | Определить режим работы класса. (не обязательно) | esr(config-class-policy-map)# mode <MODE> | <MODE> – режим класса:
Значение по умолчанию: FIFO. |
17 | Задать приоритет класса в WRR-процессе. (при необходимости) | esr(config-class-policy-map)# priority class <PRIORITY> | <PRIORITY> – приоритет класса в WRR-процессе, принимает значения [1..8]. Классы с наибольшим приоритетом обрабатываются в первую очередь. |
18 | Перевести класс в режим StrictPriority и задать приоритет класса. (при необходимости) | esr(config-class-policy-map)# priority level <PRIORITY> | <PRIORITY> – уровень приоритета в StrictPriority-процессе, принимает значения [1..8]. Классы с наибольшим приоритетом обрабатываются в первую очередь. Значение по умолчанию: класс работает в режиме WRR, приоритет не задан. |
19 | Определить предельное количество виртуальных очередей. (не обязательно) | esr(config-class-policy-map)# fair-queue <QUEUE-LIMIT> | <QUEUE-LIMIT> – предельное количество виртуальных очередей, принимает значения в диапазоне [16..4096]. Значение по умолчанию: 16. |
20 | Определить предельное количество пакетов для виртуальной очереди. (не обязательно) | esr(config-class-policy-map)# queue-limit <QUEUE-LIMIT> | <QUEUE-LIMIT> – предельное количество пакетов в виртуальной очереди, принимает значения в диапазоне [2..4096]. Значение по умолчанию: 127. |
21 | Определить параметры RED (Random Early Detection). (при необходимости) | esr(config-class-policy-map)# random-detect <LIMIT><MAX><MIN><PROBABILITY> | <LIMIT> – предельный размер очереди в байтах, принимает значения в диапазоне [1..1000000]; <MAX> – максимальный размер очереди в байтах, принимает значения в диапазоне [1..1000000]; <MIN> – минимальный размер очереди в байтах, принимает значения в диапазоне [1..1000000]; <PROBABILITY> – вероятность отбрасывания пакетов, принимает значения [0..100]. При указании значений должны выполняться следующие правила:
|
22 | Определить параметры GRED (Generalized Random Early Detection). (при необходимости) | esr(config-class-policy-map)# random-detect precedence <PRECEDENCE><LIMIT><MAX><MIN><PROBABILITY> | <PRECEDENCE> – значение IPPrecendence [0..7]; <LIMIT> – предельный размер очереди в байтах, принимает значения в диапазоне [1..1000000]; <MAX> – максимальный размер очереди в байтах, принимает значения в диапазоне [1..1000000]; <MIN> – минимальный размер очереди в байтах, принимает значения в диапазоне [1..1000000]; <PROBABILITY> – вероятность отбрасывания пакетов, принимает значения [0..100]. При указании значений должны выполняться следующие правила:
|
23 | Включить протокол компрессии tcp заголовков для трафика отдельного класса. (при необходимости) | esr(config-class-policy-map)# compression header ip tcp | |
24 | Включить сервис QoS на интерфейсе/туннеле/ сетевом мосту. | esr(config-if-gi)# qos enable | |
25 | Назначить политику QoS на сконфигурируемом интерфейсе/туннеле/сетевом мосту для классификации входящего (input) или приоритезации исходящего (output) трафика. | esr(config-if-gi)# service-policy { input | output } <NAME> | <NAME> – имя QoS-политики, задаётся строкой до 31 символа. |
Пример настройки
Задача:
Классифицировать приходящий трафик по подсетям (10.0.11.0/24, 10.0.12.0/24), произвести маркировку по DSCP (38 и 42) и произвести разграничение по подсетям (40 Мбит/с и
60 Мбит/с), ограничить общую полосу до 250 Мбит/с, остальной трафик обрабатывать через механизм SFQ.
Рисунок 42 – Схема сети
Решение:
Настроим списки доступа для фильтрации по подсетям, выходим в глобальный режим конфигурации:
...
Блок кода |
---|
esr# do show qos policy statistics gigabitethernet 1/0/20 |
Настройка зеркалирования
Зеркалирование трафика — функция маршрутизатора, предназначенная для перенаправления трафика с одного порта маршрутизатора на другой порт этого же маршрутизатора (локальное зеркалирование) или на удаленное устройство (удаленное зеркалирование).
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Определить VLAN, по которому будет передаваться отзеркалированный трафик (в случае использования удаленного зеркалирования). | esr(config)# port monitor remote vlan <VID><DIRECTION> | <VID> – идентификационный номер VLAN, задаётся в диапазоне [2…4094]; <DIRECTION> – направление трафика:
|
2 | Включить режим удаленного зеркалирования (в случае использования удаленного зеркалирования). | esr(config)# port monitor remote | |
3 | Определить режим порта передающего отзеркалированный трафик. | esr(config)# port monitor mode <MODE> | <MODE> – режим:
|
4 | В режиме конфигурации интерфейса включить зеркалирование. | esr(config-if-gi)# port monitor interface <IF><DIRECTION> | <IF> – интерфейс в который будет осуществляться зеркалирование; <DIRECTION> – направление трафика:
|
Пример настройки
Задача:
Организовать удаленное зеркалирование трафика по VLAN 50 с интерфейса gi1/0/11 для передачи на сервер для обработки.
Рисунок 43 – Схема сети
Решение:
Предварительно нужно выполнить следующие действия:
...
Якорь | ||||
---|---|---|---|---|
|
Настройка Netflow
Netflow — сетевой протокол, предназначенный для учета и анализа трафика. Netflow позволяет передавать данные о трафике (адрес отправителя и получателя, порт, количество информации и др.) с сетевого оборудования (сенсора) на коллектор. В качестве коллектора может использоваться обычный сервер.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Задать версию Netflow-протокола. | esr(config)# netflow version <VERSION> | <VERSION> – версия Netflow-протокола: 5, 9 и 10. |
2 | Установить максимальное количество наблюдаемых сессий. | esr(config)# netflow max-flows <COUNT> | <COUNT> – количество наблюдаемых сессий, принимает значение [10000..2000000]. Значение по умолчанию: 512000. |
3 | Установить интервал, по истечении которого информация об устаревших сессиях экспортируются на коллектор. | esr(config)# netflow inactive-timeout <TIMEOUT> | <TIMEOUT> – задержка перед отправкой информации об устаревших сессиях, задается в секундах, принимает значение [0..240]. Значение по умолчанию: 15 секунд. |
4 | Установить частоту отправки статистики на Netflow-коллектор. | esr(config)# netflow refresh-rate <RATE> | <RATE> – частота отправки статистики, задается в пакетах на поток, принимает значение [1..10000]. Значение по умолчанию: 10. |
5 | Активировать Netflow на маршрутизаторе. | esr(config)# netflow enable | |
6 | Создать коллектор Netflow и перейти в режим его конфигурирования. | esr(config)# netflow collector <ADDR> | <ADDR> – IP-адрес коллектора, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
7 | Установить порт Netflow-сервиса на сервере сбора статистики. | esr(config-netflow-host)# port <PORT> | <PORT> – номер UDP-порта, указывается в диапазоне [1..65535]. Значение по умолчанию: 2055. |
8 | Включить отправку статистики на Netflow-сервер в режим конфигурирования интерфейса/туннеля/ сетевого моста. | esr(config-if-gi)# ip netflow export |
Пример настройки
Задача:
Организовать учет трафика с интерфейса gi1/0/1 для передачи на сервер через интерфейс gi1/0/8 для обработки.
Рисунок 44 – Схема сети
Решение:
Предварительно нужно выполнить следующие действия:
- На интерфейсах gi1/0/1, gi1/0/8 отключить firewall командой «ip firewall disable».
- Назначить IP-адреса на портах.
Основной этап конфигурирования:
Укажем IP-адрес коллектора:
...
Настройка Netflow для учета трафика между зонами аналогична настройке sFlow, описание приведено в разделе 1.8.7 ESR-Series. Описание функционала. Версия 1.8.7.Настройка sFlow.
Якорь | ||||
---|---|---|---|---|
|
Настройка sFlow
Sflow — стандарт для мониторинга компьютерных сетей, беспроводных сетей и сетевых устройств, предназначенный для учета и анализа трафика.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Установить частоту отправки пакетов пользовательского трафика в неизменном виде на sFlow-коллектор. | esr(config)# sflow sampling-rate <RATE> | <RATE> – частота отправки пакетов пользовательского трафика на коллектор, принимает значение [1..10000000]. При значении частоты 10 на коллектор будет отправлен один пакет из десяти. Значение по умолчанию: 1000. |
2 | Установить интервал, по истечении которого происходит получение информации о счетчиках сетевого интерфейса | esr(config)# sflow poll-interval <TIMEOUT> | <TIMEOUT> – интервал, по истечении которого происходит получение информации о счетчиках сетевого интерфейса, принимает значение [1..10000]. Значение по умолчанию: 10 секунд. |
3 | Активировать sFlow на маршрутизаторе. | esr(config)# sflow enable | |
4 | Создать коллектор sFlow и перейти в режим его конфигурирования. | esr(config)# sflow collector <ADDR> | <ADDR> – IP-адрес коллектора, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
5 | Включить отправку статистики на sFlow-сервер в режим конфигурирования интерфейса/туннеля/ сетевого моста. | esr(config-if-gi)# ip sflow export |
Пример настройки
Задача:
Организовать учет трафика между зонами trusted и untrusted.
Рисунок 45 – Схема сети
Решение:
Для сетей ESR создадим две зоны безопасности:
...
Настройка sFlow для учета трафика с интерфейса осуществляется аналогично 1.8.7 ESR-Series. Описание функционала. Версия 1.8.7. Настройка Netflow.
Настройка LACP
LACP — протокол для агрегирования каналов, позволяет объединить несколько физических каналов в один логический. Такое объединение позволяет увеличивать пропускную способность и надежность канала.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Установить приоритет системы для протокола LACP. | esr(config)# lacp system-priority <PRIORITY> | <PRIORITY> – приоритет, указывается в диапазоне [1..65535]. Значение по умолчанию: 1. |
2 | Установить механизм балансировки нагрузки для групп агрегации каналов. | esr(config)# port-channel load-balance {src-dst-mac-ip|src-dst-mac|src-dst-ip|src-dst-mac-ip-port} |
|
3 | Установить административный таймаут протокола LACP. | esr(config)# lacp timeout { short | long } |
Значение по умолчанию: long. |
4 | Создать и перейти в режим конфигурирования агрегированного интерфейса. | esr(config)# interface port-channel <ID> | <ID> – порядковый номер группы агрегации каналов, принимает значения [1..12]. |
5 | Настроить необходимые параметры агрегированного канала. |
| |
6 | Перейти в режим конфигурирования физического интерфейса. | esr(config)# interface <IF-TYPE><IF-NUM> | <IF-TYPE> тип интерфейса (gigabitethernet или tengigabitethernet). <IF-NUM> – F/S/P – F-фрейм (1), S – слот (0), P – порт. |
7 | Включить физический интерфейс в группу агрегации каналов с указанием режима формирования группы агрегации каналов. | esr(config-if-gi)# channel-group <ID> mode <MODE> | <ID> – порядковый номер группы агрегации каналов, принимает значения [1..12]. <MODE> – режим формирование группы агрегации каналов:
|
8 | Установить LACP-приоритет интерфейса Ethernet. | esr(config-if-gi)# lacp port-priority <PRIORITY> | <PRIORITY> – приоритет, указывается в диапазоне [1..65535]. Значение по умолчанию: 1. |
Пример настройки
Задача:
Настроить агрегированный канал между маршрутизатором ESR и коммутатором.
Рисунок 46 – Схема сети
Решение:
Предварительно нужно выполнить следующие настройки:
На интерфейсах gi1/0/1, gi1/0/2 отключить зону безопасности командой «no security-zone».
Основной этап конфигурирования:
Создадим интерфейс port-channel 2:
...
Дальнейшая конфигурация port-channel проводится как на обычном физическом интерфейсе.
Настройка VRRP
VRRP (Virtual Router Redundancy Protocol) — сетевой протокол, предназначенный для увеличения доступности маршрутизаторов, выполняющих роль шлюза по умолчанию. Это достигается путём объединения группы маршрутизаторов в один виртуальный маршрутизатор и назначения им общего IP-адреса, который и будет использоваться как шлюз по умолчанию для компьютеров в сети.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Перейти в режим конфигурирования интерфейса/туннеля/ сетевого моста, для которого необходимо настроить протокол VRRP | esr(config)# interface <IF-TYPE><IF-NUM> | <IF-TYPE> – тип интерфейса; <IF-NUM> – F/S/P – F-фрейм (1), S – слот (0), P – порт. |
esr(config)# tunnel <TUN-TYPE><TUN-NUM> | <TUN-TYPE> – тип туннеля; <TUN-NUM> – номер туннеля. | ||
esr(config)# bridge <BR-NUM> | <BR-NUM> – номер сетевого моста. | ||
2 | Настроить необходимые параметры на интерфейсе/туннеле/ сетевом мосту, включая IP-адрес | ||
3 | Включить VRRP-процесс на IP-интерфейсе. | esr(config-if-gi)# vrrp | |
esr(config-if-gi)# ipv6 vrrp | |||
4 | Установить виртуальный IP-адрес VRRP-маршрутизатора. | esr(config-if-gi)# vrrp ip <ADDR/LEN> | <ADDR/LEN> – виртуальный IP-адрес, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32]. Можно указать несколько IP-адресов перечислением через запятую. Может быть назначено до 4 IP-адресов на интерфейс. |
esr(config-if-gi)# ipv6 vrrp ip <IPV6-ADDR> | <IPV6-ADDR> – виртуальный IPv6-адрес, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]. Можно указать до 8ми IPv6-адресов перечислением через запятую. | ||
5 | Установить идентификатор VRRP-маршрутизатора. | esr(config-if-gi)# vrrp id <VRID> | <VRID> – идентификатора VRRP-маршрутизатора, принимает значения [1..255]. |
esr(config-if-gi)# ipv6 vrrp id <VRID> | |||
6 | Установить приоритет VRRP-маршрутизатора. | esr(config-if-gi)# vrrp priority <PR> | <PR> – приоритет VRRP-маршрутизатора, принимает значения [1..254]. Значение по умолчанию: 100. |
esr(config-if-gi)# ipv6 vrrp priority <PR> | |||
7 | Установить принадлежность VRRP-маршрутизатора к группе. Группа предоставляет возможность синхронизировать несколько VRRP-процессов, так если в одном из процессов произойдет смена мастера, то в другом процессе также произведется смена ролей. | esr(config-if-gi)# vrrp group <GRID> | <GRID> – идентификатор группы VRRP-маршрутизатора, принимает значения [1..32]. |
esr(config-if-gi)# ipv6 vrrp group <GRID> | |||
8 | Установить IP-адрес, который будет использоваться в качестве IP-адреса отправителя для VRRP-сообщений. | esr(config-if-gi)# vrrp source-ip <IP> | <IP> – IP-адрес отправителя, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
esr(config-if-gi)# ipv6 vrrp source-ip <IPV6> | <IPV6> – IPv6-адрес отправителя, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]. | ||
9 | Установить интервал между отправкой VRRP-сообщений | esr(config-if-gi)# vrrp timers advertise <TIME> | <TIME> – время в секундах, принимает значения [1..40]. Значение по умолчанию: 1 секунда. |
esr(config-if-gi)# ipv6 vrrp timers advertise <TIME> | |||
10 | Установить интервал, по истечении которого происходит отправка GratuituousARP сообщения(ий) при переходе маршрутизатора в состояние Master. | esr(config-if-gi)# vrrp timers garp delay <TIME> | <TIME> – время в секундах, принимает значения [1..60]. Значение по умолчанию: 5 секунд. |
11 | Установить количество GratuituousARP сообщений, которые будут отправлены при переходе маршрутизатора в состояние Master. | esr(config-if-gi)# vrrp timers garp repeat <COUNT> | <COUNT> – количество сообщений, принимает значения [1..60]. Значение по умолчанию: 5. |
12 | Установить интервал, по истечении которого будет происходить периодическая отправка GratuituousARP сообщения(ий), пока маршрутизатор находится в состоянии Master. | esr(config-if-gi)# vrrp timers garp refresh <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: Периодическая отправка отключена. |
13 | Установить количество GratuituousARP сообщений, которые будут отправляться с периодом garprefresh пока маршрутизатор находится в состоянии Master. | esr(config-if-gi)# vrrp timers garp refresh-repeat <COUNT> | <COUNT> –количество сообщений, принимает значения [1..60]. Значение по умолчанию: 1. |
14 | Определить, будет ли Backup-маршрутизатор с более высоким приоритетом пытаться перехватить на себя роль Master у текущего Master-маршрутизатора с более низким приоритетом. | esr(config-if-gi)# vrrp preemption disable | |
esr(config-if-gi)# ipv6 vrrp preemption disable | |||
15 | Установить временной интервал, по истечении которого Backup-маршрутизатор с более высоким приоритетом будет пытаться перехватить на себя роль Master у текущего Master-маршрутизатора с более низким приоритетом. | esr(config-if-gi)# vrrp preemption delay <TIME> | <TIME> – время ожидания, определяется в секундах [1..1000]. Значение по умолчанию: 0 |
esr(config-if-gi)# ipv6 vrrp preemption delay <TIME> | |||
16 | Установить пароль для аутентификации с соседом. | esr(config-if-gi)# vrrp authentication key ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> } | <CLEAR-TEXT> – пароль, задаётся строкой от 8 до 16 символов; <ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 16 байт (от 16 до 32 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...). |
17 | Определить алгоритм аутентификации. | esr(config-if-gi)# vrrp authentication algorithm <ALGORITHM> | <ALGORITHM> – алгоритм аутентификации:
|
18 | Задать версию VRRP-протокола. | esr(config-if-gi)# vrrp version <VERSION> | <VERSION> – версия VRRP-протокола: 2, 3. |
19 | Установить режим, когда vrrp IP-адрес остается в состоянии UP вне зависимости от состояния самого интерфейса. (не обязательно) | esr(config-if-gi)# vrrp force-up | |
20 | Определить задержку между установлением ipv6 vrrp состояния MASTER и началом рассылки ND сообщений. | esr(config-if-gi)# ipv6 vrrp timers nd delay <TIME> | <TIME> – время в секундах, принимает значения [1..60]. Значение по умолчанию: 5 |
21 | Определить период обновления информации протокола ND для ipv6 vrrp в состоянии MASTER. | esr(config-if-gi)# ipv6 vrrp timers nd refresh <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: 5 |
22 | Определить количество ND сообщений отправляемых за период обновления для ipv6 vrrp в состоянии MASTER. | esr(config-if-gi)# ipv6 vrrp timers nd refresh-repeat <NUM> | <NUM> – количество, принимает значения [1..60]. Значение по умолчанию: 0 |
23 | Определить количество отправок ND пакетов после установки ipv6 vrrp в состоянии MASTER. | esr(config-if-gi)# ipv6 vrrp timers nd repeat <NUM> | <NUM> – количество, принимает значения [1..60]. Значение по умолчанию: 1 |
Пример настройки 1
Задача:
Организовать виртуальный шлюз для локальной сети в VLAN 50, используя протокол VRRP. В качестве локального виртуального шлюза используется IP-адрес 192.168.1.1.
Рисунок 47 – Схема сети
Решение:
Предварительно нужно выполнить следующие действия:
...
Произвести аналогичные настройки на R2.
Пример настройки 2
Задача:
Организовать виртуальные шлюзы для подсети 192.168.1.0/24 в VLAN 50 и подсети 192.168.20.0/24 в VLAN 60, используя протокол VRRP c функцией синхронизации Мастера. Для этого используем объединение VRRP-процессов в группу. В качестве виртуальных шлюзов используются IP-адреса 192.168.1.1 и 192.168.20.1.
Рисунок 48 – Схема сети
Решение:
Предварительно нужно выполнить следующие действия:
...
Примечание |
---|
Помимо создания туннеля необходимо в firewall разрешить протокол VRRP(112). |
Настройка VRRP tracking
VRRP tracking — механизм позволяющий активировать статические маршруты в зависимости от состояния VRRP.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить VRRP согласно разделу 1.8.7 ESR-Series. Описание функционала. Версия 1.8.7.Алгоритм настройки USB-модемов. |
| |
2 | Добавить в систему Tracking-объект и перейти в режим настройки параметров Tracking-объекта. | esr(config)#tracking <ID> | <ID> – номер Tracking-объекта, принимает значения [1..60]. |
3 | Задать правило слежения за состоянием VRRP-процесса. | esr(config-tracking)# vrrp <VRID> [not] state { master | backup | fault } | <VRID> – идентификатор отслеживаемого VRRP-маршрутизатора, принимает значения [1..255]. |
4 | Включить Tracking-объект. | esr(config-tracking)#enable | |
5 | Cоздать статический IP-маршрут к указанной подсети с указанием Tracking-объекта. | esr(config)# ip route [ vrf <VRF> ] <SUBNET> { <NEXTHOP> [ resolve ] | interface <IF> | tunnel <TUN> | wan load-balance rule <RULE> | blackhole | unreachable | prohibit } [ <METRIC> ] [ track <TRACK-ID> ] | <VRF> – имя экземпляра VRF, задается строкой до 31 символа; <SUBNET> – адрес назначения, может быть задан в следующих видах: AAA.BBB.CCC.DDD – IP-адрес хоста, где каждая часть принимает значения [0..255]; AAA.BBB.CCC.DDD/NN – IP-адрес подсети с маской в виде префикса, где AAA-DDD принимают значения [0..255] и NN принимает значения [1..32]. <NEXTHOP> – IP-адрес шлюза задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];
<IF> – имя IP-интерфейса, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора; <TUN> – имя туннеля, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора; <RULE> – номер правила wan, задаётся в диапазоне [1..50];
[METRIC] – метрика маршрута, принимает значения [0..255]; <TRACK-ID> – идентификатор Tracking объекта. Если маршрут привязан к Tracking объекту, то он появится в системе только при выполнении всех условий, заданных в объекте. |
Пример настройки
Задача:
Для подсети 192.168.0.0/24 организован виртуальный шлюз 192.168.0.1/24 с использованием протокола VRRP на основе аппаратных маршрутизаторов R1 и R2. Так же между маршрутизаторами R1 и R2 есть линк с вырожденной подсетью 192.168.1.0/30. Подсеть 10.0.1.0/24 терминируется только на маршрутизаторе R2. ПК имеет IP-адрес 192.168.0.4/24 и шлюз по умолчанию 192.168.0.1
Когда маршрутизатор R1 находится в состоянии vrrp backup, трафик от ПК в подсеть 10.0.1.0/24 пойдет без дополнительных настроек. Когда маршрутизатор R1 находится в состоянии vrrp master, необходим дополнительный маршрут для подсети 10.0.1.0/24 через интерфейс 192.168.1.2.
Рисунок 49 – Схема сети
Исходные конфигурации маршрутизаторов:
Маршрутизатор R1
Блок кода |
---|
hostname R1 interface gigabitethernet 1/0/1 switchport forbidden default-vlan exit interface gigabitethernet 1/0/1.741 ip firewall disable ip address 192.168.0.2/24 vrrp id 10 vrrp ip 192.168.0.1/24 vrrp exit interface gigabitethernet 1/0/2 switchport forbidden default-vlan exit interface gigabitethernet 1/0/2.742 ip firewall disable ip address 192.168.1.1/30 exit |
Маршрутизатор R2
Блок кода |
---|
hostname R2 interface gigabitethernet 1/0/1 switchport forbidden default-vlan exit interface gigabitethernet 1/0/1.741 ip firewall disable ip address 192.168.0.3/24 vrrp id 10 vrrp ip 192.168.0.1/24 vrrp exit interface gigabitethernet 1/0/2 switchport forbidden default-vlan exit interface gigabitethernet 1/0/2.742 ip firewall disable ip address 192.168.1.2/30 exit interface gigabitethernet 1/0/4 ip firewall disable ip address 10.0.1.1/24 exit |
Решение :
На маршрутизаторе R2 никаких изменений не требуется так как подсеть 10.0.1.0/24 терминируется на нем, и в момент, когда R2 выступает в роли vrrp master, пакеты будут переданы в соответствующий интерфейс. На маршрутизаторе необходимо создать маршрут для пакетов с IP-адресом назначения из сети 10.0.1.0/24 в момент, когда R1 выступает в роли vrrp master.
...
Блок кода |
---|
R1(config)# ip route 10.0.1.0/24 192.168.1.2 track 1 |
Настройка VRF Lite
VRF (Virtual Routing and Forwarding) – технология, которая позволяет изолировать маршрутную информацию, принадлежащую различным классам (например, маршруты одного клиента).
Рисунок 50 – Схема сети
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Создать экземпляр VRF и перейти в режим настройки параметров экземпляра VRF. | esr(config)# ip vrf <VRF> | <VRF> – имя экземпляра VRF, задается строкой до 31 символа. |
2 | Назначить описание конфигурируемомого экземпляра VRF. | esr(config-vrf)# description <DESCRIPTION> | <DESCRIPTION> – описание экземпляра VRF, задаётся строкой до 255 символов. |
3 | Настроить емкость таблиц маршрутизации в конфигурируемом VRF для IPv4/IPv6 протоколов маршрутизации (не обязательно). | esr(config-vrf)# ip protocols <PROTOCOL> max-routes <VALUE> | <PROTOCOL> – вид протокола, принимает значения: ospf, bgp; <VALUE> – количество маршрутов в маршрутной таблице, принимает значения в диапазоне: OSPF ESR-1000/1200/1500/1510/1700 [1..500000], ESR-20/21/100/200 [1..300000], ESR-10/12V(F)/14VF [1..30000] BGP ESR-1000/1200/1500/1510/1700 [1..2800000], ESR-20/21/100/200 [1..1500000], ESR-10/12V(F)/14VF [1..800000]. Значение по умолчанию: 0 |
esr(config-vrf)#ipv6 protocols <PROTOCOL> max-routes <VALUE> | |||
4 | Включить и настроить протоколы динамической маршрутизации трафика (Static/OSPF/BGP) в экземпляре VRF (не обязательно). См. соответствующий раздел 1.8.7 ESR-Series. Описание функционала. Версия 1.8.7, 1.8.7 ESR-Series. Описание функционала. Версия 1.8.7 и 1.8.7 ESR-Series. Описание функционала. Версия 1.8.7. Конфигурирование статических маршрутов, Настройка OSPF и Настройка BGP. |
| |
5 | В режиме конфигурирования физического/логического интерфейса, туннеля, правила DNAT/SNAT, DAS-сервера или SNMPv3 пользователя указать имя экземпляра VRF для которого будет использоваться (при необходимости). | esr(config-snat-ruleset)# ip vrf forwarding <VRF> | <VRF> – имя экземпляра VRF, задается строкой до 31 символа. |
6 | Настроить LT-туннель для передачи трафика в глобальный режим или другие VRF (при необходимости). |
|
Пример настройки
Задача:
К маршрутизатору серии ESR подключены 2 сети, которые необходимо изолировать от остальных сетей.
Решение:
Создадим VRF:
Блок кода |
---|
esr(config)# ip vrf bit esr(config-vrf)# exit |
...
Блок кода |
---|
esr# show ip route vrf bit |
Настройка MultiWAN
Технология MultiWAN позволяет организовать отказоустойчивое соединение с резервированием линков от нескольких провайдеров, а также решает проблему балансировки трафика между резервными линками.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Сконфигурировать интерфейсы, по которым будет работать MultiWAN: установить ip-адреса и указать security-zone. | ||
2 | Прописать статические маршруты через WAN (если необходимо). | esr(config)# ip route <SUBNET> wan load-balance rule <ID> [<METRIC>] | <ID> – идентификатор создаваемого правила из п.2. [METRIC] – метрика маршрута, принимает значения [0..255]. |
3 | Создать правило WAN и перейти в режим настройки параметров правила. | esr(config)# wan load-balance rule <ID> | <ID> – идентификатор создаваемого правила, принимает значения [1..50]. |
4 | Задать интерфейсы или туннели, которые являются шлюзами в маршруте, создаваемом службой MultiWAN. | esr(config-wan-rule)# outbound { interface <IF> | tunnel <TUN> } [WEIGHT] | <IF>– имя интерфейса устройства; <TUN> – имя туннеля; [WEIGHT] – вес туннеля или интерфейса, определяется в диапазоне [1..255]. Если установить значение 2, то по данному интерфейсу будет передаваться в 2 раза больше трафика, чем по интерфейсу со значением по умолчанию. В режиме резервирования активным будет маршрут с наибольшим весом. Значение по умолчанию 1. |
5 | Описать правила (не обязательно). | esr(config-wan-rule)# description <DESCRIPTION> | <DESCRIPTION> – описание правила wan, задаётся строкой до 255 символов. |
6 | Данной командой осуществляется переключение из режима балансировки в режим резервирования (если необходимо). | esr(config-wan-rule)# failover | |
7 | Включить wan правило. | esr(config-wan-rule)# enable | |
8 | Создать список IP-адресов для проверки целостности соединения и осуществить переход в режим настройки параметров списка. | esr(config)# wan load-balance target-list <NAME> | <NAME> – название списка, задается строкой до 31 символа. |
9 | Задать цель проверки и перейти в режим настройки параметров цели. | esr(config-target-list)# target <ID> | <ID> – идентификатор цели, задаётся в пределах [1..50]. Если при удалении используется значение параметра «all», то будут удалены все цели для конфигурируемого списка целей. |
10 | Описать target (не обязательно). | esr(config-wan-target)# description <DESCRIPTION> | <DESCRIPTION> – описание target, задаётся строкой до 255 символов. |
11 | Указать время ожидания ответа на запрос по протоколу ICMP (не обязательно). | esr(config-wan-target)# resp-time <TIME> | <TIME> – время ожидания, определяется в секундах [1..30]. |
12 | Указать IP-адрес проверки. | esr(config-wan-target)# ip address <ADDR> | <ADDR> – IP-адрес назначения, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
esr(config-wan-target)# ipv6 address <IPV6-ADDR> | <IPV6-ADDR> – IPv6-адрес назначения, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]. | ||
13 | Включить проверку цели. | esr(config-wan-target)# enable | |
Команды для пунктов 13-17 необходимо применить на интерфейсах/туннелях в MultiWAN | |||
14 | Включить WAN режим на интерфейсе для IPv4/IPv6 стека. | esr(config-if-gi)# wan load-balance enable | |
esr(config-if-gi)# ipv6 wan load-balance enable | |||
15 | Задать количество неудачных попыток проверки соединения, после которых, при отсутствии ответа от встречной стороны, соединение будет считается неактивным (не обязательно). | esr(config-if-gi)# wan load-balance failure-count <VALUE> | <VALUE> – количество попыток, определяется в диапазоне [1..10]. Значение по умолчанию 1. |
esr(config-if-gi)# ipv6 wan load-balance failure-count <VALUE> | |||
16 | Задать количество успешных попыток проверки соединения, после которых, в случае успеха, соединение считается вновь активным (не обязательно). | esr(config-if-gi)# wan load-balance success-count <VALUE> | <VALUE> – количество попыток, определяется в диапазоне [1..10]. Значение по умолчанию 1. |
esr(config-if-gi)# ipv6 wan load-balance success-count <VALUE> | |||
17 | Задать IP-адрес соседа, который будет указан в качестве одного из шлюзов в статическом маршруте, создаваемом службой MultiWAN. | esr(config-if-gi)# wan load-balance nexthop { <IP> | dhcp enable | tunnel enable } | <IP> – IP-адрес назначения (шлюз), задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. dhcp enable – если на интерфейсе IP-адрес получен через DHCP-клиента, используется шлюз с DHCP-сервера. tunnel enable – использовать в качестве nexthop – p-t-p адрес назначения. Применимо для подключаемых интерфейсов работающих через ppp. |
esr(config-if-gi)# ipv6 wan load-balance nexthop { <IPV6> } | <IPV6> – IPv6-адрес назначения (шлюз), задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]. | ||
18 | Данной командой будут проверяться IP-адреса из списка проверки целостности. В случае недоступности одного из проверяемых узлов, шлюз будет считаться недоступным. | esr(config-if-gi)# wan load-balance target-list { check-all | <NAME> } | <NAME> – проверку производить на основании конкретного target листа (заданного в п.7). check-all – проверку производить на основании всех target листа. |
esr(config-if-gi)# ipv6 wan load-balance target-list { check-all | <NAME> } | |||
19 | Прописать статические маршруты через WAN (если необходимо). | esr(config)# ip route <SUBNET> wan load-balance rule <ID> [<METRIC>] | <ID> – идентификатор создаваемого правила из п.2. [METRIC] – метрика маршрута, принимает значения [0..255]. |
esr(config)# ipv6 route <SUBNET> wan load-balance rule <ID> [<METRIC>] |
Пример настройки
Задача:
Настроить маршрут к серверу (108.16.0.1/28) с возможностью балансировки нагрузки.
Рисунок 51 – Схема сети
Решение:
Предварительно нужно выполнить следующие действия:
...
Блок кода |
---|
еsr(config-wan-rule)# failover |
Настройка SNMP
SNMP (англ. Simple Network Management Protocol — простой протокол сетевого управления) — протокол, предназначенный для управления устройствами в IP-сетях на основе архитектур TCP/UDP. SNMP предоставляет данные для управления в виде переменных, описывающих конфигурацию управляемой системы.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Включить SNMP-сервер | esr(config)# snmp-server | |
2 | Определить community для доступа по протоколу SNMPv2c. | esr(config)# snmp-server community <COMMUNITY> [ <TYPE> ] [{ <IP-ADDR> | <IPV6-ADDR> ] [client-list <OBJ-GROUP-NETWORK-NAME> ] [ <VERSION> ] [ view <VIEW-NAME> ] [ vrf <VRF> ] | <COMMUNITY> – сообщество для доступа по протоколу SNMP; <TYPE> – уровень доступа:
<IP-ADDR> – IP-адрес клиента, которому предоставлен доступ, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <OBJ-GROUP-NETWORK-NAME> – имя профиля IP-адресов, от которых обрабатываются snmp-запросы, задаётся строкой до 31 символа; <VERSION> – версия snmp, поддерживаемая данным community, принимает значения v1 или v2c; <VIEW-NAME> – имя профиля SNMP view, задаётся строкой до 31 символа; |
3 | Устанавливает значение переменной SNMP, содержащей контактную информацию | esr(config)# snmp-server contact <CONTACT> | <CONTACT> – контактная информация, задается строкой до 255 символов. |
4 | Установить значение кода DSCP для использования в IP-заголовке исходящих пакетов SNMP-сервера (не обязательно). | esr(config)# snmp-server dscp <DSCP> | <DSCP> – значение кода DSCP, принимает значения в диапазоне [0..63]. Значение по умолчанию: 63. |
5 | Разрешить перезагрузку маршрутизатора при помощи snmp-сообщений (не обязательно) | esr(config)# snmp-server system-shutdown | |
6 | Cоздать SNMPv3-пользователь. | esr(config)# snmp-server user <NAME> | <NAME> – имя пользователя, задаётся строкой до 31 символа. |
7 | Устанавливает значение переменной SNMP, содержащей информацию о расположении оборудования | esr(config)# snmp-server location <LOCATION> | <LOCATION> –информация о расположении оборудования, задается строкой до 255 символов. |
8 | Определить уровень доступа пользователя по протоколу SNMPv3. | esr(config-snmp-user)# access <TYPE> | <TYPE> – уровень доступа:
|
9 | Определить режим безопасности пользователя по протоколу SNMPv3. | esr(config-snmp-user)# authentication access <TYPE> | <TYPE> – режим безопасности:
|
10 | Определить алгоритм аутентификации SNMPv3-запросов. | esr(config-snmp-user)# authentication algorithm <ALGORITHM> | <ALGORITHM> – алгоритм шифрования:
|
11 | Установить пароль для аутентификации SNMPv3-запросов. | esr(config-snmp-user)# authentication key ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> } | <CLEAR-TEXT> – пароль, задаётся строкой от 8 до 16 символов;
<ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 16 байт (от 16 до 32 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...). |
12 | Активировать фильтрацию и установить профиль IP-адресов, с которых могут приниматься SNMPv3 пакеты с данным именем SNMPv3 пользователя. | esr(config-snmp-user)# client-list <NAME> | <NAME> – имя ранее сознанной object-group, задается строкой до 31 символа. |
13 | Активировать фильтрацию и установить IPv4/IPv6-адрес, которому предоставлен доступ к маршрутизатору под данным SNMPv3-пользователем. | esr(config-snmp-user)# ip address <ADDR> | <ADDR> – IP-адрес клиента, которому предоставлен доступ, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
esr(config-snmp-user)# ipv6 address <ADDR> | <IPV6-ADDR> – IPv6-адрес клиента, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]. | ||
14 | Активировать SNMPv3-пользователя. | esr(config-snmp-user)# enable | Значение по умолчанию: процесс выключен. |
15 | Определить алгоритм шифрования передаваемых данных. | esr(config-snmp-user)# privacy algorithm <ALGORITHM> | <ALGORITHM> – алгоритм шифрования:
|
16 | Установить пароль для шифрования передаваемых данных. | esr(config-snmp-user)# privacy key ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> } | <CLEAR-TEXT> – пароль, задаётся строкой от 8 до 16 символов; <ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 16 байт (от 16 до 32 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...). |
Установить профиль snmp view, позволяющий разрешать или запрещать доступ к тем или иным OID для user. | esr(config-snmp-user)# view <VIEW-NAME> | <VIEW-NAME> – имя SNMP view профиля, на основании которого обеспечивается доступ к OID, задается строкой до 31 символа. | |
17 | Включить передачу SNMP уведомлений на указанный IP-адрес и перейти в режим настройки SNMP уведомлений. | esr(config)# snmp-server host { <IP-ADDR> | <IPV6-ADDR> } [vrf <VRF>] | <IP-ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. <IPV6-ADDR> – IPv6-адрес, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]; <VRF> – имя экземпляра VRF, в котором находится коллектор SNMP-уведомлений, задается строкой до 31 символа. |
18 | Определить порт коллектора SNMP уведомлений на удаленном сервере (не обязательно). | esr(config-snmp-host)# port <PORT> | <PORT> – номер UDP-порта, указывается в диапазоне [1..65535]. Значение по умолчанию: 162. |
19 | Установить фильтрацию на отправляемые SNMP-уведомления. | esr(config)# snmp-server enable traps <TYPE> | <TYPE> – тип фильтруемых сообщений. Может принимать значения: config, entry, entry-sensor, environment, envmon, files-operations, flash, flash-operations, interfaces, links, ports, screens, snmp, syslog. Дополнительные параметры зависят от типа фильтра. См. Справочник команд CLI (ESR). |
20 | Создать профиль snmp view, позволяющий разрешать или запрещать доступ к тем или иным OID для community (SNMPv2) и user (SNMPv3). | esr(config)# snmp-server enable traps <TYPE> | <VIEW-NAME> – имя профиля SNMP view, задаётся строкой до 31 символа. |
Пример настройки
Задача:
Настроить SNMPv3 сервер с аутентификацией и шифрованием данных для пользователя admin. IP-адрес маршрутизатора esr – 192.168.52.41, IP-адрес сервера – 192.168.52.8.
Scroll Pagebreak |
---|
Рисунок 52 – Схема сети
Решение:
Предварительно нужно выполнить следующие действия:
...
Блок кода |
---|
esr(config)# snmp-server host 192.168.52.41 |
Настройка Zabbix-agent/proxy
Zabbix-agent – агент, предназначенный для мониторинга устройства, а также выполнения удаленных команд с Zabbix-сервера. Агент может работать в двух режимах: пассивный и активный. Для работы в пассивном режиме, по умолчанию, необходимо разрешающее правило в firewall – протокол tcp, порт 10050. Для активного режима – протокол tcp, порт 10051. Zabbix-прокси - это процесс, способный собирать данные мониторинга с одного или нескольких наблюдаемых устройств и отправлять эту информацию Zabbix-серверу.
Алгоритм настройки
1 | Перейти в контекст настройки агента/прокси. | esr(config)# zabbix-agent esr(config)# zabbix-proxy | |
2 | Указать имя узла сети (опционально). Для активного режима имя должно совпадать с именем узла сети на zabbix сервере. | esr(config-zabbix)# hostname <WORD> esr(config-zabbix-proxy)# hostname <WORD> | <WORD> – имя узла сети, задается строкой до 255 символов. |
3 | Указать адрес zabbix сервера. | esr(config-zabbix)# server <ADDR> esr(config-zabbix-proxy)# server <ADDR> | <ADDR> – IP-адрес сервера, задается в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
4 | Указать адрес сервера для активных проверок (при использовании активного режима). | esr(config-zabbix)# active-server <ADDR> <PORT> esr(config-zabbix-proxy)# active-server <ADDR> <PORT> | <ADDR> – IP-адрес сервера, задается в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. <PORT> – Порт сервера, задается в диапазоне [1..65535]. |
5 | Указать порт, который будет слушать агент/прокси (не обязательно) | esr(config-zabbix)# port <PORT> esr(config-zabbix-proxy)# port <PORT> | <PORT> – Порт, который слушает zabbix агент/прокси, задается в диапазоне [1..65535]. |
6 | Разрешить выполнение удаленных команд zabbix агентом/прокси (при использовании активного режима). | esr(config-zabbix)# remote-commands esr(config-zabbix-proxy)# remote-commands | |
7 | Указать адрес, с которого будет осуществляться взаимодействием с сервером (не обязательно). | esr(config-zabbix)# source-address <ADDR> esr(config-zabbix-proxy)# source-address <ADDR> | <ADDR> – IP-адрес сервера, задается в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
8 | Указать время обработки удаленных команд (не обязательно). | esr(config-zabbix)# timeout <TIME> esr(config-zabbix-proxy)# timeout <TIME> | <TIME> – время ожидания, определяется в секундах [1..30]. |
9 | Включить функционал агента/прокси | esr(config-zabbix)# enable esr(config-zabbix-proxy)# enable |
Пример настройки zabbix-agent/proxy
Рисунок 53 – Схема сети
Задача:
Настроить взаимодействие между агентом и сервером для выполнения удаленных команд с сервера.
Решение:
В контексте настройки агента укажем адрес zabbix сервера и адрес, с которого будет осуществляться взаимодействие с сервером:
...
Блок кода |
---|
esr(config-zabbix)# timeout 30 esr(config-zabbix)# enable |
Пример настройки zabbix-server
Создадим узел сети:
Scroll Pagebreak |
---|
Маршрутизаторы ESR поддерживают выполнение следующих удаленных команд:
Ping:
Блок кода zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[ sudo ping -c 3 192.168.32.101]"
Клиент (ESR), получивший данную команду от сервера, выполнит ping до заданного узла (в нашем примере до 192.168.32.101), и вернет результат серверу.
Ping в VRF:
Блок кода zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[sudo netns-exec -n backup sudo ping 192.168.32.101 -c 5 -W 2 ]"
Вышеупомянутая команда будет выполнена в заданном VRF.
Fping
Блок кода zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[ sudo fping 192.168.32.101]"
Клиент (ESR), получивший данную команду от сервера, выполнит fping до заданного узла (в нашем примере до 192.168.32.101), и вернет результат серверу.
Fping в VRF
Блок кода zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[sudo netns-exec -n backup sudo fping 192.168.32.101 ]"
Traceroute
Блок кода zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[ sudo traceroute 192.168.32.101]
Клиент (ESR), получивший данную команду от сервера, выполнит traceroute до заданного узла (в нашем примере до 192.168.32.101), и вернет результат серверу.
Traceroute в VRF
Блок кода zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[ sudo netns-exec -n backup sudo traceroute 192.168.32.179]"
Iperf
Блок кода zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[ sudo iperf -c 192.168.32.101 -u -b 100K -i 1 -t 600]"
Клиент (ESR), получивший данную команду от сервера, выполнит iperf до заданного сервера (в нашем примере до 192.168.32.101), и вернет результат серверу.
Iperf в VRF
Блок кода zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[ sudo netns-exec -n backup sudo iperf -c 192.168.32.101 -u -b 100K -i 1 -t 600]"
Nslookup
Блок кода zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[sudo nslookup ya.ru ]"
Клиент (ESR), получивший данную команду от сервера, выполнит nslookup , и вернет результат серверу.
Nslookup в VRF
Блок кода zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[sudo netns-exec sudo nslookup ya.ru ]"
Пример выполнения команды Iperf:Scroll Pagebreak
Настройка Syslog
Syslog (англ. system log – системный журнал) – стандарт отправки и регистрации сообщений о происходящих в системе событиях, используется в сетях, работающих по протоколу IP.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Задать уровень syslog-сообщений, которые будут передаваться SNMP-Traps сообщениями (не обязательно) | esr(config)# syslog alarms <SEVERITY> | <SEVERITY> – уровень важности сообщения, принимает значения (в порядке убывания важности):
|
2 | Задать уровень syslog-сообщений, которые будут отображаться при удаленных подключениях (Telnet, SSH) (не обязательно) | esr(config)# syslog monitor <SEVERITY> | |
3 | Включить процесс логирования введённых команд пользователя на локальный syslog-сервер (не обязательно) | esr(config)# syslog cli-commands | |
4 | Включить сохранение сообщений syslog заданного уровня важности в указанный файл журнала | esr(config)# syslog file <NAME> <SEVERITY> | <NAME> – имя файла, в который будет производиться запись сообщений заданного уровня, задается строкой до 31 символа; <SEVERITY> описано в команде syslog alarms. |
5 | Указать максимальный размер файла журнала (не обязательно) | esr(config)# syslog file-size <SIZE> | <SIZE> – размер файла, принимает значение [10..10000000] кбайт |
6 | Задать максимальное количество файлов, сохраняемых при ротации (не обязательно) | esr(config)# syslog max-files <NUM> | <NUM> – максимальное количество файлов, принимает значения [1.. 1000] |
7 | Включить передачу сообщений syslog заданного уровня важности на удаленный syslog-сервер | esr(config)#syslog host <HOSTNAME> <ADDR> <SEVERITY> <TRANSPORT> <PORT> | <HOSTNAME> – наименование syslog-сервера, задаётся строкой до 31 символа. Используется только для идентификации сервера при конфигурировании. Значение «all» используется в команде no syslog host для удаления всех syslog-серверов; <ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <SEVERITY> – уровень важности сообщения, опциональный параметр, возможные значения приведены в разделе 1.8.7 ESR-Series. Описание функционала. Версия 1.8.7 Пример настройки Syslog; <TRANSPORT> – протокол передачи данных, опциональный параметр, принимает значения:
<PORT> – номер TCP/UDP-порта, опциональный параметр, принимает значения [1..65535], по умолчанию 514 |
8 | Включить вывод отладочных сообщений во время загрузки устройства (не обязательно) | esr(config)#syslog reload debugging | |
9 | Включить нумерацию сообщений (не обязательно) | esr(config)#syslog sequence-numbers | |
10 | Включить точность даты сообщений до миллисекунд (не обязательно). | esr(config)#syslog timestamp msec | |
11 | Включить регистрацию неудачных аутентификаций (не обязательно). | esr(config)#logging login on-failure | |
12 | Включить регистрацию изменений настроек системы аудита (не обязательно). | esr(config)#logging syslog configuration | |
13 | Включить регистрацию изменений настроек пользователя (не обязательно). | esr(config)#logging userinfo |
Якорь | ||||
---|---|---|---|---|
|
Пример настройки Syslog
Задача:
Настроить отправку сообщений для следующих системных событий:
...
IP-адрес маршрутизатора ESR – 192.168.52.8, ip-адрес Syslog сервера – 192.168.52.41. Использовать параметры по умолчанию для отправки сообщений – протокол UDP порт 514.
Рисунок 54 – Схема сети
Решение:
Предварительно нужно выполнить следующие действия:
...
Блок кода |
---|
esr# show syslog ESR |
Настройка BRAS (Broadband Remote Access Server)
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Добавить RADIUS-сервер в список используемых серверов и перейти в режим его конфигурирования. | esr(config)# radius -server host { <IP-ADDR> | <IPV6-ADDR> } [ vrf <VRF> ]esr(config-radius-server)# | <IP-ADDR> – IP-адрес RADIUS-сервера, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <IPV6-ADDR>–IPv6-адрес RADIUS-сервера, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF] <VRF> – имя экземпляра VRF, задается строкой до 31 символа. |
2 | Задать пароль для аутентификации на удаленном RADIUS-сервере. | esr(config-radius-server)# key ascii-text { <TEXT> | encrypted <ENCRYPTED-TEXT> } | <TEXT> – строка [8..16] ASCII-символов; <ENCRYPTED-TEXT> – зашифрованный пароль, размером [8..16] байт, задаётся строкой [16..32] символов. |
3 | Создать профиль ААА. | esr(config)# aaa radius-profile <NAME> | <NAME> – имя профиля сервера, задается строкой до 31 символа. |
4 | В профиле AAA указать RADIUS-сервер. | esr(config-aaa-radius-profile)# radius-server host { <IP-ADDR> | <IPV6-ADDR> } | <IP-ADDR> – IP-адрес RADIUS-сервера, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <IPV6-ADDR>–IPv6-адрес RADIUS-сервера, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]. |
5 | Создать DAS-сервер. | esr(config)# das-server <NAME> | <NAME> – имя DAS-сервера, задается строкой до 31 символа. |
6 | Задать пароль для аутентификации на удаленном DAS-сервере. | esr(config-das-server)# key ascii-text {<TEXT>|encrypted <ENCRYPTED-TEXT> } | <TEXT> – строка [8..16] ASCII-символов; <ENCRYPTED-TEXT>–зашифрованный пароль, размером [8..16] байт, задаётся строкой [16..32] символов. |
7 | Создать AAA DAS-профиль. | esr(config)# aaa das-profile <NAME> | <NAME> – имя DAS-профиля, задается строкой до 31 символа. |
8 | Указать DAS-сервер в DAS-профиле. | esr(config-aaa-das-profile)# das-server <NAME> | <NAME> – имя DAS-сервера, задается строкой до 31 символа. |
9 | Сконфигуровать BRAS. | esr(config)# subscriber-control [ vrf <VRF> ] | <VRF> – имя экземпляра VRF, задается строкой до 31 символа, в рамках которого будет работать контроль пользователей. |
10 | Выбрать профиль серверов динамической авторизации (DAS), на которые будут приходить CoA-запросы от PCRF | esr(config-subscriber-control)# aaa das-profile <NAME> | <NAME> – имя профиля серверов динамической авторизации (DAS), задается строкой до 31 символа. |
11 | Выбрать профиль RADIUS-серверов для получения параметров сервисов пользователя | esr(config-subscriber-control)# aaa services-radius-profile <NAME> | <NAME> – имя профиля RADIUS-серверов, задается строкой до 31 символа. |
12 | Выбрать профиль RADIUS-серверов для получения параметров сессии пользователя. | esr(config-subscriber-control)# aaa sessions-radius-profile <NAME> | <NAME> – имя профиля RADIUS-серверов, задается строкой до 31 символа. |
13 | Определить IP-адрес маршрутизатора, который будет использоваться в качестве IP-адреса источника в отправляемых RADIUS пакетах. | esr(config-subscriber-control)# nas-ip-address <ADDR> | <ADDR> – IP-адрес источника, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
14 | Включить аутентификацию сессий по MAC-адресу (не обязательно). | esr(config-subscriber-control)# session mac-authentication | |
15 | Организовать прозрачное пропускание служебного трафика (DHCP, DNS и т.д.) на основе фильтров. | esr(config-subscriber-control)# bypass-traffic-a с l <NAME> | <NAME> – имя привязываемого ACL, задается строкой до 31 символа. |
16 | Перейти в режим конфигурирования сервиса по умолчанию. | esr(config-subscriber-control)# default-service | |
17 | Привязать указанный QoS-класс к сервису по умолчанию. | esr(config-subscriber-default-service)# class-map <NAME> | <NAME> – имя привязываемого класса, задается строкой до 31 символа. |
18 | Указать имя списка URL, который будет использоваться для фильтрации HTTP/HTTPS трафика не аутентифицированных пользователей. | esr(config-subscriber-default-service)# filter-name { local<LOCAL-NAME> | remote<REMOTE-NAME> } | <LOCAL-NAME> – имя профиля URL, задаётся строкой до 31 символа; <REMOTE-NAME> – имя списка URL на удаленном сервере, задаётся строкой до 31 символа. |
19 | Указать действия, которые должны быть применены для HTTP/HTTPS-пакетов, URL которых входит в список URL, назначенных командой «filter-name». | esr(config-subscriber-default-service)# filter-action<ACT> | <ACT> – назначаемое действие:
redirect <URL> – будет выполнен редирект на указанный URL, задается строкой до 255 символов. |
20 | Указать действия, которые должны быть применены для HTTP/HTTPS-пакетов, URL которых не входит в список URL, назначенных командой «filter-name». | esr(config-subscriber-default-service)# default -action<ACT> | <ACT> – назначаемое действие:
redirect <URL> – будет выполнен редирект на указанный URL, задается строкой до 255 символов. |
21 | Активировать профиль контроля пользователей. | esr(config-subscriber-control)# enable | |
22 | Изменить идентификатор сетевого интерфейса (физического, саб-интерфейса или сетевого моста) | esr(config-if)# location <ID> | <ID> – идентификатор сетевого интерфейса, задаётся строкой до 220 символов. |
23 | Включить контроль пользователей на интерфейсе. | esr(config-if-gi)# service-subscriber-control {any| object-group <NAME>} | <NAME> – имя профиля IP-адресов, задаётся строкой до 31 символа. |
24 | Включить перезапрос значения квоты при ее истечении для сервисов пользователя с настроенным ограничением по объему трафика или времени (не обязательно). | esr(config-subscriber-control)# quota-expired-reauth | |
25 | Включить аутентификацию сессий по IP-адресу. (не обязательно) | esr(config-subscriber-control)# session ip-authentication | |
26 | Включить прозрачное пропускание трафика в состоянии backup для BRAS (не обязательно). | esr(config-subscriber-control)# backup traffic-processing transparent | |
27 | Задать интервал, по истечении которого с устройства будут удалены неиспользуемые в текущий момент списки URL (не обязательно). | esr(config)# subscriber-control unused-filters-remove-delay <DELAY> | <DELAY> – временной интервал в секундах, принимает значения [10800..86400]. |
28 | Задать интервал, по истечении которого, если не было пакетов от пользователя, сессия считается устаревшей и удаляется с устройства (не обязательно). | esr(config-subscriber-default-service)# session-timeout <SEC> | <SEC> – период времени в секундах, принимает значения [120..3600]. |
29 | Определить VRRP-группу, на основе которой определяется состояние сервиса контроля абонентов (основной/резервный) (не обязательно). | esr(config-subscriber-control)# vrrp-group <GRID> | <GRID> – идентификатор группы VRRP-маршрутизатора, принимает значения [1..32]. |
30 | Определить с каких TCP-портов назначения трафик будет перенаправлен на HTTP Proxy-сервер маршрутизатора (не обязательно). | esr(config-subscriber-control)# ip proxy http listen-ports <NAME> | <NAME> – имя профиля TCP/UDP-портов, задаётся строкой до 31 символа. |
31 | Определить порт HTTP Proxy-сервера на маршрутизаторе (не обязательно). | esr(config-subscriber-control)# ip proxy http redirect-port <PORT> | <PORT> – номер порта, указывается в диапазоне [1..65535]. |
32 | Определить с каких TCP-портов назначения трафик будет перенаправлен на HTTPS Proxy-сервер маршрутизатора (не обязательно). | esr(config-subscriber-control)# ip proxy https listen-ports <NAME> | <NAME> – имя профиля TCP/UDP-портов, задаётся строкой до 31 символа. |
33 | Определить порт HTTPS Proxy-сервера на маршрутизаторе (не обязательно). | esr(config-subscriber-control)# ip proxy https redirect-port <PORT> | <PORT> – номер порта, указывается в диапазоне [1..65535]. |
34 | Определить IP-адрес маршрутизатора, который будет использоваться в качестве IP-адреса источника в отправляемых Proxy-сервером HTTP/HTTPS пакетах (не обязательно). | esr(config-subscriber-control)# ip proxy source-address <ADDR> | <ADDR> – IP-адрес источника, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
35 | Задать URL-адрес сервера, предоставляющего списки приложений для фильтрации трафика (не обязательно) | esr(config)# subscriber-control apps-server-url <URL> | <URL> – адрес ссылки, задаётся строкой от 8 до 255 символов. |
36 | Включить контроль приложений на интерфейсе (не обязательно) | esr(config-if-gi)# subscriber-control application-filter <NAME> | <NAME> – имя профиля приложений, задаётся строкой до 31 символа. |
37 | Установить/ сбросить верхнюю границу количества сессий BRAS (не обязательно) | esr(config-subscriber-control)# thresholds sessions-number high <Threshold>
| <Threshold> – количество сессий BRAS, [0-50000] – для ESR-1700
|
38 | Установить/ сбросить нижнюю границу количества сессий BRAS (не обязательно) | esr(config-subscriber-control)# thresholds sessions-number low <Threshold> | <Threshold> – количество сессий BRAS, [0-50000] – для ESR-1700
|
Пример настройки с SoftWLC
Задача:
Предоставлять доступ до ресурсов сети Интернет, только для авторизованных пользователей.
Рисунок 55 – Схема сети
Решение:
За хранение учетных данных пользователей и параметров тарифных планов отвечает сервер SoftWLC. Информацию по установке и настройке сервера SoftWLC можно найти по ссылкам ниже:
...
Блок кода |
---|
esr(config)# nat source esr(config-snat)# ruleset inet esr(config-snat-ruleset)# to interface gigabitethernet 1/0/1 esr(config-snat-ruleset)# rule 10 esr(config-snat-rule)# match source-address any esr(config-snat-rule)# action source-nat interface esr(config-snat-rule)# enable esr(config-snat-rule)# end |
Пример настройки без SoftWLC
Задача:
Настроить BRAS без поддержки SoftWLC.
Дано:
Подсеть с клиентами 10.10.0.0/16, подсеть для работы с FreeRADIUS-сервером 192.168.1.1/24
Решение:
Шаг 1:
Настройка RADIUS-сервера.
...
Cisco-AVPair += "subscriber:filter-default-action=permit"
Шаг 2:
Настройка ESR.
Для настройки функционала BRAS необходимо наличие лицензии BRAS.
...
Блок кода |
---|
esr # sh subscriber-control sessions status Session id User name IP address MAC address Interface Domain -------------------- --------------- --------------- ----------------- 1729382256910270473 Bras_user 10.10.0.3 54:e1:ad:8f:37:35 gi1/0/3.10 -- |
Настройка IPS/IDS
IPS/IDS (Intrusion Prevention System / Intrusion Det e c tion System) – система предотвращения вторжений – программная система сетевой и компьютерной безопасности, обнаруживающая вторжения или нарушения безопасности и автоматически защищающая от них.
...
По умолчанию на устройствах ESR установлен базовый набор правил от компании EmergingThreats предназначенный для тестирования и проверки работоспособности системы.
Алгоритм базовой настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Создать политику безопасности IPS/IDS. | esr(config)# security ips policy <NAME> | <NAME> – имя политики безопасности, задаётся строкой до 32 символов |
2 | Задать описание политики (не обязательно). | esr(config-ips-policy)# description <DESCRIPTION> | <DESCRIPTION> – описание задаётся строкой до 255 символов. |
3 | Задать профиль IP-адресов, которые будет защищать IPS/IDS. | esr(config-ips-policy)# protect network-group <OBJ-GROUP-NETWORK_NAME> | <OBJ-GROUP-NETWORK-NAME> – имя профиля защищаемых IP-адресов, задается строкой до 32 символов. |
4 | Задать профиль IP- адресов, внешних для IPS/IDS (не обязательно). | esr(config-ips-policy)# external network-group <OBJ-GROUP-NETWORK_NAME> | <OBJ-GROUP-NETWORK-NAME> – имя профиля внешних IP-адресов, задается строкой до 32 символов. |
5 | Перейти в режим конфигурирования IPS/IDS. | esr(config)# security ips | |
6 | Назначить политику безопасности IPS/IDS. | esr(config-ips)# policy <NAME> | <NAME> – имя политики безопасности, задаётся строкой до 32 символов |
7 | Использовать все ресурсы ESR для IPS/IDS. (не обязательно). | esr(config-ips)# perfomance max | По умолчанию для IPS/IDS отдается половина доступных ядер процессора. |
8 | Задать USB диск, для записи логов в формате EVE. (не обязательно). | esr(config-ips)# logging storage-device <DEVICE_NAME> | <DEVICE_NAME> имя usb накопителя. |
9 | Активировать IPS/IDS. | esr(config- ips )# enable | |
10 | Активировать IPS/IDS на интерфейсе. | esr(config-if-gi)# service-ips enable |
Алгоритм настройки автообновления правил IPS/IDS из внешних источников.
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Перейти в режим конфигурирования автообновлений. | esr(config-ips)# auto-upgrade | |
2 | Задать имя и перейти в режим конфигурирования пользовательского сервера обновлений. | esr(config-ips-auto-upgrade)# user-server <WORD> | <WORD> – имя сервера, задаётся строкой до 32 символов. |
3 | Задать описание пользовательского сервера обновлений. (не обязательно). | esr(config-ips-upgrade-user-server)# description <DESCRIPTION> | <DESCRIPTION> – описание задаётся строкой до 255 символов. |
4 | Задать URL. | esr(config-ips-upgrade-user-server)# url <URL> | <URL> – текстовое поле, содержащее URL-ссылку длинной от 8 до 255 символов. В качестве URL-ссылки может быть указан:
|
5 | Задать частоту проверки обновлений. (не обязательно). | esr(config-ips-upgrade-user-server)# upgrade interval <HOURS> | <HOURS> – интервал обновлений в часах, от 1 до 240. Значение по умолчанию: 24 часа |
Рекомендуемые открытые источники обновления правил
https://sslbl.abuse.ch/ | SSL Blacklist содержит списки «плохих» SSL сертификатов, т.е. сертификатов, в отношении которых устнановлен факт их использования вредоносным ПО и ботнетами. В списках содержатся SHA1 отпечатки публичных ключей из SSL сертификатов. |
https://feodotracker.abuse.ch/ | Feodo Tracker – список управляющих серверов для троянской программы Feodo. Feodo (также известный как Cridex или Bugat) используется злоумышленниками для кражи чувствительной информации в сфере электронного банкинга (данные по кредитным картам, логины/пароли) с компьютеров пользователей. В настоящее время существует четыре версии троянской программы (версии A, B, C и D), главным образом отличающиеся инфраструктурой управляющих серверов. |
https://rules.emergingthreats.net/open/suricata/rules/botcc.rules | Данные правила описывают известные ботнеты и управляющие сервера. Источники: Shadowserver.org, Zeus Tracker, Palevo Tracker, Feodo Tracker, Ransomware Tracker. |
https://rules.emergingthreats.net/open/suricata/rules/ciarmy.rules | Данные правила описывают вредоносные хосты по классификации проекта www.cinsarmy.com. |
https://rules.emergingthreats.net/open/suricata/rules/compromised.rules | Данные правила описывают известные скомпрометированные и вредоносные хосты. Источники: Daniel Gerzo’s BruteForceBlocker, The OpenBL, Emerging Threats Sandnet, SidReporter Projects. |
https://rules.emergingthreats.net/open/suricata/rules/drop.rules | Данные правила описывают спамерские хосты / сети по классификации проекта www.spamhaus.org. |
https://rules.emergingthreats.net/open/suricata/rules/dshield.rules | Данные правила описывают вредоносные хосты по классификации проекта www.dshield.org. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-activex.rules | Данные правила содержат сигнатуры использования ActiveX-контента. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-attack_response.rules | Правила, детектирующие поведение хоста после успешно проведенных атак. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-chat.rules | Данные правила описывают признаки обращения к популярным чатам. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-current_events.rules | Временные правила, ожидающие возможного включения в постоянные списки правил. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-dns.rules | Данные правила содержат сигнатуры уязвимостей в протоколе DNS, признаки использования DNS вредоносным ПО, некорректного использования протокола DNS. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-dos.rules | Данные правила содержат сигнатуры DOS-атак. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-exploit.rules | Данные правила содержат сигнатуры эксплойтов. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-ftp.rules | Данные правила содержат сигнатуры уязвимостей в протоколе FTP, признаки некорректного использования протокола FTP. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-games.rules | Данные правила описывают признаки обращения к популярным игровым сайтам: World of Warcraft, Starcraft и т.п. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-icmp.rules | Данные правила содержат сигнатуры некорректного использования протокола ICMP. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-icmp_info.rules | Данные правила содержат сигнатуры информационных ICMP-сообщений. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-imap.rules | Данные правила содержат сигнатуры уязвимостей в протоколе IMAP, признаки некорректного использования протокола IMAP. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-inappropriate.rules | Данные правила описывают признаки обращения к нежелательным ресурсам. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-info.rules | Данные правила содержат сигнатуры различных уязвимостей. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-malware.rules | Данные правила содержат сигнатуры вредоносного ПО, использующего в своей работе протокол HTTP. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-misc.rules | Данные правила содержат сигнатуры различных уязвимостей. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-mobile_malware.rules | Данные правила содержат сигнатуры вредоносного ПО для мобильных платформ. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-netbios.rules | Данные правила содержат сигнатуры уязвимостей в протоколе NetBIOS, признаки некорректного использования протокола NetBIOS. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-p2p.rules | Данные правила описывают признаки обращения к P2P-сетям (Bittorrent, Gnutella, Limewire). |
https://rules.emergingthreats.net/open/suricata/rules/emerging-policy.rules | Данные правила описывают нежелательную сетевую активность (обращение к MySpace, Ebay). |
https://rules.emergingthreats.net/open/suricata/rules/emerging-poprules | Данные правила содержат сигнатуры уязвимостей в протоколе POP3, признаки некорректного использования протокола POP3. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-rpc.rules | Данные правила содержат сигнатуры уязвимостей в протоколе RPC, признаки некорректного использования протокола RPC. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-scada.rules | Данные правила содержат сигнатуры уязвимостей для SCADA-систем. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-scan.rules | Данные правила описывают признаки активности, связанной с сетевым сканированием (Nessus, Nikto, portscanning). |
https://rules.emergingthreats.net/open/suricata/rules/emerging-shellcode.rules | Данные правила описывают признаки активности, связанной с попытками получить шелл-доступ в результате выполнения эксплойтов. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-smtp.rules | Данные правила содержат сигнатуры уязвимостей в протоколе SMTP, признаки некорректного использования протокола SMTP. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-sql.rules | Данные правила содержат сигнатуры уязвимостей для СУБД SQL. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-telnet.rules | Данные правила содержат сигнатуры уязвимостей для протокола telnet, признаки некорректного использования протокола telnet. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-tftp.rules | Данные правила содержат сигнатуры уязвимостей в протоколе TFTP, признаки некорректного использования протокола TFTP. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-trojan.rules | Данные правила содержат признаки сетевой активности троянских программ. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-user_agents.rules | Данные правила содержат признаки подозрительных и потенциально опасных HTTP-клиентов (идентифицируются по значениям в HTTP-заголовке User-Agent). |
https://rules.emergingthreats.net/open/suricata/rules/emerging-l.rules | Данные правила содержат сигнатуры уязвимостей в VOIP-протокола. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-web_client.rules | Данные правила содержат сигнатуры уязвимостей для веб-клиентов. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-web_server.rules | Данные правила содержат сигнатуры уязвимостей для веб-серверов. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-web_specific_apps.rules | Данные правила содержат сигнатуры эксплуатации уязвимостей веб-приложений. |
https://rules.emergingthreats.net/open/suricata/rules/emerging-worm.rules | Данные правила описывают признаки активности сетевых червей. |
Пример настройки IPS/IDS с автообновлением правил
Задача:
Организовать защиту локальной сети с автообновлением правил из открытых источников.
192.168.1.0/24 – локальная сеть
Решение:
Создадим профиль адресов локальной сети, которую будем защищать:
...
Блок кода |
---|
esr(config-ips)# auto-upgrade esr(config-auto-upgrade)# user-server ET-Open esr(config-ips-upgrade-user-server)# description «emerging threats open rules» esr(config-ips-upgrade-user-server)# url https://rules.emergingthreats.net/open/suricata-4.0/rules/ esr(config-ips-upgrade-user-server)# exit esr(config-auto-upgrade)# user-server Aggressive esr(config-ips-upgrade-user-server)# description «Etnetera aggressive IP blacklist» esr(config-ips-upgrade-user-server)# url https://security.etnetera.cz/feeds/etn_aggressive.rules esr(config-ips-upgrade-user-server)# upgrade interval 4 esr(config-ips-upgrade-user-server)# exit esr(config-auto-upgrade)# user-server SSL-BlackList esr(config-ips-upgrade-user-server)# description «Abuse.ch SSL Blacklist» esr(config-ips-upgrade-user-server)# url https://sslbl.abuse.ch/blacklist/sslblacklist.rules esr(config-ips-upgrade-user-server)# upgrade interval 4 esr(config-ips-upgrade-user-server)# exit esr(config-auto-upgrade)# user-server C2-Botnet esr(config-ips-upgrade-user-server)# description «Abuse.ch Botnet C2 IP Blacklist» esr(config-ips-upgrade-user-server)# url https://sslbl.abuse.ch/blacklist/sslipblacklist.rules esr(config-ips-upgrade-user-server)# upgrade interval 4 esr(config-ips-upgrade-user-server)# exit |
Алгоритм настройки базовых пользовательских правил
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Задать имя и перейти в режим конфигурирования набора пользовательских правил | esr(config)# security ips-category user-defined <WORD> | <WORD> – имя набора пользовательских правил, задаётся строкой до 32 символов. |
2 | Задать описание набора пользовательских правил (не обязательно). | esr(config-ips-category)# description <DESCRIPTION> | <DESCRIPTION> – описание задаётся строкой до 255 символов. |
3 | Создать правило и перейти в режим конфигурирования правила. | esr(config-ips-category)# rule <ORDER> | <ORDER> – номер правила, принимает значения [1..512]. |
4 | Задать описание правила (не обязательно) | esr(config-ips-category-rule)# description <DESCRIPTION> | <DESCRIPTION> – описание задаётся строкой до 255 символов. |
5 | Указать действие данного правила | esr(config-ips-category-rule)# action { alert | reject | pass | drop } |
|
6 | Установить имя IP-протокола, для которого должно срабатывать правило | esr(config-ips-category-rule)# protocol <PROTOCOL> | <PROTOCOL> – принимает значения any/ip/icmp/http/tcp/udp При указании значения «any» правило будет срабатывать для любых протоколов |
7 | Установить IP-адреса отправителя для которых должно срабатывать правило | esr(config-ips-category-rule)# source-address {ip <ADDR> | ip-prefix <ADDR/LEN> | object-group <OBJ_GR_NAME> | policy-object-group { protect | external } | any } | <<ADDR> – IP-адрес отправителя, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <ADDR/LEN> – IP-подсеть отправителя, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и LEN принимает значения [1..32]. < OBJ_GR_NAME> – имя профиля IP-адресов, который содержит ip адреса отправителя, задаётся строкой до 31 символа.
При указании значения «any» правило будет срабатывать для любого IP-адреса отправителя. |
8 | Установить номера TCP/UDP-портов отправителя, для которых должно срабатывать правило. Для значения protocol icmp, значение source-port может быть только any | esr(config-ips-category-rule)# source-port {any | <PORT> | object-group <OBJ-GR-NAME> } | <PORT> – номер TCP/UDP-порта отправителя, принимает значения [1..65535]. <OBJ_GR_NAME> – имя профиля TCP/UDP портов отправителя, задаётся строкой до 31 символа. При указании значения «any» правило будет срабатывать для любого TCP/UDP-порта отправителя. |
9 | Установить IP-адреса получателя для которых должно срабатывать правило | esr(config-ips-category-rule)# destination-address {ip <ADDR> | ip-prefix <ADDR/LEN> | object-group <OBJ_GR_NAME> | policy-object-group { protect | external } | any } | <<ADDR> – IP-адрес получателя, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <ADDR/LEN> – IP-подсеть получателя, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и LEN принимает значения [1..32]. < OBJ_GR_NAME> – имя профиля IP-адресов, который содержит ip адреса получателя, задаётся строкой до 31 символа.
При указании значения «any» правило будет срабатывать для любого IP-адреса получателя. |
10 | Установить номера TCP/UDP-портов получателя, для которых должно срабатывать правило. Для значения protocol icmp, значение destination-port может быть только any | esr(config-ips-category-rule)# destination-port {any | <PORT> | object-group <OBJ-GR-NAME> } | <PORT> – номер TCP/UDP-порта получателя, принимает значения [1..65535]. <OBJ_GR_NAME> – имя профиля TCP/UDP портов получателя, задаётся строкой до 31 символа. При указании значения «any» правило будет срабатывать для любого TCP/UDP-порта получателя. |
11 | Установить направление потока трафика, для которого должно срабатывать правило | esr(config-ips-category-rule)# direction { one-way | round-trip } |
|
12 | Определить сообщение которое IPS/IDS будет записывать в лог, при срабатывании этого правила | esr(config-ips-category-rule)# meta log-message <MESSAGE> | <MESSAGE> – текстовое сообщение, задаётся строкой до 129 символов. |
13 | Определить классификацию трафика, которая будет записывать в лог, при срабатывании этого правила (не обязательно) | esr(config-ips-category-rule)# meta classification-type { not-suspicious | unknown | bad-unknown | attempted-recon | successful-recon-limited | successful-recon-largescale | attempted-dos | successful-dos | attempted-user | unsuccessful-user | successful-user | attempted-admin | successful-admin | rpc-portmap-decode | shellcode-detect | string-detect | suspicious-filename-detect | suspicious-login | system-call-detect | tcp-connection | trojan-activity | unusual-client-port-connection | network-scan | denial-of-service | non-standard-protocol | protocol-command-decode | web-application-activity | web-application-attack | misc-activity | misc-attack | icmp-event | inappropriate-content | policy-violation | default-login-attempt } |
|
14 | Установить значение кода DSCP, для которого должно срабатывать правило (не обязательно). | esr(config-ips-category-rule)# ip dscp <DSCP> | <DSCP> – значение кода DSCP, принимает значения [0..63]. |
15 | Установить значение времени жизни пакета (TTL), для которого должно срабатывать правило (не обязательно). | esr(config-ips-category-rule)# ip ttl <TTL> | <TTL> – значение TTL, принимает значения в диапазоне [1..255]. |
16 | Установить номер IP-протокола, для которого должно срабатывать правило Применимо только для значения protocol any (не обязательно). | esr(config-ips-category-rule)# ip protocol-id <ID> | <ID> – идентификационный номер IP-протокола, принимает значения [1..255]. |
17 | Установить значения ICMP CODE, для которого должно срабатывать правило Применимо только для значения protocol icmp (не обязательно). | esr(config-ips-category-rule)# ip icmp code <CODE> | <CODE> – значение CODE протокола ICMP, принимает значение в диапазоне [0..255]. |
esr(config-ips-category-rule)# ip icmp code comparison-operator { greater-than | less-than } | Оператор сравнения для значения ip icmp code:
| ||
18 | Установить значения ICMP ID, для которого должно срабатывать правило Применимо только для значения protocol icmp (не обязательно). | esr(config-ips-category-rule)# ip icmp id <ID> | <ID> – значение ID протокола ICMP, принимает значение в диапазоне [0.. 65535]. |
19 | Установить значения ICMP Sequence-ID, для которого должно срабатывать правило Применимо только для значения protocol icmp (не обязательно). | esr(config-ips-category-rule)# ip icmp sequence-id <SEQ-ID> | <SEQ-ID> – значение Sequence-ID протокола ICMP, принимает значение в диапазоне [0.. 4294967295]. |
20 | Установить значения ICMP TYPE, для которого должно срабатывать правило Применимо только для значения protocol icmp (не обязательно). | esr(config-ips-category-rule)# ip icmp type <TYPE> | <TYPE> – значение TYPE протокола ICMP, принимает значение в диапазоне [0..255]. |
esr(config-ips-category-rule)# ip icmp type comparison-operator { greater-than | less-than } | Оператор сравнения для значения ip icmp type:
| ||
21 | Установить значения TCP Acknowledgment-Number, для которого должно срабатывать правило Применимо только для значения protocol tcp (не обязательно). | esr(config-ips-category-rule)# ip tcp acknowledgment-number <ACK-NUM> | <ACK-NUM> – значение Acknowledgment-Number протокола TCP, принимает значение в диапазоне [0.. 4294967295]. |
22 | Установить значения TCP Sequence-ID, для которого должно срабатывать правило Применимо только для значения protocol tcp (не обязательно). | esr(config-ips-category-rule)# ip tcp sequence-id <SEQ-ID> | <SEQ-ID> – значение Sequence-ID протокола TCP, принимает значение в диапазоне [0.. 4294967295]. |
23 | Установить значения TCP Window-Size, для которого должно срабатывать правило Применимо только для значения protocol tcp (не обязательно). | esr(config-ips-category-rule)# ip tcp window-size <SIZE> | <SIZE> – значение Window-Size протокола TCP, принимает значение в диапазоне [0.. 65535]. |
24 | Установить ключевые слова протокола HTTP, для которых должно срабатывать правило Применимо только для значения protocol http (не обязательно). | esr(config-ips-category-rule)# ip http { accept | accept-enc | accept-lang | client-body | connection | content-type | cookie | file-data | header | header-names | host | method | protocol | referer | request-line | response-line | server-body | start | start-code | start-msg | uri | user-agent } | Значение ключевых слов см в документации Suricata 4.X. https://suricata.readthedocs.io/en/suricata-4.1.4/rules/http-keywords.html |
25 | Установить значение ключевого слова URI LEN протокола HTTP, для которых должно срабатывать правило Применимо только для значения protocol http (не обязательно). | esr(config-ips-category-rule)# ip http urilen <LEN> | <LEN> – принимает значение в диапазоне [0.. 65535]. |
esr(config-ips-category-rule)# ip http urilen comparison-operator { greater-than | less-than } | Оператор сравнения для значения ip http urilen:
| ||
26 | Установить значение содержимого пакетов (Payload content), для которых должно срабатывать правило (не обязательно). | esr(config-ips-category-rule)# payload content <CONTENT> | <CONTENT> – текстовое сообщение, задаётся строкой до 1024 символов. |
27 | Не различать прописные и заглавные буквы в описании содержимого пакетов. Применимо только совместно с командой payload content (не обязательно). | esr(config-ips-category-rule)# payload no-case | |
28 | Установить сколько байтов с начала содержимого пакета будет проверено. Применимо только совместно с командой payload content (не обязательно). | esr(config-ips-category-rule)# payload depth <DEPTH> | <DEPTH> – число байт с начала содержимого пакета, принимает значение в диапазоне [1.. 65535]. По умолчанию проверяется все содержимое пакета. |
29 | Установить число байт смещения от начала содержимого пакета для проверки. Применимо только совместно с командой payload content (не обязательно). | esr(config-ips-category-rule)# payload offset <OFFSET> | <OFFSET> – число байт смещения от начала содержимого пакета, принимает значение в диапазоне [1.. 65535]. По умолчанию проверяется с начала содержимого. |
30 | Установить размер содержимого пакетов, для которых должно срабатывать правило. (не обязательно) | esr(config-ips-category-rule)# payload data-size <SIZE> | <SIZE> – размер содержимого пакетов, принимает значение в диапазоне [0.. 65535]. |
esr(config-ips-category-rule)# payload data-size comparison-operator { greater-than | less-than } | Оператор сравнения для значения payload data-size:
| ||
31 | Указать пороговое значение количества пакетов, при котором сработает правило (не обязательно) | esr(config-ips-category-rule)# threshold count <COUNT> | <COUNT> – число пакетов, принимает значение в диапазоне [1.. 65535]. |
32 | Указать интервал времени, для которого считается пороговое количество пакетов. (Обязательно если включен threshold count ) | esr(config-ips-category-rule)# threshold second <SECOND> | <SECOND> – интервал времени в секундах, принимает значение в диапазоне [1.. 65535]. |
33 | Указать по адресу отправителя или получателя будут считаться пороги. (Обязательно если включен threshold count ) | esr(config-ips-category-rule)# threshold track { by-src | by-dst } |
|
34 | Указать метод обработки пороговых значений | esr(config-ips-category-rule)# threshold type {threshold | limit | both } |
Сообщение будет генерироваться, если в течении интервала времени <SECOND> было <COUNT> или более пакетов подходящих под условия правила, и сообщение будет отправлено только один раз в течении интервала времени <SECOND> |
Пример настройки базовых пользовательских правил
Задача:
Написать правило для защиты сервера с IP 192.168.1.10 от DOS-атаки ICMP-пакетами большого размера.
Решение:
Создадим набор пользовательских правил:
...
Блок кода |
---|
esr(config-ips-category-rule)# threshold count 2340 esr(config-ips-category-rule)# threshold second 60 esr(config-ips-category-rule)# threshold track by-dst esr(config-ips-category-rule)# threshold type both |
Алгоритм настройки расширенных пользовательских правил
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Задать имя и перейти в режим конфигурирования набора пользовательских правил. | esr(config)# security ips-category user-defined <WORD> | <WORD> –имя набора пользовательских правил, задаётся строкой до 32 символов. |
2 | Задать описание набора пользовательских правил (не обязательно). | esr(config-ips-category)# description <DESCRIPTION> | <DESCRIPTION> –описание задаётся строкой до 255 символов. |
3 | Создать расширенное правило и перейти в режим его конфигурирования. | esr(config-ips-category)# rule-advanced <SID> | <SID> – номер правила, принимает значения [1.. 4294967295] |
4 | Задать описание правила (не обязательно) | esr(config-ips-category-rule-advanced)# description <DESCRIPTION> | <DESCRIPTION> –описание задаётся строкой до 255 символов. |
5 | Указать действие данного правила | esr(config-ips-category-rule-advanced)# rule-text <LINE> | <CONTENT> -текстовое сообщение в формате SNORT 2.X / Suricata 4.X, задаётся строкой до 1024 символов. При написании правил символ '' требуется заменить на символ ' |
Пример настройки расширенных пользовательских правил
Задача:
Написать правило детектирующее атаку типа Slowloris.
Решение:
Создадим набор пользовательских правил:
...
Блок кода |
---|
esr(config-ips-category)# rule-advanced 2 esr(config-ips-category-rule-advanced)# description «Slow Loris rule 2» esr(config-ips-category-rule-advanced)# rule-text «alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS (msg:'SlowLoris.py DoS attempt'; flow:established,to_server,no_stream; content:'X-a:'; dsize:<15; detection_filter:track by_dst, count 3, seconds 30; classtype:denial-of-service; sid: 10000002; rev:1; ) |
Настройка VoIP
VoIP (англ. Voice over IP) — набор протоколов, которые позволяют передавать речевую информацию посредством IP-сетей. В рамках данного устройства VoIP используется для подключения аналоговых телефонных аппаратов к IP-сети с возможностью совершения телефонных вызовов.
Процесс настройки SIP-профиля
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настройка SIP-профиля | esr(config)# sip profile <NUM> | <NUM> – номер SIP-профиля, задается в виде цифры от 1 до 5. |
2 | Настройка основного SIP proxy-сервера и сервера регистрации | esr(config-sip-profile)# proxy primary |
|
3 | Настройка адреса SIP proxy-сервера | esr(config-voip-sip-proxy)# ip address proxy-server <IP> | <IP> – IP-адрес proxy-сервера |
4 | Настройка порта SIP proxy-сервера | esr(config-voip-sip-proxy)# ip port proxy-server <PORT> | <PORT> – номер UDP-порта proxy-сервера, принимает значения [1..65535]. Если используется стандартный порт 5060, то его можно не указывать. |
5 | Настройка адреса сервера регистрации | esr(config-voip-sip-proxy)# ip address registration-server <IP> | <IP> – IP-адрес сервера регистрации. |
6 | Настройка порта сервера регистрации: | esr(config-voip-sip-proxy)# ip portregistration-server <PORT> | <PORT> – номер UDP-порта сервера регистрации, принимает значения [1..65535]. Если используется стандартный порт 5060, то его можно не указывать. |
7 | Активация регистрации | esr(config-voip-sip-proxy)# registration |
|
8 | Активация proxy-сервера и сервера регистрации: | esr(config-voip-sip-proxy)# enable |
|
9 | Настройка адреса сервера регистрации | esr(config-voip-sip-proxy)# ip address registration-server <IP> | <IP> – IP-адрес сервера регистрации. |
10 | Настройка порта сервера регистрации: | esr(config-voip-sip-proxy)# ip portregistration-server <PORT> | <PORT> – номер UDP-порта сервера регистрации, принимает значения [1..65535]. Если используется стандартный порт 5060, то его можно не указывать. |
11 | Указание SIP-домена, в котором находится устройство | esr(config-sip-profile)# sip-domain address <ADDRESS> | <ADDRESS> – SIP-домен, в котором находится устройство, задается ipv4-адресом или доменным именем. |
12 | Активация использования SIP domain при регистрации | esr(config-sip-profile)# sip-domain registration enable |
|
13 | Настройка SIP-профиля | esr(config)# sip profile <NUM> | <NUM> – номер SIP-профиля, задается в виде цифры от 1 до 5. |
14 | Назначение плана нумерации текущему SIP-профилю | esr(config-sip-profile)# dialplan pattern <DNAME> | <DNAME> – имя план нумерации, задается стройкой до 31 символа. |
15 | Активация SIP-профиля | esr(config-sip-profile)# enable |
|
Процесс настройки FXS/FXO-портов
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Переход в режим конфигурирования FXO/FXS-портов | esr(config)# interface voice-port <NUM> | <NUM> – номер порта, принимает значение от 1 до 4. |
2 | Назначение абонентского номера, закрепленного за телефонным портом | esr(config-voice-port-fxs)# sip user phone <PHONE> | <PHONE> – абонентский номер, закрепленный за телефонным портом, задается до 50 символов. |
3 | Назначение имя пользователя, сопоставленное с портом | esr-12v(config-voice-port-fxs)# sip user display-name <LOGIN> | <LOGIN> – имя пользователя, которое отображается в поле Display-Name, задается стройкой до 31 символа. |
4 | Выбор SIP-профиля для конкретного порта. | esr(config-voice-port-fxs)# profile sip <PROFILE> | <PROFILE> – номер SIP-профиля, задается от 1 до 5. |
5 | Настройка логина для аутентификации | esr(config-voice-port-fxs)# authentication name <LOGIN> | <LOGIN> – логин для аутентификации, задается строкой до 31 символа |
6 | Настройка пароля для аутентификации | esr(config-voice-port-fxs)# authentication password <PASS> | <PASS> – пароль для аутентификации, задается строкой до 16 символов. |
7 | Активация FXO-порта | esr(config)# interface voice-port <NUM> | <NUM> – номер FXO-порта принимает значение от 1 до 4. |
8 | Назначение абонентского номера, закрепленного за телефонным портом | esr(config-voice-port-fxo)# sip user phone <PHONE> | <PHONE> – абонентский номер, закрепленный за телефонным портом. |
9 | Указание UDP-порта, с которого и на который FXO-комплект будет отправлять и принимать SIP-сообщения | esr(config-voice-port-fxo)# sip port <PORT> | <PORT> – номер UDP-порта. |
10 | Назначение имени пользователя, сопоставленное с портом | esr(config-voice-port-fxo)# sip user display-name <LOGIN> | <LOGIN> – имя пользователя, которое отображается в поле Display-Name, задается строкой до 31 символа. |
11 | Настройка логина для аутентификации | esr(config-voice-port-fxo)# authentication name <LOGIN>
| <LOGIN> – логин для аутентификации, задается строкой до 31 символа. |
12 | Настройка пароля для аутентификации | esr(config-voice-port-fxo)# authentication password <PASS> | <PASS> – пароль для аутентификации, задается строкой до 16 символов. |
13 | Разрешение передачи номера в ТфОП | esr(config-voice-port-fxo)# pstn transmit-number |
|
14 | Запретить передачу префикса | esr(config-voice-port-fxo)# no pstn transmit-prefix |
|
15 | Активация услуги «Hostline PSTN to IP» | esr(config-voice-port-fxo)# hotline ipt |
|
16 | Номер абонента, который будет получать вызовы с ТфОП | esr(config-voice-port-fxo)# hotline number ipt <PHONE> | <PHONE> – номер телефона, на который осуществляется вызов при использовании услуги, принимает значение от 1 до 50. «Горячая/Теплая линия» в направлении из аналоговой телефонной линии в VoIP. |
Процесс настройки плана нумерации
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Создание плана нумерации | esr(config)# dialplan pattern <DNAME> | <DNAME> – имя плана нумерации, задается строкой до 31 символа. |
2 | Добавление правил нумерации | esr(config-dial-ruleset)# pattern <REGEXP> | <REGEXP> – регулярное выражение, задающее план нумерации. Задаётся строкой до 1024 символов. Правила составления регулярных выражений описаны в разделе 1.8.7 ESR-Series. Описание функционала. Версия 1.8.7. Пример настройки плана нумерации. |
3 | Активация плана нумерации | esr(config-dial-ruleset)# enable |
Процесс настройки PBX-сервера
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настройка PBX-сервера | esr(config)# pbx |
|
2 | Включение PBX-сервера | esr(config-pbx)# enable |
|
3 | Создание плана маршрутизации | esr(config-pbx)# ruleset <rule_name> | <rule_name> – имя плана маршрутизации, задается строкой до 31 символа. |
4 | Создание правила маршрутизации | esr(config-pbx-ruleset)# rule <rule_index> | <rule_index> – номер правила в плане маршрутицации, принимает значение от 1 до 1000. |
5 | Создание паттерна в правиле маршрутизации | esr(config-pbx-rule)# pattern <REGEXP> | <REGEXP> – регулярное выражение, задающее правило маршрутизации. Задаётся строкой до 256 символов. Правила составления регулярных выражений описаны в разделе 1.8.7 ESR-Series. Описание функционала. Версия 1.8.7.Пример настройки плана нумерации. |
6 | Применение правила маршрутизации | esr(config-pbx-rule)# enable |
|
7 | Создание SIP - профиля на PBX – сервере | esr(config-pbx)# profile <PROFILE> | <PROFILE> – имя SIP профиля, используемого PBX – сервером, задается строкой до 31 символа. |
8 | Выбор кодека, поддерживаемого SIP - профилем | esr(config-pbx-profile)# codec allow { G711A(alaw) | G711U(ulaw) | G722 | G726 } |
|
9 | Выбор типа SIP - профиля | esr(config-pbx-profile)# client { peer | user | friend } |
|
10 | Выбор политики взаимодействия с NAT (не обязательно) | esr(config-pbx-profile)# nat { comedia | force-port | both } |
|
11 | Выбор плана машрутизации, связанного с SIP - профилем | esr(config-pbx-profile)# ruleset <NAME> | <NAME> – Имя плана маршрутизации, задается строкой до 31 символа. |
12 | Создание абонента | esr(config-pbx)# user <user> | <user> – номер телефона или имя пользователя, задается строкой до 31 символа. |
13 | Создание пароля для абонента (не обязательно) | esr(config-pbx-user)# password <password> | <password> – пароль, который будет использоваться пользоватлем для аутентификации, задается строкой до 16 символов. |
14 | Применение SIP - профиля для абонента | esr(config-pbx-user)# profile <SIPPROFILE> | <SIPPROFILE> – SIP - профиль, используемый для данного абонента, задается строкой до 31 символа. |
Процесс создания транка регистрации
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настройка PBX-сервера | esr(config)# pbx | |
2 | Создание транка | esr(config-pbx)# register-server <name> | <name> – имя транка, задается строкой до 31 символа. |
3 | Настройка адреса серверара гистрации | esr(config-pbx-reg-server)# ip address <IP> | <IP> – адрес сервера, на котором происходит регистрация, может принимать значение IP адреса или задаваться строкой до 31 символа. |
4 | Настройка порта сервера регистрации | esr(config-pbx-reg-server)# ip port <PORT> | <PORT> – номер UDP-порта сервера регистрации, принимает значения [1..65535]. Если используется стандартный порт 5060, то его можно не указывать. |
5 | Задание аутентификационного имени | esr(config-pbx-reg-server)# username <user> | <user> – имя пользователя для этого транка на вышестоящем домене, задается строкой до 31 символа. |
6 | Задание аутентификационного пароля | esr(config-pbx-reg-server)# authentication password <password> | <password> – пароль для этого гранка на вышестоящем домене, задается строкой до 16 символов. |
7 | Применение SIP - профиля для транка | esr(config-pbx-reg-server)# profile <PROFILE> | <PROFILE> – имя SIP профиля, используемое для данного транка, задается строкой до 31 символа. |
8 | Выбор транспортного протокола (не обязательно ) | esr(config-pbx-reg-server)# protocol {tcp | udp } | По умолчанию используется udp. |
9 | Активация транка | esr(config-pbx-reg-server)# enable |
|
Пример настройки VoIP
Задача:
Подключить аналоговые телефонные аппараты и факс-модемы к IP-сети посредством маршрутизатора ESR. В качестве proxy-сервера и сервера регистрации выступает SIP-сервер, находящийся на ESR.
Решение:
Рисунок 56 – Схема сети
...
Создать план нумерации, см. раздел 1.8.7 ESR-Series. Описание функционала. Версия 1.8.7. Пример настройки плана нумерации.
Далее созданный план маршрутизации, необходимо присвоить SIP-профилю:
...
Якорь | ||||
---|---|---|---|---|
|
Пример настройки плана нумерации
Задача:
Настроить план нумерации так, чтобы вызовы на локальных (подключенных к данному ESR-12V) коммутировались локально, а вызовы на все остальные направления через SIP-proxy.
Решение:
Создать план нумерации:
Блок кода |
---|
esr(config)# dialplan pattern firstDialplan |
...
- Замена набранной последовательности
Синтаксис: <arg1:arg2>
Данная возможность позволяет заменить набранную последовательность на любую последовательность набираемых символов. При этом второй аргумент должен быть указан определённым значением, оба аргумента могут быть пустыми.
- Пример: (<83812:> XXXXXX) – данная запись будет соответствовать набранным цифрам 83812, но эта последовательность будет опущена и не будет передана на SIP-сервер.
- Вставка тона в набор
При выходе на межгород (в офисных станциях – на город) привычно слышать ответ станции, что можно реализовать вставкой запятой в нужную позицию последовательности цифр.- Пример: (8, 770) – при наборе номера 8770 после цифры 8 будет выдан непрерывный тон.
- Запрет набора номера
Если в конце шаблона номера добавить восклицательный знак ‘!’, то набор номеров, соответствующих шаблону, будет заблокирован.- Пример: (8 10X xxxxxxx ! | 8 xxx xxxxxxx ) – выражение разрешает набор только междугородних номеров и исключает международные вызовы.
- Замена значений таймеров набора номера
Значения таймеров могут быть назначены как для всего плана нумерации, так и для определённого шаблона. Буква «S» отвечает за установку «Interdigit Short Timer» , а «L» – за «Interdigit Long Timer» . Значения таймеров может быть указано для всех шаблонов в плане нумерации, если значения перечислены до открывающейся круглой скобки.- Пример: S4 (8XXX.) или S4,L8 (XXX)
Если эти значения указаны только в одной из последовательностей, то действуют только для неё. Также в этом случае не надо ставить двоеточие между ключом и значением таймаута, значение может быть расположено в любом месте шаблона. - Пример: (S4 8XXX. | XXX) или ([1-5] XX S0) – запись вызовет мгновенную передачу вызова при наборе трехзначного номера, начинающегося на 1,2, … , 5.
- Пример: S4 (8XXX.) или S4,L8 (XXX)
- Набор по прямому адресу (IP Dialing)
Символ «@», поставленный после номера, означает, что далее будет указан адрес сервера, на который будет отправлен вызов на набранный номер. Рекомендуется использовать «IP Dialing», а также приём и передачу вызовов без регистрации (« Call Without Reg », « Answer Without Reg »). Это может помочь в случае отказа сервера.
Кроме того, формат адреса с IP Dialing может быть использован в номерах, предназначенных для переадресации звонков.
- Пример 1: ( 8 xxx xxxxxxx ) – 11-значный номер, начинающийся на 8.
- Пример 2: ( 8 xxx xxxxxxx | <:8495> xxxxxxx ) – 11-значный номер, начинающийся на 8, если введён семизначный, то добавить к передаваемому номеру 8495.
- Пример 3: (0[123] | 8 [2-9]xx [2-9]xxxxxx) – набор номеров экстренных служб, а так же некоторого странного набора междугородних номеров.
- Пример 4: (S0 <:82125551234>) – быстрый набор указанного номера, аналог режима «Hotline» на других шлюзах.
- Пример 5: (S5 <:1000> | xxxx) – данный план нумерации позволяет набрать любой номер, состоящий из цифр, а если ничего не введено в течение 5 секунд, вызвать номер 1000 (допустим, это секретарь).
- Пример 6: (8, 10x.|1xx@10.110.60.51:5060) – данный план нумерации позволяет набирать номера начинающиеся на 810 и содержащие как минимум одну цифру после "810". После ввода 8 будет выдан сигнал "ответ станции". А также набор трехзначных номеров, начинающихся на "1", Invite на которые будет отправлен на IP-адрес 10.110.60.51 и порт 5060.
- Пример 7: (S3 *xx#|#xx#|#xx#|*xx*x+#) – управление и использование ДВО.
Иногда может потребоваться совершать звонки локально внутри устройства. При этом, если IP-адрес устройства не известен или периодически изменяется, удобно использовать в качестве адреса сервера зарезервированное слово «{local}», что означает отправку соответствующей последовательности цифр на собственный адрес устройства. - Пример: (123@{local}) – вызов на номер 123 будет обработан локально внутри устройства.
Настройка FXO-порта
Задача:
Добавить возможность совершения вызова абонента ТфОП через FXO-порт ESR-12V.
Решение :
Активировать FXO-порт:
Блок кода |
---|
esr(config)# interface voice-port 4 |
...
Блок кода |
---|
esr(config-voice-port-fxo)# hotline number ipt 305 |
Проверка целостности
Проверка целостности подразумевает проверку целостности хранимых исполняемых файлов.
Процесс настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Запустить проверку целостности системы | esr# verify filesystem | detailed – детальный вывод информации в консоль. |
Пример конфигурации
Задача:
Проверить целостность файловой системы:
Решение:
Основной этап конфигурирования:
...
Блок кода |
---|
esr# verify filesystem Filesystem Successfully Verified |
Настройка архивации конфигурации маршрутизатора
На маршрутизаторах ESR предусмотрена функция локального и/или удаленного копирования конфигурации по таймеру или при применении конфигурации.
Процесс настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Перейти в режим настройки параметров резервирования конфигурации | esr(config)# archive | |
2 | Установить тип сохранения резервных конфигураций маршрутизатора | esr(config-ahchive)# type <TYPE> | <TYPE> – тип сохранения резервных конфигураций маршрутизатора. Принимает значения:
Значение по умолчанию: remote |
3 | Включить режим резервирования конфигурации по таймеру | esr(config-ahchive)# auto | |
4 | Включить режим резервирования конфигурации после каждого успешного применения конфигурации | esr(config-ahchive)# by-commit | |
5 | Указать путь для удаленного копирования конфигураций маршрутизатора | esr(config-ahchive)# path <PATH> | <PATH> - определяет протокол, адрес сервера, расположение и префикс имени файла на сервере |
6 | Задать период времени для автоматического резервирования конфигурации (не обязательно, актуально только для режима auto) | esr(config-ahchive)# time-period <TIME> | <TIME> – периодичность автоматического резервирования конфигурации, принимает значение в минутах [1..35791394]. |
7 | Задать максимальное количество локально сохраняемых резервных копий конфигураций | esr(config-ahchive)# count-backup <NUM> | <NUM> – максимальное количество локально сохраняемых резервных копий конфигураций. Принимает значения в диапазоне [1..100]. |
Пример конфигурации
Задача:
Настроить локальное и удаленное резервное копирование конфигурации маршрутизатора 1 раз в сутки и при успешном изменении конфигурации. Удаленные копии необходимо отправлять на tftp-сервер 172.16.252.77 в подпапку esr-example. Максимальное количество локальных копий – 30.
Решение:
Для успешной работы удаленной архивации конфигураций, между маршрутизатором и сервером должна быть организована IP-связность, настроены разрешения на прохождение tftp-трафика по сети и сохранения файлов на сервере.
Основной этап конфигурирования:
Перейти в режим конфигурирования резервного копирования конфигураций:
...
После применения данной конфигурации 1 раз в сутки и при каждом успешном изменении конфигурации маршрутизатора на tftp-сервер будет отправляться конфигурационный файл с именем вида "esr-exampleYYYYMMDD_HHMMSS.cfg". Также, на самом маршрутизаторе в разделе flash:backup/ будет создаваться файл с именем вида "config_YYYYMMDD_HHMMSS". Когда в разделе flash:backup/ накопится 30 таких файлов, при создании нового будет удаляться наиболее старый.
Часто задаваемые вопросы
Не удалось получить маршруты по BGP и/или OSPF , сконфигурированных в VRF . Соседство успешно устанавливается, но в записи маршрутов в RIB отказано
%ROUTING-W-KERNEL: Can not install route. Reached the maximum number of BGP routes in the RIB
Необходимо выделить ресурс RIB для VRF, по умолчанию он равен нулю. Делаем это в режиме конфигурирования VRF:Блок кода esr(config)# ip vrf <NAME> esr(config-vrf)# ip protocols ospf max-routes 12000 esr(config-vrf)# ip protocols bgp max-routes 1200000 esr(config-vrf)# end
- Закрываются сессии SSH/Telnet проходящие через маршрутизатор ESR.
Для поддержания сессии активной необходимо настроить передачу keepalive пакетов. Опция отправки keepalive настраивается в клиенте SSH, например, для клиента PuTTY раздел “Соединение”.
В свою очередь, на маршрутизаторе можно выставить время ожидания до закрытия неактивных сессий TCP (в примере выставлен 1 час):
Блок кода esr(config)# ip firewall sessions tcp-estabilished-timeout 3600
- На интерфейсе был отключен firewall ( ip firewall disable ), после внесения этого интерфейса в security zone , удаления из конфигурации ip firewall disable и применения изменений – доступ для активных сессий с данного порта не закрылся, согласно правилам security zone - pair .
Изменения в конфигурации Firewall будут действовать только для новых сессий, сброса активных сессий в Firewall не происходит. Отчистить активные сессии в firewall можно командой:
Блок кода esr# clear ip firewall session
- Не поднимается LACP на портах XG ESR-1000/1200/1500/1510/1700
По умолчанию на port-channel режим speed 1000M, необходимо выставить speed 10G.
Блок кода esr(config)# interface port-channel 1 esr(config-port-channel)# speed 10G
- Как полностью очистить конфигурация ESR, и как сбросить на заводскую конфигурацию?
Очистка конфигурации происходит путем копирования пустой конфигурации в candidate-config и применения его в running-config.
Блок кода esr# copy system:default-config system:candidate-config
Процесс сброса на заводскую конфигурацию аналогичен.
Блок кода esr# copy system:factory-config system:candidate-config
- Как привязать subinterface к созданным VLAN ?
При создании саб-интерфейса, VLAN создается и привязывается автоматически (прямая зависимость индекс sub – VID).
Блок кода esr(config)# interface gigabitethernet 1/0/1.100
После применения можно наблюдать информационные сообщения:
Блок кода 2016-07-14T012:46:24+00:00 %VLAN: creating VLAN 100
- Есть ли функционал в маршрутизаторах серии ESR для анализа трафика?
В маршрутизаторах серии ESR реализована возможность анализировать трафик на интерфейсах из CLI. Сниффер запускается командой monitor.
Блок кода esr# monitor gigabitethernet 1/0/1
- Как настроить ip prefix-list 0.0.0.0/0?
Ниже приведен пример конфигурации префикс листа, разрешающего прием маршрута по умолчанию.
Блок кода esr(config)# ip prefix-list eltex esr(config-pl)# permit default-route
- Проблема прохождения асинхронного трафика .
В случае организации сети с асинхронной маршрутизацией, Firewall будет запрещать "неправильный (ошибочный)" входящий трафик (не открывающий новое соединение и не принадлежащий никакому установленному соединению) из соображений безопасности.
Разрешающее правило в Firewall не решит поставленную задачу для подобных схем.
Решить задачу можно, отключив Firewall на входном интерфейсе:
Блок кода esr(config-if-gi)# ip firewall disable
- Как можно сохранить локальную копию конфигурации маршрутизатора?
Если необходимо скопировать текущую running или candidate -конфигурацию на самом маршрутизаторе – можно воспользоваться командой copy с указанием в качестве источника копирования "system:running-config" или " system:candidate-config", а в качестве назначения – файл в разделе "flash:data/"
Блок кода esr# copy system:candidate-config flash:data/temp.txt
Также, существует возможность копирования ранее сохраненных конфигурационных файлов (автоматически из раздела flash:backup/ или вручную из раздела flash:data/) в candidate-конфигурацию:
Блок кода esr# copy flash:data/temp.txt system:candidate-config esr# copy flash:backup/config_20190918_164455 system:candidate-config
Техническая поддержка
Для получения технической консультации по вопросам эксплуатации оборудования ООО «Предприятие «ЭЛТЕКС» Вы можете обратиться в Сервисный центр компании:
...