Руководство по настройке ПО на базе операционной системы Dionis NX C 1.2-10 Hand UTM (2015 год) - часть 2

 

  Главная      Книги - Разные     Руководство по настройке ПО на базе операционной системы (программной оболочки) Dionis NX C 1.2-10 Hand UTM (2015 год)

 

поиск по сайту            правообладателям  

 

   

 

   

 

содержание      ..      1      2      3      ..

 

 

 

Руководство по настройке ПО на базе операционной системы Dionis NX C 1.2-10 Hand UTM (2015 год) - часть 2

 

 

50
7.2.8.2
Динамическая маршрутизация
Имена полномочий
Описание
@droute-common.conf
Общие команды конфигурирования для ралич-
ных видов динамической маршрутизации
@droute-common.show
Получение информации об общих структурах
данных для динамической маршрутизации
@ospf.conf
Конфигурирование OSPF
@ospf.show
Получение информации OSPF
@bgp.conf
Конфигурирование BGP
@bgp.show
Получение информации BGP
@rip.conf
Конфигурирование RIP
@rip.show
Получение информации RIP
7.2.8.3
Мультикаст(multicast)-маршрутизация
Имена полномочий
Описание
@mroute.conf
Конфигурирование статической мультикаст-маршрутизации
@mroute.show
Получение информации о мультикаст-маршрутизации
@dvmrp.conf
Конфигурирование мультикаст-маршрутизации DVMRP
@igmp.conf
Конфигурирование мультикаст-маршрутизации IGMP
@pim.conf
Конфигурирование мультикаст-маршрутизации PIM
7.2.9
Журналирование и трассировка
Имена полномочий
Описание
@log.conf
Конфигурирование системных журналов
@log.oper
Действия (кроме конфигурирования) с системными журналами
@log.show
Получение информации о настройке системных журналов
@log.watcher
@trace.conf
Конфигурирование трассировки
@trace.oper
Действия (кроме конфигурирования) с трассировкой
@trace.show
Получение информации о настройке трассировки
@tcpdump.oper
Действия с анализатором трафика tcpdump
@mailer.conf
Конфигурирование почтового клиента
@mailer.oper
Действия (кроме конфигурирования) с почтовым клиентом
@mailer.show
Получение информации о настройке почтового клиента
7.2.10
Системные операции
Имена полномочий
Описание
@dip.oper
Операции с DIP-пакетами
51
Имена полномочий
Описание
@dip.show
Получение информации о DIP-пакетах
@data.oper
Действия со слотами данных, командами над
пакетами ОС и слотами данных (restore, os
bind, schedule rebind, schedule restore и т.д.)
(п. 46.2)
@data.show
Получение информации о слотах данных
@backup.oper
Команды создания резервной копии данных
(os data backup), безопасной резервной копии
(schedule backup) (п. 46.2)
@backup.show
Получение информации о резервных копиях
@boot.oper
Команды загрузки системы boot default, boot
fallback, boot experemental, и команда мигра-
ции на другой пакет ОС schedule migrate (п.
46.2)
@boot.show
Получение информации о параметрах загруз-
ки
@cluster.conf
Конфигурирование кластера (п. 45)
@cluster.oper
Действия с кластером (кроме конфигурирова-
ния)
@cluster.show
Получение информации о кластере
@host.conf
Общие настройки (времени, часового пояса,
имени узла) (п. 5.2), принудительной провер-
ки файловой системы на ошибки командой
schedule fsck (п. 47.2)
@host.show
Получение информации об общих настройках
системы
@schedule.show
Получение информации о действиях, которые
должны быть выполнены после перезагрузки
@hw.show
Получение информации об оборудовании
@account.conf
Настройка учетных записей
@account.passwd
Управление паролями учетных записей
@account.show
Получение информации об учетных записях
@account.passwd-hash
Получение информации о хешированном паро-
ле
@role.conf
Настройка ролей
@role.show
Получение информации о ролях
@poweroff.oper
Право выключения системы
@reboot.oper
Право перегружать систему
@conf.write
Право перезаписывать startup-config
@conf.show
Получение информации о startup-config
@watchdog.oper
Право использовать механизм сторожевого
таймера для обеспечения перезагрузки уда-
ленной системы (со старым конфигурацион-
ным файлом) в случае потери связи из-за оши-
бочного изменения настроек на этой удален-
ной системе
52
Имена полномочий
Описание
@file.oper
Право выполнения файловых операций
@file.net
Право выполнения сетевых операций с файла-
ми
@removable.oper
Право выполнения операций с внешними
устройствами (дисками)
@birq.conf
Право на конфигурирование балансировки
прерываний
7.2.10.1
Мандатные метки
Имена полномочий
Описание
@mcbc.conf
Использование мандатных меток МСВС в фильтрах (п. 8.3.6)
7.2.10.2
DiPool
Имена полномочий
Описание
@dipool.server
Пользовательский DiPool
@dipool.client.conf
Конфигурирование подключения к удаленному DiPool-сервера
@dipool.client.oper
Право получения образов с удаленного DiPool-сервера
@dipool.client.show
Право получения информации с удаленного DiPool-сервера
7.3
Команды управления полномочиями и ролями систе-
мы для учетных записей
Расширить права доступа учетной записи добавлением ей полномочий или ролей можно сле-
дующими командами:
DionisNX(accountivanov)# delegate @ospf.conf
DionisNX(accountivanov)# delegate myrole
Первая команда в примере добавляет учетной записи ivanov полномочия “@ospf.conf”, вторая
добавляет роль с именем “myrole”. Если учетная запись имела полномочия какой-либо роли, и
в ходе дальнейшей работы полномочия этой роли были изменены, то и учетная запись изменит
свои полномочия. Однако это изменение произойдет только после завершения текущей сессии и
открытия новой сессии для этой учетной записи.
Отменить определенные права доступа учетной записи можно командами:
DionisNX(accountivanov)# no delegate @ospf.conf
DionisNX(accountivanov)# no delegate myrole
Первая команда удаляет полномочия “@ospf.conf” из списка назначенных полномочий адми-
нистратора “ivanov”. Вторая команда удаляет роль “myrole” из списка назначенных данному ад-
министратору ролей администратора.
Существует команда для добавления администратору всех полномочий сразу.
53
DionisNX(accountivanov)# delegate *
Добавление всех существующих полномочий может понадобиться в случае, когда необходимо
создать администратора, обладающего большинством полномочий, за исключением небольшого
списка отдельных полномочий. Тогда администратору добавляются все существующие полномо-
чия, а затем из списка доступных полномочий исключаются те полномочия, которые не будут
доступны данному администратору. При добавлении всех полномочий следует учитывать, что об-
щий набор полномочий может быть изменен в случае обновления системы до новых версий (эти
новые версии могут включать в себя новые, не существующие в данной версии, полномочия).
При необходимости добавления учетной записи вновь появившихся полномочий следует либо
добавить их в явном виде, либо снова выполнить команду “delegate *“.
7.4
Управление ролями
Для перехода к конфигурированию роли следует выполнить команду (в режиме enable):
DionisNX# role <имя роли>
Если параметр соответствует существующей в системе роли, то произойдет переход к конфи-
гурированию этой роли. Если же параметр не соответствует существующей в системе роли, то в
системе будет создана новая роль с указанным именем, которая не будет иметь никаких полно-
мочий. После того, как будет произведен вход в режим конфигурирования роли, могут быть даны
команды добавления/удаления полномочий для этой роли, например:
DionisNX(myrole)# delegate @ospf.conf
DionisNX(myrole)# no delegate @ospf.conf
Первая из этих команд добавляет полномочия “@ospf.conf” роли myrole. Вторая из этих команд
исключает полномочия “@ospf.conf” из роли myrole. В качестве параметров в команде delegate
при конфигурировании роли могут быть указаны не полномочия, а уже существующие роли. На-
пример, при выполнении команды:
DionisNX(myrole)# delegate testrole
роль myrole получит все полномочия роли testrole, причем связь между ролями сохранится.
Это означает, что если для роли testrole полномочия будут расширены, то и роль myrole получит
новые полномочия роли testrole.
Кроме управления полномочиями роли, в системе существует несколько команд управления
ролью. В режиме конфигурирования роли можно добавить любое количество полномочий.
Команда:
DionisNX# no role <имя роли>
удаляет роль с именем . Если в качестве параметра задано значение “*“, то будут удалены
все роли системы.
Команда:
DionisNX# show role <имя роли>
54
показывает указанную роль , если она есть. Если в качестве параметра задано значение “*“,
то будут показаны все роли системы.
Команда:
DionisNX# clone role <имя роли-источника> <имя роли-получателя>
копирует роль-источник в роль-получатель, т.е. создает копию роли-источника с указанным
именем новой роли.
7.5
Отображение полномочий и зависимости полномочий
В системе часто имеются отдельные полномочия на конфигурирование какой-либо подсисте-
мы, на использование (в режиме enable) этой подсистемы и получение информации о подсистеме.
Целесообразно, чтобы учетная запись, имеющая полномочия на конфигурирование подсистемы,
по умолчанию имела права и на использование и получение информации о подсистеме. Таким об-
разом, в системе появляется зависимости между полномочиями — например, зависимости между
полномочиями conf, oper и show для подсистемы. Набор таких зависимостей определен в системе
по умолчанию. В системе существуют команды отмены таких зависимостей или создания новых
зависимостей, а также команды возврата всех зависмостей в состояние, заданное в системе по
умолчанию.
Как правило, зависимости полномочий, заданные по умолчанию, в наибольшей степени обес-
печивают удобство работы администратора. Изменять зависимости для полномочий администра-
тору следует с осторожностью и только в случае, если он точно понимает, с какой целью он
меняет зависимости, заданные по умолчанию.
Команда:
DionisNX# show capibility <имя полномочия>
Показывает указанные полномочия и те полномочия, которые включаются в данные полно-
мочия (зависят от них). Например, по умолчанию полномочия @log.conf включают полномочия
@log.oper и @log.show. После выполнения команды:
DionisNX# show capibility @log.conf
Будут отображены эти полномочия, а вслед за ним, отдельной строкой, зависимые полно-
мочия (т.е. @log.oper и @log.show). Если в качестве параметра команды “show capibility” зада-
но значение “*“, то будут показаны все полномочия системы и их зависимости. Команда”show
capibility”может использоваться с параметром “delegate”. В этом случае будут показаны только те
полномочия, у которых есть зависимости. Например, команда:
DionisNX# show capibility * delegate
отобразит список всех полномочий системы, имеющих зависимости, и сами эти зависмости.
Команда:
DionisNX# capibility <имя полномочия>
позволяет перейти в режим конфигурирования зависимостей полномочий. Сами полномочия,
зависимые от конфигурируемых полномочий, добавляются командами “delegate”. Зависимости
удаляются командами “no delegate”. Например, последовательность команд:
55
DionisNX# capibility @log.conf
DionisNX(log.conf)# no delegate @log.oper
удалит зависимость полномочий @log.oper от полномочий @log.conf.
Команда
DionisNX# clear capibility <имя полномочий>
Возвращает состояние всех зависимостей для полномочий в состояние, принятое в системе
по умолчанию. Если в качестве параметра задано значение “*“, то зависимости всех полномочий
возвращаются в состояние, принятое в системе по умолчанию.
Команда
DionisNX# no capibility <имя полномочий>
удаляет все существующие зависимости для полномочий . Если в качестве параметра задано
значение “*“, то удаляются зависимости всех полномочий.
56
57
8. Фильтрация
Подсистема фильтрации является базовым средством обеспечения безопасности сети и позво-
ляет управлять прохождением трафика через интерфейсы маршрутизатора, разрешая или запре-
щая передачу пакетов, удовлетворяющих указанным правилам отбора. Правила отбора объеди-
няются в IP-списки контроля доступа (ip access-list). Списки контроля доступа могут быть приме-
нены к конкретным интерфейсам (с учетом направления трафика), а также к маршрутизатору в
целом (с учетом логики маршрутизации).
Ниже приведена упрощенная схема движения пакета через фильтры
:
Рис. 8.1: Фильтрация
Название
Назначение
in
Входной фильтр интерфейса
nat
преобразование SNAT или DNAT
local_in
Внутренний фильтр для пакетов, направленных в систему
forward
Фильтр маршрутизации транзитных пакетов
local_out
Внутренний фильтр для сгенерированных в данной системе пакетов
out
Выходной фильтр интерфейса
8.1
Создание ip access-list
Для создания списка контроля доступа, в режиме configure необходимо выполнить команду ip
access-list <acl_name>, где <acl_name> - это имя создаваемого списка, например:
DionisNX(config)# ip accesslist mylist
После выполнения команды, задаются (или модифицируются) правила фильтрации этого спис-
ка. Каждое правило содержит критерии отбора трафика и может быть разрешающим (permit) или
запрещающим (deny). Все правила в списке выполняются последовательно, до первого совпа-
дения критериям отбора. Если ни одно из правил не удовлетворяет критериям, считается, что
выполняется разрешающее правило. Например:
DionisNX(configaclmylist)# permit icmp
DionisNX(configaclmylist)# permit tcp
DionisNX(configaclmylist)# permit udp
DionisNX(configaclmylist)# deny
58
В данном примере, разрешается прохождение пакетов трех протоколов (icmp/udp/tcp), а все
остальные протоколы запрещаются.
Для того, чтобы просмотреть правила отбора текущего редактируемого списка, следует вы-
полнить команду:
DionisNX(configaclmylist)# do show
При этом будут выведены все правила текущего списка. Каждая строка снабжена числовым
префиксом, указывающим позицию правила в списке.
Для того, чтобы удалить правило с конкретным номером, введите команду: no <номер прави-
ла> Например:
DionisNX(configaclmylist)# no 1
Для того, чтобы вставить новое правило в конкретную позицию, введите команду: <номер
правила> <правило> Например:
DionisNX(configaclmylist)# 1 permit src 192.168.0.0/24
DionisNX(configaclmylist)# do show
1 permit src 192.168.0.0/24
2 permit tcp
3 permit udp
4 deny
Удаление всего содержимого текущего списка может быть осуществлено командой: no all. Для
удаления списка, используется команда: no ip access-list <имя списка>.
Для просмотра информации о списках, существует две команды, доступные из enable режима.
show ip access-list <acl_name|*> config
Информация о действующей конфигурации
show ip access-list <acl_name|*>
Низкоуровневая информация из ядра ОС
Если в командах имя списка задано как *, будет показана информация о всех списках.
Например (из режима configure):
DionisNX(config)# do show ip accesslist mylist config
8.2
Привязка ip access-list
Создание списка контроля доступа не означает, что список начинает действовать. Для того
чтобы начала действовать фильтрация в соответствии с правилами списка, список должен быть
привязан к интерфейсу и/или определенной цепочке в логике маршрутизации. Один и тот же
список может быть привязан к нескольким интерфейсам/цепочкам.
59
8.2.1
Привязка к интерфейсу
Для того, чтобы привязать список к интерфейсу, нужно войти в режим конфигурации интер-
фейса и выполнить команду (или команды) ip access-group <имя списка> <направление>
Под параметром <направление> понимается направление трафика относительно интерфейса.
Входящий трафик обозначается как in, а выходящий как out. Например:
DionisNX(config)# interface ethernet 0
DionisNX(configifethernet0)# ip accessgroup mylist in
DionisNX(configifethernet0)# ip accessgroup mylist out
Для удаления связи с интерфейсом, необходимо выполнить команду: no ip access-group <имя>
<направление>, например:
DionisNX(configifethernet0)# no ip accessgroup mylist out
DionisNX(configifethernet0)# do show
ip accessgroup mylist in
Иногда возникает необходимость фильтровать защищенный трафик (туннели DISEC/IPSEC).
Фильтрация такого рода трафика означает, что правила access-list должны применяться на паке-
ты, которые уже были расшифрованы после приема их на интерфейсе, или еще не были зашиф-
рованы, при их отправке через интерфейс. В этом случае для привязки фильтров применяется
команда: ip access-group-xfrm, синтаксис которой аналогичен ip access-group. Для удаления свя-
зи с интерфейсом, следует использовать команду no ip access-group-xfrm.
DionisNX(config)# interface ethernet 0
DionisNX(configifethernet0)# ip accessgroupxfrm mylist in
DionisNX(configifethernet0)# ip accessgroupxfrm mylist out
DionisNX(configifethernet0)# no ip accessgroupxfrm mylist out
DionisNX(configifethernet0)# do show
ip accessgroupxfrm mylist in
8.2.2
Привязка к цепочке обработки
Существует возможность привязать фильтр к внутренним цепочкам маршрутизатора. Для это-
го в режиме configure достаточно выполнить команды: ip access-group <имя> <цепочка>.
Где цепочка может принимать значения: local-in, local-out, forward, что соответствует цепоч-
кам прохождения пакета в
Например:
DionisNX(config)# ip accesslist mylist forward
8.3
Правила отбора
Выше были приведены примеры с очень простыми правилами отбора, фактически, единствен-
ным критерием задавался протокол датаграммы, или критерия не было вообще (deny). Списки
60
контроля доступа могут содержать правила с комбинацией различных критериев отбора, кото-
рые объединяются в логическое «и», что делает фильтры простым и мощным инструментом по
обеспечению безопасности в сети. Если какой-то из критериев не задан (например, не задан про-
токол датаграммы), то данному правилу отбора будут удовлетворять пакеты с любым значением
критерия(любые протоколы).
Полный список критериев находится в Полном списке команд, далее будут описаны
основные критерии.
8.3.1
Адреса источника и назначения
Для задания адресов источника используется параметр src после которого указывается сете-
вой адрес. Например:
permit tcp src 192.168.16.0/24
Адрес, содержащий маску, определяет сеть. Адрес с маской 32 или без задания маски опреде-
ляет адрес хоста. Если параметр src не задан, то правило отбора распространяется на датаграммы
с любым адресом источника.
Аналогично параметру источника, существует параметр адреса приемника dst, с таким же
синтаксисом:
permit tcp src 192.168.16.0/24 dst 10.0.0.1
deny
8.3.2
Порты источника и назначения
Если в критериях правила отбора указан протокол tcp или udp, то появляется возможность
задать критерий отбора по портам источника и/или назначения. Для задания портов источника
используется параметр: sport <port1> [port2]. Может быть задан как единственный порт <port1>,
так и диапазон портов <port1> <port2>. например:
deny tcp sport 1 1000
Для задания портов приемника используется параметр dport, с аналогичным синтаксисом.
deny tcp dport 22
8.3.3
Содержимое пакета
Существует возможность задания критерия по содержимому пакета. Для этого используется
параметр content <правило>. Где <правило> записывается на специальном языке, и позволяет
отслеживать содержимое байт/слов в пакете.
Все позиции байтов считаются с 0. В простейшем случае, правило выбирает 4 байта по задан-
ному смещению (start), применяет маску (mask) и сравнивает результат с попаданием в диапазон
61
(range). В таком случае правило принимает вид: start&mask=range. Где range задается как диа-
пазон (a:b) или значение (a).
Обычно нужно взять значение start меньшим на 3, чем позиция последнего байта, который
нам нужен. Так, если нужны байты 4 и 5 из заголовка IP (поле ID), то start должен быть 5-3 = 2.
mask убирает те байты, которые не нужны в критерии. Максимальная маска (которая означает
анализ всех 4-х байт) может быть равной 0xffffffff. Так, чтобы взять байты 4 и 5, отбросим байты
2 и 3, что соответствует маске 0x0000ffff. Таким образом правило будет выглядеть так:
permit content 2&0xFFFF=0x2:0x0100
Пример критерия, который отбирает пакеты длиной, большей 256. Общая длина пакета лежит
в байтах 2 и 3 IP датаграммы. Тогда стартовая позиция 3 - 3 = 0. Отбрасывая 2 байта получаем:
deny content 0&0xFFFF=0x100:0xFFFF
Пример критерия, основанного на выборке одного байта. Выберем байт TTL (смещение 8). 8
- 3 = 5, маска 0xff:
deny content 5&0xFF=0:3
Пример критерия, основанного на выборке четырех байт. Выберем IP-адрес назначения (бай-
ты 16-19). Маска не требуется:
permit content ”16=0xE0000001” remark ”224.0.0.1/32”
Если необходимо выбрать первые три байта (например, проверить сетевой адрес сети класса
C), то необходима маска 0xffffff00.
deny content ”12&0xFFFFFF00=0xC0A80F00” remark ”src 192.168.15.0/24”
Чтобы посмотреть на поле TOS (1 байт заголовка IP), невозможно начать с байта 1-3 = -2.
Нужно начать с байта 0, отбросить лишние байты и сдвинуть нужный байт в последнюю позицию.
Для сдвига используются команды « и ».
permit content ”0&0x00FF0000>>16=0x08” remark ”tos 8”
Пример анализа флага MF.
deny content ”3&0x20>>5=1”
Анализ TCP-заголовка. Допустим, необходимо анализировать байты
4-7
заголовка TCP
(sequence number). Для простоты, будем считать, что заголовок IP занимает 20 байт. Тогда кри-
терий будет выглядеть, например, так:
permit content 24=0x29
Однако, в этом примере не анализируется протокол. Добавим проверку протокола (логическое
«и»):
permit content ”6&0xFF=0x6 && 24=0x29”
Но размер IP-заголовка не всегда равен 20 байтам, поэтому необходимо еще доработать пра-
вило отбора. Специальный оператор @ позволяет использовать значение последнего выражение
как стартовую позицию нового.
Для того, чтобы взять размер заголовка, необходим байт 0>>24, но нужны только 4 бита,
умноженные на 4, то есть: 0>>22&0x3C. Теперь необходимо, чтобы это выражение стало новым
смещением. Для этого и нужен оператор @:
62
permit content ”6&0xFF=0x6 && 0>>22&0x3C@4=0x29”
Еще один, более сложный, пример. Проверка на TCP, проверка на первый фрагмент или
нефрагментированный пакет, проверка, что 4-7 байты TCP заголовка равны 41:
permit content ”6&0xFF=0x6 && 4&0x1FFF=0 && 0>>22&0x3C@4=0x29”
Пример проверки соответствия пакета сообщению ICMP Host Unreachables (ICMP, type 3, code
1).
permit content ”6&0xFF=1 && 4&0x1FFF=0 && 0>>22&0x3C@0>>16=0x0301”
8.3.4
Списки недавних пакетов
В системе существует возможность создавать правила относительно накопленной информа-
ции о предшествующих пакетах, для этого используется критерий recent.
Для работы с критерием recent, вводится понятие списка недавних пакетов (ip recent-list).
Каждый такой список идентифицируется по имени и заполняется динамически с помощью крите-
рия recent <имя> set, например:
DionisNX(configaclping)# permit icmp recent pings set
В данном случае, пакеты с протоколом icmp будут допущены к маршрутизации, при этом
информация о пакетах (исходный адрес датаграммы и время) будет заноситься в список pings.
Каждый список может сохранять до 1024 записей (адресов), в каждой записи может храниться
информация о 20 последних пакетов.
Критерий recent может быть использован для проверки наличия записи в списке недавних
пакетов. Для этого используется критерий: recent <имя> update|check.
Так, в следующем примере:
DionisNX(configaclping)# permit tcp dport ssh recent pings update
DionisNX(configaclping)# drop tcp dport ssh
Пакет, направляемый на порт службы ssh будет пропущен только в том случае, если ранее от
хоста источника были получены icmp-пакеты.
Полный синтаксис критерия recent:
recent <имя списка> <операция> [аргументы]
Операции:
Название
Назначение
set
Добавить информацию о пакете в список
remove
Удалить информацию о пакете в список
check
Проверить информацию о пакете в списке
update
Проверить информацию о пакете в списке и обновить временную метку
Возможные аргументы для операции set:
63
Название
Назначение
dest
Запоминать адрес назначения, а не адрес источника
Возможные аргументы для операции remove:
Название
Назначение
dest
Работать относительно адреса назначения, а не адреса источника
Возможные аргументы для операций check и update:
Название
Назначение
dest
Проверять адрес назначения, а не адрес ис-
точника
seconds <число>
Проверять запись не старее заданного числа
секунд
hitcount <число>
Проверять запись, число пакетов в которой
больше или равно заданного числа
rttl
Проверять корректность ttl (соответствие ttl
пакета с информацией в записи из списка)
Для работы с списками ip recent-list используются следующие команды в режиме enable:
Команда
Параметры
Назначение
show ip recent list
<* или имя списка> [IP ад-
Просмотреть информацию о
рес]
записях в recent списках
clear ip recent list
<* или имя списка> [IP ад-
Очистить информацию о запи-
рес]
сях в recent списках
8.3.5
Состояние соединения
Ядро содержит средства, обеспечивающие отслеживание состояния соединений и
классификацию пакетов с точки зрения принадлежности к соединениям, что позволяет осуществ-
лять полноценную фильтрацию трафика.
При этом, ядром поддерживаются следующие функции:
1. Отслеживание состояний отдельных соединений с тем, чтобы классифицировать каждый
пакет либо как относящийся к уже установленному соединению, либо как открывающий
новое соединение. При этом понятие «состояние соединения» искусственно вводится для
протоколов, в которых оно изначально отсутствует (UDP, ICMP). При работе же с протокола-
ми, поддерживающими состояния (например, TCP), активно используется эта возможность.
2. Отслеживание связанных соединений, например, ICMP-ответов на TCP- и UDP-пакеты.
В правилах отбора следует использовать критерий state для того, чтобы использовать инфор-
мацию о состоянии соединения. При этом, можно указывать 4 состояния.
64
Название
Смысл
invalid
Пакет связан с неизвестным потоком или со-
единением и, возможно, содержит ошибку в
данных или в заголовке
established
Состояние указывает на то, что пакет принад-
лежит уже установленному соединению, че-
рез которое пакеты идут в обоих направлени-
ях
new
Пакет открывает новое соединение или пакет
принадлежит однонаправленному потоку.
related
Пакет принадлежит уже существующему со-
единению, но при этом он открывает новое со-
единение.
В качестве примера, рассмотрим правила фильтрации для внешнего сетевого интерфейса,
разрешающие только исходящие соединения (соединения из внутренней сети во внешнюю сеть).
DionisNX(config)# ip accesslist wan
DionisNX(configaclwan)# permit established
DionisNX(configaclwan)# permit related
DionisNX(configaclwan)# deny
8.3.6
Мандатные метки МСВС и Astra Linux
Существует возможность задавать в критериях отбора диапазон мандатных меток пакетов,
которые используются в ОС МСВС 3.0 и Astra Linux. Для этого используется критерий maclabel,
который задает диапазон уровней мандатной метки, а также может содержать диапазон катего-
рий.
Для задания диапазона уровней используется конструкция:
<минимальный уро-
вень>:<максимальный уровень>, например:
DionisNX(config)# ip accesslist mac
DionisNX(configaclmac)# permit maclabel level 0:2
DionisNX(configaclmac)# deny
Если в качестве диапазона задано одно значение, то метка проверяется на совпадение со
значением.
Для отрицания диапазона , можно использовать символ ~, например:
DionisNX(config)# ip accesslist mac
DionisNX(configaclmac)# permit maclabel level ~0
DionisNX(configaclmac)# deny
Аналогично, для задания диапазона категорий, используется параметр category.
DionisNX(config)# ip accesslist mac
DionisNX(configaclmac)# permit maclabel level 0 category 0:ffff
DionisNX(configaclmac)# deny
65
Значения диапазона категорий задаются в шестнадцатеричной форме, для отрицания исполь-
зуйте символ ~.
DionisNX(config)# ip accesslist mac
DionisNX(configaclmac)# deny maclabel level ~0 category ~0
8.3.7
Другие критерии отбора
Синтаксис других критериев отбора описан в списке команд
, ниже приводятся неко-
торые из них.
Название параметра
Критерий
connlimit
Ограничение числа соединений с одного кли-
ента(или из сети)
syn
syn флаг в TCP-пакете
mac
MAC-адрес источника
tos
Значение TOS
dscp
Значение DSCP
datestart,datestop,timestart,timestop,monthdays,
Время
8.3.8
Протоколирование
Существует возможность протоколирования факта выполнения выбранных правил фильтра-
ции. Для этого необходимо указать параметр: log [all]. Необязательный параметр all указывает
на необходимость протоколирования полного тела пакета, а не только заголовка.
deny tcp dport 22 log
Настройка подсистемы протоколирования и выборка из журнала рассмотрены в соответству-
ющей главе.
8.3.9
Комментарии
Администратор может комментировать отдельные правила отбора с помощью параметра
remark, например:
deny tcp dport 22 log remark ”Stop port scanning”
8.4
Другие правила списков контроля доступа
Кроме запрета и разрешения трафика (permit/deny), правила в списках могут содержать сле-
дующие действия:
66
Название правила
Параметры
Действие
call
access-list
Передать управление на дру-
гой access-list с возвратом
goto
access-list
Передать управление на дру-
гой access-list без возврата
log
правила отбора
Протоколировать пакет, не
выполняя запрета/разреше-
ния
67
9. Многоадресная передача
Система может использоваться для организации многоадресной передачи (далее МП) на
уровне IP-стека TCP/IP.
МП используется в тех случаях, когда по сети необходимо передавать нескольким пользова-
телям одну и ту же информацию. Такая потребность может возникнуть, например, при распро-
странении через IP-сеть телевизионного или радиосигнала, при организации телеконференций
или селекторных совещаний. В этом случае можно не открывать отдельные соединения с каждым
клиентом сети, с тем чтобы передавать по ним одинаковую информацию, а рассылать IP-пакеты
без лишнего дублирования, но так, чтобы их получали все клиенты.
В
можно настраивать динамическую и статическую маршрутизацию.
В данном подразделе МП будет рассматриваться на основе динамической многоадресной
маршрутизации(далее ММ).
Основные понятия МП:
• передача пакетов: пакеты МП рассылаются не отдельным узлам, а группе узлов;
• адресация группы: группа определяется одним групповым IP-адресом класса D в диапазоне
224.0.0.0-239.255.255.255:
- 224.0.0.0/8 - зарезервированные IANA-адреса;
- 232.0.0.0/8 - глобальное адресное пространство для МП, специфичной для конкретно-
го источника (SSM, реализован в IGMPv3);
- 233.0.0.0/8 - глобальное адресное пространство GLOP для групп внутри автономных
систем (232.AA.AA.GG, где AAAA - 16 бит, включающих номер AS, GG номер группы в
AS);
- 239.0.0.0/8 - локальное адресное пространство для закрытых (частных) сетей; аналог
LAN одноадресного пространства адресов;
• адрес источника не может быть адресом класса D;
• членство в группе: узлы сети могут входить в группу МП (далее группу) и выходить из нее
по своему желанию;
• адресность: многоадресные датаграммы (далее МД) посылаются группе и только члены
этой группы получают их.
Организация МП в
осуществляется тремя протоколами:
• управление группами при помощи протокола IGMPv3 (Протокол управления группами Ин-
тернет, версия 3);
• маршрутизация МД при помощи протокола DVMRP (Дистанционно-векторный протокол мно-
гоадресной маршрутизации);
• маршрутизация МД при помощи протокола PIM-SM (Независимая от протокола многоадрес-
ная передача (Разреженный режим)).
Рассмотрим вкратце механизм МП:
68
• исходный сетевой узел (например узел,транслирующий видеофильм) посылает МД на груп-
повой адрес А (например по UDP- или RTP-протоколу);
• сетевые узлы назначения (клиенты, желающие смотреть данный видеофильм) сообщают
маршрутизатору по протоколу IGMP о желании присоединиться к группе А;
• маршрутизатор при получении МД определяет, нужно ли ее пересылать дальше (протокол
DVMRP или PIM);
• если МД нужно пересылать дальше, маршрутизатор определяет, на какой именно интер-
фейс ее послать, чтобы она быстрее достигла получателей (протокол DVMRP или PIM) из
группы А.
Основные особенности протокола IGMP:
• служит для обмена информацией о членстве в группах между IP-маршрутизаторами, под-
держивающими МП, и членами групп;
• узлы сами сообщают маршрутизаторам о своем членстве в группах (IGMP-сообщение
REPORT);
• узлы сами сообщают маршрутизаторам о выходе из группы (IGMP-сообщение LEAVE);
• состояние членства узлов в группах периодически проверяется маршрутизаторами, поддер-
живающими МП (IGMP-сообщение QUERY)
Основные особенности протокола DVMRP:
• относится к внутренним протоколам маршрутизации, пригодным для использования в пре-
делах автономной системы;
• обеспечивает эффективный механизм доставки МД хостам,входящим в группы, без органи-
зации соединений;
• использует сообщения протокола IGMP для обмена информацией с другими маршрутизато-
рами,поддерживающими МП.
Эффективность маршрутизации в протоколе DVMRP осуществляется путем использования ал-
горитма RPM (Reverse Path Multicasting):
• динамически генерирует деревья групповой доставки МД;
• если в зоне ответственности маршрутизатора нет членов группы, тогда маршрутизатор от-
секает ненужные ветки дерева рассылки (pruning);
• сохраняет информации о пути возврата к отправителю МД (передача маршрутов).
Основные особенности протокола PIM-SM:
• используется для сетей с произвольным рассредоточением пользователей с ограниченной
пропускной способностью сетевых каналов;
• эффективная поддержка работы «рассеянных» мультикастинг-групп: группы из разных ав-
тономных систем, находящихся на разных континентах;
• построение дерева маршрутов, разветвляющегося как можно ближе к получателям МД;
• передача трафика идет только по явному запросу.
69
9.1
Общие сведения о настройке многоадресной маршру-
тизации
В
системе имеется возможность настраивать:
• статическую ММ: командой ip mroute;
• динамическую ММ на основе IGMPv2: командой router igmp;
• динамическую ММ на основе DVMRP (с поддержкой IGMPv3): командой router dvmrp;
• динамическую ММ на основе PIM-SM (с поддержкой IGMPv3): командой router pim.
Одновременно в системе может быть только одна из четырех типов настроек.
9.2
Настройка протокола DVMRP
Данная настройка включает также поддержку протокола IGMPv3, нужного для работы DVMRP.
Включение ММ на основе DVMRP осуществляется командой:
(config)# router dvmrp
Если данная команда успешно выполнилась, по умолчанию все доступные для МП интрефейсы
НЕ будут участвовать в МП.
Чтобы интерфейс участвовал в МП необходимо выполнить команду
(configdvmrp)# iface ethernet 0
Это включит интерфейс ethernet0 в участие в МП и ММ.
9.2.1
Настройка параметров интерфейсов
Рассмотрим настройки на примере интерфейса ethernet0. Для настройки параметров интер-
фейса сначала нужно войти в конфигурацию соответствующего интерфейса:
(config)# router dvmrp
(configdvmrp)# iface ethernet 0
Основные параметры МП, которые могут быть настроены для интерфейсов:
• метрика: задает стоимость прохождения МД через данный интерфейс;
• порог TTL: минимальное значение IP TTL для МД, нужное для прохода этой МД через данный
интерфейс;
• пропускная способность многоадресного трафика.
Чтобы настроить метрику для интерфейса, следует выполнить команду:
70
(configdvmrpethernet0)# metric 1
Для метрики следует устанавливать как можно меньшее значение, т.к. максимально сумма
всех метрик маршрута МД в сети не может превышать 31. По умолчанию: 1.
Чтобы настроить порог TTL для интерфейса, следует выполнить команду:
(configdvmrpethernet0)# threshold 5
По умолчанию: 1.
Чтобы настроить максимальную пропускную способность многоадресного трафика для интер-
фейса, следует выполнить команду:
(configdvmrpethernet0)# rate 100
Значение задается в Кбит/сек. Для снятия ограничения установите значение 0 (неограничен-
но) или удалите команду.
По умолчанию: неограниченно.
Если интерфейс получает МД из разных удаленных подсетей и необходимо,чтобы интерфейс
обслуживал МП для этих подсетей, следует описать эти подсети следующей командой:
(configdvmrpethernet0)# subnet 10.0.0.0/24
Полностью запретить ММ на интерфейсе можно с помощью следующей команды:
(configdvmrpethernet0)# disable
9.2.2
Настройка ограничений
Обычно настройки порога TTL, приведенные в предыдущем подразделе, используются для
достижения следующих целей:
• ограничить время жизни МД;
• уменьшить трафик из-за ограничений пропускной способности сети;
• уменьшить трафик для целей повторного использование адресов и приватности.
Для третьей цели лучше подходит использование не ограничения по полю TTL, а назначение
определённого группового адреса как административной границы (далее АГ). Интерфейс, которо-
му назначена АГ, не будет принимать и передавать МД, направленные адресам, принадлежащими
АГ.
АГ определяется следующим интервалом групповых адресов: 239.0.0.0-239.255.255.255. Эти
адреса могут быть использованы и назначены только внутри автономных систем, где гарантиру-
ется их уникальность.
Рассмотрим пример назначения АГ интерфейсу:
(configdvmrp)# boundary bo1 239.255.1.0/24
(configdvmrpethernet0)# bound bo1
(configdvmrpethernet0)# bound 239.255.2.0/24
71
Эти команды определяют для интерфейса ethernet0 две АГ 239.255.1.0/24 и 239.255.2.0/24.
Любой трафик МП с адресами назначения, соответствующим указанным границам, не разрешён
к передаче через данный интерфейс в обоих направлениях.
9.2.3
Настройка протоколирования
Для включения режима протоколирования динамической ММ следует выполнить команду:
(configdvmrp)# log <TYPE>
Параметр TYPE задает тип протоколируемой информации и может принимать следующие зна-
чения:
• packet : входящие/исходящие пакеты;
• prune : отсечение маршрутов;
• route : маршрутизационные сообщения;
• route-details : более детальная информация о маршрутизации;
• peer : взаимодействие соседей (маршрутизаторов) между собой;
• route-cache : кэширование маршрутов;
• timeout : таймауты;
• interface : виртуальные интерфейсы;
• group : группы;
• mtrace : многоадресный traceroute;
• igmp : IGMP-сообщения;
• icmp : ICMP-сообщения;
• rsrr : RSRR-сообщения;
• default : igmp,route,route-cache,prune,peer,interface,group информация;
• all : все перечисленные типы информации.
9.3
Настройка протокола PIM
Далее под протоколом PIM будем понимать этот протокол в режиме SM (Sparse mode). Данная
настройка включает также поддержку протокола IGMPv3, нужного для работы PIM.
Рассмотрим основные понятия протокола:
• режим SM протокола PIM - используется для сетей с произвольным рассредоточением поль-
зователей с ограниченной пропускной способностью сетевых каналов;
• PIM-маршрутизатор - маршрутизатор,например
, поддерживающий протокол PIM;
• PIM-домен - набор смежных PIM-маршрутизаторов, сконфигурированных для совместной
работы в рамках границ, определенных пограничными маршрутизаторами PMBR, соединя-
ющими PIM-домен с остальным Интернет;
• PMBR-маршрутизатор - пограничный PIM-маршрутизатор; размещается на границе PIM-
домена и взаимодействует с другими типами мультикаст-маршрутизаторов;
72
точка встречи (RP) - PIM-маршрутизатор разветвления маршрута для потока данных; каж-
дая мультикаст-группа должна иметь RP; RP выбираются динамически, либо назначаются
статически; отправители используют RP для объявления о своем существовании, а получа-
тели, чтобы узнать о новых отправителях путем посылки Join PIM-сообщений;
дерево кратчайших маршрутов (SPT) - описывает кратчайший путь от RP к источнику МД;
обозначается как (S,G) - для каждой пары источник(S)-группа(G) строится свое SPT;
дерево точки встречи (RPT): дерево кратчайших маршрутов от RP к получателям МД; обо-
значается как (*,G) - т.к. строится вне зависимости от адреса источника S, а только в
зависимости от группы G;
RPF - Маршрутизация Обратного Пути: МД пересылается на все интерфейсы, кроме того, с
которого пришел, только если источник МД доступен через интерфейс получения данной
МД (есть маршрут к источнику через интерфейс получения);
выделенный маршрутизатор (DR) выбирается (по приоритету и затем по максимальному IP-
адресу) из маршрутизаторов,подсоединенных к одной и той же сети с МП; он ответственен
за посылку сообщений Join,Prune,Register к RP в данном сегменте сети; выбирается для
того,чтобы только он передавал МД данной группы в данную сеть,что бы избежать дубли-
рования пакетов;
NHR - ближайший к получателю PIM-маршрутизатор;
NHS - ближайший к источнику PIM-маршрутизатор;
вышестоящий маршрутизатор - маршрутизатор, расположенный ближе к источнику МД;
нижестоящий маршрутизатор - маршрутизатор, расположенный ближе к получателю МД;
BSR - маршрутизатор, отвечающий за рассылку bootstrap сообщений; содержит полный
список C-RP домена,который рассылается по домену на адрес 224.0.0.13; должен быть хотя
бы один BSR, иначе информация о C-RP будет неизвестна маршрутизаторам сети;
C-RP - кандидат в RP-маршрутизаторы; среди маршрутизаторов,объявленных как C-RP, про-
исходит выбор RP по приоритету и затем по величине IP-адреса;
C-BSR - кандидат в BSR-маршрутизаторы; среди маршрутизаторов,объявленных как C-BSR,
происходит выбор BSR по приоритету и затем по величине IP-адреса;
основные PIM-сообщения (юникастные):
- Join - присоединение маршрутизатора к дереву маршрутов; сообщение посылает-
ся,если пакет получен на интерфейсе, прошедшем проверку RPF и есть локально при-
соединенные хосты или нижестоящие маршрутизаторы, желающие получать трафик
данной группы;
- Prune - отсоединение маршрутизатора от дерева маршрутов; сообщение посылает-
ся,если пакет получен на интерфейсе, не прошедшем проверку RPF и/или нет локаль-
но присоединенных хостов или нижестоящих маршрутизаторов, желающих получать
трафик данной группы.
- Register - сообщение посылается, когда источник отправляет данные группе в первый
раз, его DR посылает это сообщение, в которое вкладывает МД источника
- Register-stop - сообщение от RP к DR, в котором говорится,что не нужно больше ин-
капсулировать МД в Register-сообщение, т.к.:
* в случае если есть получатели МД данной группы: на RP уже передается МД от
источника по SPT, построенного после получения Register сообщения;
* нет получателей МД данной группы;
- Candidate-RP-Advertisement - C-RP периодически высылает в адрес BSR данное со-
общение об обслуживаемых группах; BSR собирает эти данные и распространяет их
73
далее по PIM-домену в сообщении bootstrap;
- bootstrap - сообщения, которые воспринимаются всеми PIM-маршрутизаторами для
получения RP-информации (о том, какие RP отвечают за какие группы) и для ди-
намического выбора BSR-маршрутизатора; это многоадресные сообщения на адрес
224.0.0.13 (All-PIM-routers).
Таким образом:
• каждая мультикаст-группа должна иметь хотя бы один C-RP;
• PIM-SM-домен должен иметь хотя бы один C-BSR, если только все маршрутизаторы домена
не имеют статически заданной информации о RP всех доменов;
• каждая подсеть должна иметь хотя бы один DR.
Рассмотрим подробнее алгоритм работы PIM-SM:
Фаза 1. Выбор кратчайшего маршрута.
1. пусть хост посылает IGMP-Join-сообщение J1 на DR, который не является RP для указанной
в сообщении группы G1;
2. DR отправителя шлет сообщение J1 по направлению к RP для группы G1 («upstream»), он
определяет это из последнего присланного от BSR bootstrap-сообщения;
3. каждый PIM-маршрутизатор, через который проходит сообщение J1, записывает, что суще-
ствуют члены группы J1 на входящем интерфейсе;
4. в результате J1 доходит либо до RP, либо до другого маршрутизатора, за которым есть
члены группы;
5. если сообщения сходятся в RP и есть много членов группы G1, то эти сообщения Join форми-
руют RPT, на основе информации от DR получателей, в результате образуются эффективные
короткие маршруты пересылки МД к получателям
6. DR отправителя начинет посылку МД, вкладывая МД-данные источника МД в юникаст-пакет
PIM Register и посылая данный PIM Register на RP группы;
7. RP группы, получив пакет PIM Register, дэинкапсулирует МД из пакета и посылает его по
сформированному на основе RPT маршруту.
Фаза 2. Повышение эффективности и скорости посылки.
1. получив PIM Register, RP выбирает SPT к отправителю, в результате чего МД больше не
нужно регистрировать на RP и, как следствие, инкапсулировать в PIM Register;
2. RP отправляет PIM RegisterStop сообщение в ответ на следующее инкапсулированное сооб-
щение от DR отправителя.
3. DR, получив PIM RegisterStop сообщение, прекращает регистрацию/инкапсуляцию МД и
посылает нулевое Register-сообщение, которое является вопросом к RP: «Все еще не тре-
буются Register-сообщения?»;
4. если RP отвечает на нулевое Register сообщение сообщением RegisterStop, то DR начинает
посылку оригинальных (неинкапсулированных) МД;
5. если DR не получает другого RegisterStop сообщения в течение некоторого периода време-
ни, то DR продолжает посылать Register сообщения.
74
6. как только RP начинает получать оригинальные МД от источника, RP начинает перенаправ-
лять их по кратчайшему RPT-маршруту к получателям.
Фаза 3. Выбор более оптимального маршрута.
1. когда DR получателя получает МД от отправителя, этот DR отправляет Join сообщение по
направлению к отправителю;
2. когда DR отправителя получает указанное Join сообщение, этот DR начинает посылать МД
напрямую к получателю;
3. таким образом формируется SPT для множества получателей;
4. когда МД приходят из SPT-маршрута на DR получателя или на общий для SPT и RPT маршру-
тизатор, то данный маршрутизатор начинает отбрасывать пакеты от RPT и посылает сообще-
ния PIM Prune на RP, чтобы отсечь RPT-маршруты, т.к. уже сформирован путь к получателям
в обход RP.
Рассмотрим пример МП посредством PIM-SM (см. рис. 9.1).
Рис. 9.1: Схема МП PIM-SM
1. предположим,что все PIM-маршрутизаторы уже имеют информацию о расположении RP и
поддерживаемых ими групп (посредством bootstrap-сообщений или путем статического на-
значения RP на PIM-маршрутизаторах);
2. SRC - источник начинает трансляцию группы G;
3. NHS - ближайший к источнику PIM-маршрутизатор регистрируется на RP (из п.1 он зна-
ет,какая RP отвечает за группу G);
4. RCV - получатель заявляет о желании получать трафик группы G: шлет IGMP сообщение
Join (*,G); его получает ближайший к RCV PIM-маршрутизатор NHR;
5. NHR - ближайший к получателю PIM-маршрутизатор шлет PIM-сообщение Join(*,G) в сторо-
ну RP;
6. RP шлет PIM-сообщение Join(S,G) в строну NHS;
7. построены деревья: SPT - между SRC и RP ; RPT - между RP и RCV
Включение ММ на основе PIM осуществляется командой:
(config)# router pim
В результате все доступные для МП интерфейсы НЕ будут участвовать в МП.
Чтобы интерфейс участвовал в МП необходимо выполнить команду
(configpim)# iface ethernet 0
Это включит интерфейс ethernet0 в участие в МП и ММ.
75
9.3.1
Глобальные настройки
iface <IFACE>
Добавляет интерфейс IFACE к участию в МП по протоколу PIM и входит в настройки интерфей-
са по части МП. Если не выполнить данную команду, указанный интерфейс не будет участвовать
в МП.
default-preference <VAL>
Задает приоритет маршрутизатора в выборе выделенного маршрутизатора (DR). Чем ниже
значение ,тем выше приоритет. По умолчанию: 101.
bsr-cand [LOCAL_IP] [PRIO]
Устанавливает параметры C-BSR. Данная система
объявляется как кандидат в BSR.
Параметры:
• LOCAL_IP - один из локальных IP-адресов; по умолчанию: выбирается максимальный IP-
адрес;
• PRIO - приоритет C-BSR; указывает насколько важен данный кандидат при выборе; чем
ниже значение,тем выше приоритет.
По умолчанию: 255
rp-cand [LOCAL_IP] [period TIME] [priority PRIO]
Устанавливает параметры C-RP данной системы. Данная система
объявляется как
кандидат в RP.
Параметры:
• LOCAL_IP - один из локальных IP-адресов; по умолчанию: выбирается максимальный IP-
адрес;
• PRIO - приоритет C-RP; указывает насколько важен данный кандидат при выборе; чем ниже
значение,тем выше приоритет;
• TIME - период времени между посылками PIM-сообщения Candidate-RP-Advertisement (сооб-
щает BSR об RP); данное PIM сообщение ,будучи полученным,воспринимается только BSR
для обновления знания об RP-узлах и поддерживаемы ими группах.
По умолчанию: приоритет: 0, период: 60сек.
group <IP/MSK>
Задает группу, за которую будет отвечать данная C-RP. Имеет смысл,только если указана
команда rp-cand-команда.
rp-static <IP> <GRP> [PRIO]
Задает статически C-RP и поддерживаемую ей группу.
Параметры:
• IP - IP-адрес RP;
76
• GRP - многоадресная группа, которую обслуживает указанная RP;
• PRIO - приоритет C-RP; указывает насколько важен данный кандидат при выборе; чем ниже
значение,тем выше приоритет.
При использовании rp-static необходимо задать ее на каждом PIM-маршрутизаторе.
По умолчанию: приоритет: 0.
log <all|default>
Включает лог:
• default - лог IGMP- и PIM-сообщений
• all - самый подробный лог.
tree-switch-threshold [rate RATE] [interval TIME]
Устанавливает порог перехода с RPT на SPT для DR- и RP-маршрутизаторов.
Параметры:
• RATE - порог скорости трафика (байт/сек);
• TIME - интервал проверки RATE.
Если сообщения Register приходят на RP со скоростью выше RATE, RP шлет DR-сообщение
RegisterStop и добавляет SPT-маршрут для передачи МД от источника.
Если сообщения Register приходят на NHR со скоростью выше RATE, DR также переходит на
SPT-маршрут.
По умолчанию: rate: 6250 байт/сек; time: 20сек.
9.3.2
Настройка параметров интерфейса
Рассмотрим настройки на примере интерфейса ethernet0. Для настройки параметров интер-
фейса сначала нужно войти в конфигурацию соответствующего интерфейса:
(config)# router pim
(configpim)# iface ethernet 0
Чтобы настроить приоритет для интерфейса выполните команду
(configpimethernet0)# preference 1
По умолчанию: значение указанное в default-preference. Приоритет влияет на выбор данного
маршуртизатора как DR для данной сети LAN. Чем меньше данное значение, тем более вероятен
выбор данного маршрутизатора как DR. При наличии параллельных проходов к источнику или
RP для выбора маршрута применяются сообщения Assert. Используя сообщения Assert, адресо-
ванные 224.0.0.13 (группа all-pim-routers) в локальной сети, вышестоящий маршрутизатор может
узнать, где осуществляется переадресация сообщений. Нижестоящие маршрутизаторы, получая
сообщения Assert, узнают, какой маршрутизатор выбран в качестве DR, и куда следует посылать
сообщение Join.
Чтобы настроить порог TTL для интерфейса выполните команду
77
(configpimethernet0)# threshold 5
По умолчанию: 1. Команда задает минимальное значение IP TTL, требуемое для пересылки
МД через данный интерфейс.
Если интерфейс должен обслуживать МП из разных удаленных подсетей, опишите эти подсети
следующей командой:
(configpimethernet0)# subnet 10.0.1.0/24
Если не указывать данной команды, то данный интерфейс будет обслуживать трафик только
первичной подсети (заданной командой ip address в настройках интерфейса).
Чтобы запретить распространение МД указанной группы через интерфейс выполните коман-
ду:
(configpimethernet0)# boundary 239.0.0.0/24
В данном случае запрещается передача МД группе 239.0.0.0/24. Команду рекомендуется ис-
пользовать на PMBR-маршрутиазторах для создания границ распространения МД определенных
групп.
Следующей командой вы можете полностью запретить МП на интерфейсе
(configpimethernet0)# disable
Это равносильно удалению интерфейса из конфигурации router pim, однако в данном случае
все прочие настройки интерфейса сохраняются,что более удобно, если в дальнейшем потребуется
вновь включить интерфейс.
9.3.3
Пример настройки
Рис. 9.2: Пример стенда PIM-SM
Пусть вещателя SRC и клиента RCV разделяет сеть из 3х маршрутизаторов (см. рис. 9.2). SRC
вещает на группу 239.0.0.1/32. На схеме eN - обозначается интерфейс ethernetN, где N - его
номер. Возможный упрощенный вариант настройки представлен далее.
Настройки NHS:
NHS(configpim)# iface ethernet0
NHS(configpim)# iface ethernet1
NHS работает как обычный PIM-маршрутизатор.
Настройки RP:
78
RP(configpim)# iface ethernet2
RP(configpim)# iface ethernet3
RP(configpim)# rpcand
RP(configpim)# bsrcand
RP(configpim)# group 239.0.0.1/32
Настройки NHR:
RP(configpim)# iface ethernet4
RP(configpim)# iface ethernet5
RP(configpim)# rpcand
RP(configpim)# bsrcand
RP(configpim)# group 239.0.0.1/32
RP и NHR работают как C-RP и C-BSR.
9.4
Настройка протокола IGMP
Включение ММ на основе только IGMP (без протокола динамической ММ) осуществляется ко-
мандой:
(config)# router igmp
Если данная команда успешно выполнилась, по умолчанию все доступные для МП интрефейсы
НЕ будут участвовать в МП.
Чтобы интерфейс участвовал в МП, необходимо определить один входящий интерфейс МП и
один или более исходящих интерфейсов МП.
Определяем входящий интерфейс (интерфейс от источника многоадресного трафика):
(configigmp)# inputiface
(configigmpin)# iface gre 1
Определяем исходящий интерфейс (интерфейс к потенциальным слушателям многоадресного
трафика):
(configigmp)# outputiface ethernet 0
Если в результате каких-либо настроек ММ на основе IGMP включится, будучи до этого выклю-
ченной (из-за недостаточных настроек), будет выведено сообщение: «Info: [igmp] igmp multicast
routing enabled»
Если в результате каких-либо настроек ММ на основе IGMP выключится, будучи до этого
включенной, будет выведено сообщение: «Info: [igmp] igmp multicast routing disabled»
9.4.1
Настройка интерфейса
Рассмотрим настройки интерфейса на примере исходящего интерфейса ethernet0:
79
(config)# router igmp
(configigmp)# iface ethernet 0
Чтобы настроить порог TTL для интерфейса, следует выполнить команду
(configigmpoutethernet0)# threshold 5
МД с TTL меньше указанного будут отбрасываться. По умолчанию: 1.
Чтобы настроить максимальную пропускную способность многоадресного трафика для интер-
фейса, следует выполнить команду
(configigmpoutethernet0)# rate 100
Значение задается в Кбит/сек. По умолчанию: неограниченно.
Данные опции возможны и для входящего интерфейса. Однако для него добавляется допол-
нительная опция.
Если входящий интерфейс должен обслуживать МП из разных удаленных подсетей, следует
описать эти подсети следующей командой:
(configigmpin)# subnet 10.0.0.0/24
9.4.2
Настройка протоколирования
Для включения протоколирования следует использовать следующую команду:
(configigmp)# log [debug]
Необязательный параметр debug задает более подробный протокол.
9.4.3
Пример
Рассмотрим пример настройки IGMP (см. рис 9.3).
Рис. 9.3: Схема МП на основе IGMP
В данном примере:
• src - это источник МП, с адреса 10.0.0.0/24;
• cli - получатель МП;
• nx1,nx2 - маршрутизаторы
;
• между src и nx1: интерфейс ethernet0 на nx1;
• между nx1 и nx2: интерфейс gre1 на nx1 и nx2;
80
• между nx2 и cli: интерфейс ethernet1 на nx2.
Настройка МП на основе двух igmp-маршрутизаторов
:
• настройки nx1:
(configigmp)# inputiface
(configigmpin)# iface ethernet 0
(configigmp)# outputiface gre 1
• настройки nx2:
(configigmp)# inputiface
(configigmpin)# iface gre 1
(configigmpin)# subnet 10.0.0.0/24
(configigmp)# outputiface ethernet 1
9.5
Настройка статической многоадресной маршрутиза-
ции
Статическая ММ возможна только при отключенной динамической ММ (отсутствуют команды
router pim, router igmp, router dvmrp).
Для настройки статического маршрута следует ввести команду:
(config)# ip mroute <IFACE_IN> <MC_SRC_IP> <GROUP_IP> <IFACE_OUT>{1,8}
Параметры:
• IFACE_IN : интерфейс, откуда приходят МД (должен иметь IP-адрес)
• MC_SRC_IP : IP-адрес источника МД
• GROUP_IP : групповой адрес
• IFACE_OUT : интерфейсы, куда должны направляться МД: может быть до 8 штук (должны
иметь IP-адреса)
9.6
Мониторинг работы многоадресной маршрутизации
Мониторинг работы многоадресной маршрутизации осуществляется командой show multicast
режима enable и ее подкомандами.
show multicast <log | routes | vifs | igmp | pim |dvmrp [groups|cache] | status>
Параметры:
81
• log - протоколы, в которых регистрируется работа МП;
• staus - информация о статусе работы динамической и статической МП;
• routes - таблица многоадресных маршрутов (для динамической и статической МП);
• vifs - таблица VIF-ов: интерфейсов используемых в МП (для динамической и статической
МП);
• igmp - IGMP-информация о МП;
• pim - PIM-информация о МП;
• dvmrp - DVMRP-информация о МП;
- groups - информация о группах DVMRP;
- cache - информация о маршрутах DVMRP.
VIF - это виртуальный интерфейс, участвующий в МП и который на самом деле отображается
на реальный интерфейс или локальный конец туннеля в системе.
82
83
10. NAT
NAT (Network Address Translation) — это механизм в сетях TCP/IP, позволяющий преобразо-
вывать IP-адреса в заголовках пакетов. См. рис. 10.1. Различают два типа NAT: SNAT - замена
адреса источника, и DNAT - замена адреса назначения.
SNAT используется для предоставления пользователям локальной сети с внутренними адреса-
ми доступа к внешней сети. DNAT используется для доступа из внешней к ресурсам внутренней.
Рис. 10.1: Механизм NAT
В системе NAT выполняется всегда на внешнем интерфейсе. При этом, SNAT начинает при-
меняться для исходящего трафика, а DNAT - для входящего.
Очевидно, что и при SNAT и при DNAT для разных направлений трафика меняются как ад-
реса источника, так и назначения. Например, в случае с преобразованием SNAT, исходящий с
внешнего интерфейса пакет будет подвергнут изменению - его адрес источника будет заменен.
При ответе, пакет также попадет в логику SNAT (для того, чтобы попасть во внутреннюю сеть),
однако логика сопоставления внутренних адресов выполняется один раз для всего потока, и это
происходит при выходе пакета с внешнего интерфейса.
Таким образом, преобразование SNAT для входящих во внешний интерфейс пакетов выполня-
ется только для пакетов уже установленных изнутри соединений. Аналогично, преобразование
DNAT для исходящих из внешнего интерфейса пакетов выполняется только если эти пакеты ассо-
циированы с установленным ранее соединением извне, подверженному преобразованию DNAT.
Следует иметь в виду, что если задано преобразования DNAT относительно какого-либо IP-
адреса назначения, предполагается, что сетевые пакеты с таким адресом назначения дойдут
до сетевого интерфейса. Чаще всего это означает необходимость задания дополнительного ip-
адреса (ip secondary-address) для интерфейса, с которым связано преобразование DNAT.
Для созданий правил трансляции NAT используются сп
иски NAT (ip nat-list).
Следует иметь в виду, что правила отбора в списках NAT применяются не для каждого пакета в
отдельности, а только для первого пакета, устанавливающего соединение. NAT-преобразования
пакетов выполняется только тогда, когда они принадлежат какому-либо соединению. Пакеты,
не попадающие ни в одно соединение, считаются некорректными и не будут подвержены NAT-
преобразованию.
84
10.1
Создание ip nat-list
Работа со списками NAT во многом совпадает с работой со списками контроля доступа. Так, для
создания (редактирования) списка NAT необходимо в режиме configure выполнить следующую
команду:
DionisNX(config)# ip natlist mynat
При этом, произойдет переход в режим редактирования списка. Список содержит набор NAT-
правил. Синтаксис правила выглядит следующим образом: nat <критерии отбора> <тип NAT>
[параметры NAT], где критерии отбора являются подмножеством критериев списков контроля
доступа и могут содержать:
Название
Значение
Протокол
IP-протокол потока
src
Адрес(а) источника потока
dst
Адрес(а) приемника потока
sport
Порт(ы) источника потока (для TCP и UDP)
dport
Порт(ы) приемника потока (для TCP и UDP)
Параметр <тип NAT> задает тип преобразования. Основные типы: snat, dnat или masquerade.
MASQUERADE - это такой тип SNAT, который меняет адрес источника пакета (при выходе с внеш-
него интерфейса) на текущий адрес интерфейса.
Для преобразований snat и dnat необходимо указать ip-адрес замены, для преобразования
masquerade этого не требуется. Например:
DionisNX(config)# ip natlist mynat
DionisNX(confignatmynat)# nat src 192.168.0.0/24 masquerade
DionisNX(confignatmynat)# nat tcp dport 80 dnat ip 192.168.0.1
Для работы с элементами списка можно использовать числовые префиксы, также как и при
работе со списками контроля доступа. Например:
DionisNX(confignatmynat)# do show
1 nat src 192.168.0.0/24 masquerade
2 nat tcp dport 80 dnat ip 192.168.0.1
DionisNX(confignatmynat)# no 1
DionisNX(confignatmynat)# do show
1 nat tcp dport 80 dnat ip 192.168.0.1
Для просмотра информации о NAT-списках, существует две команды, доступные из enable-
режима.
show ip nat-list <имя|*> config
Информация о действующей конфигурации
show ip nat-list [имя]
Низкоуровневая информация из ядра ОС
Если в командах имя списка задано как *, будет показана информация о всех списках.
Например (из режима configure):
85
DionisNX(config)# do show ip natlist mynat config
10.2
Другие типы NAT
Кроме основных типов преобразований (snat, dnat, masquerade) существуют также другие:
Название
Параметры
Действие
exclude in
критерии отбора
Исключает входящий трафик
из NAT преобразования
exclude out
критерии отбора
Исключает исходящий трафик
из NAT преобразования
redirect
для протоколов tcp/udp зада-
Перенаправлять трафик на
ется port <номер порта>
локальный хост:порт (DNAT)
netmap src
критерии отбора, ip
<адрес
Отобразить
целую сеть
сети>
(SNAT)
netmap dst
критерии отбора, ip
<адрес
Отобразить
целую сеть
сети>
(DNAT)
10.3
Привязка ip nat-list
Создание списка преобразований NAT не означает то, что список начинает действовать. Для
того, чтобы правила NAT начали действовать на проходящий трафик, список NAT должен быть
привязан к интерфейсу.
10.3.1
Привязка к интерфейсу
Для того, чтобы привязать список к интерфейсу, нужно войти в режим конфигурации интер-
фейса и выполнить команду ip nat-group <имя списка>
Следует обратить внимание, что привязка nat списка осуществляется всегда к внешнему ин-
терфейсу! Например:
DionisNX(config)# interface ethernet 0
DionisNX(configifethernet0)# ip natgroup mynat
Для удаления связи с интерфейсом, необходимо выполнить команду: no ip nat-group <имя>,
например:
DionisNX(configifethernet0)# no ip natgroup mynat
DionisNX(configifethernet0)# do show
Иногда возникает необходимость делать nat для трафика, который уходит в туннель
DISEC/IPSEC. В этом случае, преобразование адресов должно выполняться до шифрования перед
отправкой на интерфейс (SNAT) и после расшифрования, после приема на интерфейсе (DNAT). В
86
этом случае, привязка списков осуществляется командой: ip nat-group-xfrm, синтаксис которой
аналогичен ip nat-group. Удаление связи осуществляется командой: no ip-nat-group-xfrm.
DionisNX(config)# interface ethernet 0
DionisNX(configifethernet0)# ip natgroupxfrm mynat
DionisNX(configifethernet0)# no ip natgroupxfrm mynat
DionisNX(configifethernet0)# do show
10.4
Просмотр и удаление активных соединений
Все проходящие через DionisNX соединения отслеживаются маршрутизатором и доступны для
просмотра администратором. Для этого необходимо выполнить команду: show ip connections [па-
раметры] из enable режима (или из режима configure, но с префиксом do).
Существует возможность просмотра соединений, над которыми выполняются NAT-
преобразования, например:
DionisNX(config)# do show ip connections dnat tcp
В результате будут показаны TCP-соединения, над которыми выполнены преобразования
DNAT.
При изменении параметров преобразований nat может оказаться необходимым очистить часть
активных соединений, над которыми выполняются еще старые преобразования, для этого можно
воспользоваться командой: clear ip connections [параметры] из enable режима, например:
DionisNX(config)# do clear ip connections dnat
Будут очищены все DNAT-соединения.
87
11. Журналирование и отладка
В системе существует несколько механизмов, которые могут быть использованы администра-
тором для диагностики проблем, а также для выявления нарушений.
11.1
tcpdump
Существует возможность мониторинга активности сети с помощью прослушивания сегмента
Ethernet с выбранного интерфейса. Эти данные, в том или ином виде, в зависимости от указанных
параметров выводятся на консоль. Для этого необходимо воспользоваться командой tcpdump в
режиме enable.
У tcpdump существует множество параметров, с помощью которых можно выбирать формат
вывода данных. Среди основных параметров можно выделить следующие:
Название параметра
Описание
имя или числовое значение протокола
Задать интересуемый IP-протокол
тип интерфейса и его номер
Слушать на выбранном интерфейсе
dump <режим>
Вывод содержимого пакетов в заданном фор-
мате
host <IP-адрес или имя хоста>
Показ трафика относящегося к заданному хо-
сту
src <IP-адрес или имя хоста>
Показ трафика с заданным исходным адресом
dst <IP-адрес или имя хоста>
Показ трафика с заданным целевым адресом
net <IP-адрес с маской>
Показ трафика относящегося к заданной сети
snet <IP-адрес с маской>
Показ трафика с адресом источника из задан-
ной сети
dnet <IP-адрес с маской>
Показ трафика с адресом назначения из задан-
ной сети
port <номер порта>
Показ трафика, относящемуся к заданному
порту
sport <номер порта>
Показ трафика с заданным портом источника
dport <номер порта>
Показ трафика с заданным портом назначения
numeric
Не делать DNS-запросов и показывать адреса
в числовом виде
ether
Выводить
информацию по ethernet-
заголовкам
count <число>
Закончить мониторинг после принятия <чис-
ла> пакетов, удовлетворяющих правилам вы-
борки
Например:
DionisNX# tcpdump ethernet 0 numeric dump hexascii
Для прерывания режима мониторинга необходимо нажать на клавиатуре Ctrl-C.
88
11.2
Трассировка
Механизм трассировки применяется для выявления проблем и ошибок администрирования, и
позволяет проследить прохождение сетевого пакета внутри маршрутизатора.
Существует два режима работы трассировки:
1. Отладка фильтров;
2. Полная трассировка.
В режиме отладки фильтров протоколируется прохождение пакета по действующим фильтрам
(входным и выходным). В режиме полной трассировки протоколируется весь путь прохождения
пакета. Для задания режима трассировки необходимо перейти в режим конфигурации сервиса
журналов (service log), для этого в режиме configure следует выполнить команду:
DionisNX(config)# service log
DionisNX(configservicelog)#
Режим работы трассировки задается с помощью команды trace. Так, например, для включения
режима полной трассировки используется команда: trace all:
DionisNX(configservicelog)# trace all
DionisNX(configservicelog)# do show
log
trace all
size 262144 131072
Для отладки фильтров следует выполнить команду trace без параметров:
DionisNX(configservicelog)# trace
DionisNX(configservicelog)# do show
log
trace
size 262144 131072
Существует возможность отключения механизма трассировки полностью, для этого использу-
ется команда no trace:
DionisNX(configservicelog)# no trace
DionisNX(configservicelog)# do show
log
size 262144 131072
Для указания того, какой трафик должен быть подвержен трассировке, используются списки
трассировки (ip trace-list).
11.2.1
Создание списка трассировки
Для создания списка трассировки, в режиме configure необходимо выполнить команду ip trace-
list <имя>, где <имя> - это имя создаваемого списка, например:
89
DionisNX(config)# ip tracelist ping
После выполнения команды, задаются (или модифицируются) правила трассировки списка.
Каждое правило содержит критерии отбора трафика для трассировки. Если ни одно из правил не
удовлетворяет критериям, трафик не будет трассироваться.
DionisNX(configtraceping)# trace icmp
В данном примере трассировке будет подвержен протокол icmp.
В качестве критериев отбора используется подмножество критериев списков контроля досту-
па (см. ip access-list).
Для того, чтобы просмотреть правила отбора текущего редактируемого списка, достаточно
выполнить команду:
DionisNX(configtraceping)# do show
При этом будут выведены все правила текущего списка. Каждая строка снабжена числовым
префиксом, указывающим позицию правила в списке.
Для того, чтобы удалить правило с конкретным номером, следует ввести команду: no <номер
правила> Например:
DionisNX(configtraceping)# no 1
Удаление всего содержимого текущего списка может быть осуществлено командой: no all. Для
удаления списка, используется команда: no ip trace-list <имя списка>.
Для просмотра информации о списках, существует две команды, доступные из enable-режима.
show ip trace-list <имя|*> config (Информация о действующей конфигурации) show ip trace-
list <имя|*> (Низкоуровневая информация из ядра ОС) Если в командах имя списка задано как
*, будет показана информация о всех списках.
Например (из режима configure):
DionisNX(config)# do show ip tracelist ping config
11.2.2
Применение списка трассировки
Для того, чтобы трассировка начала действовать, необходимо применить какой-то из спис-
ков трассировки. Применение списка осуществляется командой ip trace-group <имя списка> из
режима configure.
Например:
DionisNX(config)# ip tracegroup ping
Для отмена действия списка трассировки следует выполнить команду no ip trace-group <имя
списка>:
DionisNX(config)# no ip tracegroup ping
90
11.2.3
Выборка из журнала IP-пакетов
Если механизм трассировки включен, и в действующее правило отбора для трассировки по-
пали пакеты, то содержимое пакетов и информация об их прохождении попадает в журнал IP-
пакетов.
Для просмотра и выборки журнала используется команда show ip log [дополнительные пара-
метры] из режима enable. Например:
DionisNX# show ip log
20111208 16:50:46.749509 @in(ethernet0) ’TRACE: PREROUTING:rule:1’ IP (tos 0x60, ttl 59,
id 24044, offset 0, flags [none], proto ICMP (1), length 84)
www.yandex.ru > 83.220.32.68: ICMP echo reply, id 7530, seq 1, length 64
20111208 16:50:46.749517 @in(ethernet0) ’TRACE: outside:rule:4’ IP (tos 0x60, ttl 59, id
24044, offset 0, flags [none], proto ICMP (1), length 84)
www.yandex.ru > 83.220.32.68: ICMP echo reply, id 7530, seq 1, length 64
20111208 16:50:46.749533 @fwd(ethernet0>ethernet2) ’TRACE: FORWARD:policy:1’ IP (tos
0x60, ttl 58, id 24044, offset 0, flags [none], proto ICMP (1), length 84)
www.yandex.ru > 192.168.33.41: ICMP echo reply, id 7530, seq 1, length 64
20111208 16:50:46.749541 @out(ethernet2) ’TRACE: POSTROUTING:policy:1’ IP (tos 0x60, ttl
58, id 24044, offset 0, flags [none], proto ICMP (1), length 84)
Запись в журнале содержит в себе: время, цепочку обработки, интерфейс, попадание в филь-
тры и информацию о пакете. Цепочка обработки может принимать значения, приведенные в таб-
лице:
название
описание
in
вход в маршрутизатор
out
выход из маршрутизатора
fwd
логика маршрутизации
local_in
пакет предназначен для локального процесса
local_out
пакет порождается локальным процессом
К команде show ip log могут передаваться параметры, приведенные в таблице:
название
описание
число записей
показать последние n записей
all
показать все записи
proto <протокол>
выборка заданного IP-протокола
src <маска источника>
выборка для заданного источника
dst <маска приемника>
выборка для заданного приемника
in <тип интерфейса> <номер интерфейса>
выборка для пакетов, входящих в заданный
интерфейс
out <ти интерфейса> <номер интерфейса>
выборка для пакетов, выходящих из заданно-
го интерфейса
stat
вывод статистики
follow
режим непрерывного показа (слежение)
numeric
не разрешать адреса по DNS
91
название
описание
quiet
кратко
dump <режим>
режим вывода содержимого пакета
date <дата или диапазон>
выборка по дате в формате T1
(кон-
кретное время) или T1-T2(диапазон),
где T1
или T2
записываются в формате:
yy[mm[dd[hh[mm[ss]]]]]
file <файл>
выбор файла, из которого читать записи
export <файл>
сохранить вывод журнала в файл
11.3
Протоколирование правил фильтрации
Существует возможность протоколирования выбранных правил фильтрации. Для этого, в кри-
териях отбора указывается параметр: log [all] [alert].
Например:
DionisNX(config)# ip accesslist noicmp
DionisNX(configaclnoicmp)# deny icmp log all
Присутствие ключевого слова all означает, что все данные пакета попадут в журнал. По умол-
чанию в журнал попадет только информация о заголовке пакета.
Присутствие ключевого слова alert означает повышенную важность сообщения.
Для произвольной выборки информации из журнала IP-пакетов используется команда: show
ip log, которая описана в разделе «Трассировка».
11.4
Системные журналы
Кроме журнала IP-пакетов, поддерживается набор различных системных журналов. Для
выборки данных журналов применяется команда: show log
[имя журнала]
[параметры] в
режиме enable.
В качестве параметров могут присутствовать:
название
описание
число записей
показать последние n записей
all
показать все записи
follow
режим непрерывного показа (слежение)
archive <номер>
смотреть записи из архивных (старых)журналов
Для администратора доступны следующие журналы:
название
назначение
messages (журнал по умолчанию)
общесистемный журнал
dish
действия администратора
92
название
назначение
daemon
сообщения сервисов
kernel
сообщения ядра
router
сообщения от сервисов динамической маршрутизации
alert
сообщения, требующие внимания
auth
сообщения безопасности
Кроме этих системных журналов, существуют журналы для подсистем dhcp, dns, ntp, snmp.
Просмотр журнала для них возможен с помощью команды show service <название сервиса> log
[параметры] в enable режиме:
DionisNX# show service dns log
11.5
Сигнал тревоги
Для оперативного информирования администратора о возникновении в системе важных собы-
тий предусмотрен сигнал тревоги (alert). Администратору следует отреагировать на сигнал трево-
ги. До этого момента сигнал тревоги снят не будет. Сигнал тревоги может проявляться следующим
образом:
• Красный цвет лампочки на LCD-панели;
• Знак «!» вместо «#» в строке приглашения командной оболочки dish в привилегированном
режиме;
• Звуковой сигнал от встроенного динамика;
• Отправка сообщений по протоколу syslog на удаленные syslog-сервера.
Важными событиями считаются все системные события (см. раздел 11.4), уровень важности
которых не ниже «критического». Такие события дополнительно попадают в системный журнал
«alert». Для просмотра перечня важных событий из привилегированного режима (режим enable)
необходимо выполнить следующую команду:
Router! show log alert
При этом сигнал тревоги будет снят. Также можно снять сигнал тревоги с помощью команды
привилегированного режима:
Router! clear alert
При снятии сигнала тревоги системный журнал «alert» не очищается, поэтому администратор
всегда может просмотреть важные события, происходившие в системе ранее.
11.5.1
Настройка звукового сигнала
Администратор имеет возможность настраивать возникновение звукового сигнала. Для вклю-
чения звукового сигнала при возникновении сигнала тревоги в режиме конфигурации необходимо
выполнить следующие команды:
93
Router(config)# service log
Router(configservicelog)# alert beep
Для выключения звукового сигнала при возникновении сигнала тревоги в режиме конфигу-
рации необходимо выполнить следующие команды:
Router(config)# service log
Router(configservicelog)# no alert beep
При заводской установке системы звуковой сигнал по умолчанию включен.
11.5.2
Настройка удаленных оповещений
Сообщения о событиях в системе могут пересылаться на удаленные сервера. Для этого ис-
пользуется сетевой протокол syslog. На удаленном сервере для приема сообщений должен быть
установлен и настроен syslog-сервер.
Администратор имеет возможность указать удаленные узлы, на которые будут отсылаться
оповещения, и правила отбора сообщений для посылки:
Router(config)# service log
Router(configservicelog)# remote 192.168.1.2 *.crit
Router(configservicelog)# remote myhost.org dish.*
Приведенные выше команды добавят в список узлов два сервера: 192.168.1.2 и myhost.org.
На первый из них будут отсылаться сообщения с приоритетом не меньшим, чем критический
(что соответствует сигналу тревоги - alert). На второй сервер будут отсылаться все сообщения
службы (facility) dish, что соответствует регистрации всех команд, введенных администратором в
командной оболочке.
Для удаления узла из списка рассылки сообщений необходимо выполнить следующие коман-
ды в режиме конфигурации:
Router(config)# service log
Router(configservicelog)# no remote myhost.org dish.*
Правила отбора сообщений для отсылки на удаленный сервер соответствует формату syslog:
»[служба].[приоритет]». Список допустимых служб:
• auth;
• authpriv;
• daemon;
• kern;
• dish - соответствует local0 в конфигурационном файле syslog;
• router - соответствует local1 в конфигурационном файле syslog;
• dhcp - соответствует local2 в конфигурационном файле syslog;
• dns - соответствует local3 в конфигурационном файле syslog;
• * - любая служба.
Список допустимых приоритетов:
94
• info;
• notice;
• warning;
• err;
• crit;
• alert;
• emerg;
• * - любой приоритет;
• none.
Также допустимы правила с использованием »,», »;», »!», »=». Более подробную информацию
по формату правил отбора и использованию специальных символов можно найти в документации
по стандартному сервису syslog.
11.6
Служба watcher
Существует возможность отслеживать интересующие администратора события в журналах и
собирать их в отдельный журнал. Для этого необходимо настроить службу watcher. Вход в режим
конфигурации службы выполняется командой:
Router(config)# service watcher
Router(configservicewatcher)#
Далее, настраиваются журналы за которыми необходимо осуществлять слежение. Для выбора
журнала используйте команду watch <журнал>, например:
Router(configservicewatcher)# watch dish
Router(configservicewatcherdish)#
При этом осуществляется переход в режим настройки правил слежения из выбранного жур-
нала. Для удаления слежения за выбранным журналом используйте команду: no watch <имя
журнала>. Каждое правило слежения состоит из команды (действия), строки сопоставления и
дополнительных параметров.
Команда
Действие
alert
Послать сообщение в журнал watcher с уровнем alert
crit
Послать сообщение в журнал watcher с уровнем crit
emerg
Послать сообщение в журнал watcher с уровнем emerg
err
Послать сообщение в журнал watcher с уровнем err
info
Послать сообщение в журнал watcher с уровнем info
mailer
Послать сообщение по почте с помощью службы mailer
notice
Послать сообщение в журнал watcher с уровнем notice
warning
Послать сообщение в журнал watcher с уровнем warning
В качестве строки сопоставления используется регулярное выражение, например:
Router(configservicewatcherdish)# alert ”service watcher”
95
В данном случае, будет сформировано событие уровня alert при выполнении команды “service
watcher”. Регулярные выражения могут содержать шаблоны, состоящие из символьных классов:
Символьный класс
Соответствие символам
x
x - соответствует сам себе. (Он не может быть
равен ни одному из специальных символов
ˆ$()%.*+-?
Любой символ
%x
Где x - любой не алфавитно-цифровой сим-
вол), соответствует сам себе. Это - стандарт-
ный способ экранировки специальных симво-
лов
[set]
Соответствует любому символу из набора, за-
данного в set. Диапазон символов может быть
определен, с помощью символа ‘-’ отделяюще-
го начало и конец диапазона.
[ˆset]
Отрицательный набор символов. Соответству-
ет любому символу, кроме тех, что заданы в
наборе set.
Шаблон
Описание
Одиночный символьный класс
Соответствует любому одиночному символу из
заданного класса
’*’ за классом
Соответствует 0 или большему количеству по-
вторений символов из заданного класса. На-
пример: c* - символ c 0 или более раз.
‘+’ за классом
Соответствует 1 или большему количеству по-
вторений символов из заданного класса. Эти
элементы повторения будут всегда соответ-
ствовать самой длинной возможной последо-
вательности.
‘-’ за классом
Соответствует 0 или большему количеству по-
вторений символов из заданного класса. В от-
личие от *, элементы повторения будут все-
гда соответствовать самой короткой возмож-
ной последовательности
‘?’ за классом
Соответствует 0 или единственному вхожде-
нию символа из заданного класса;
ˆ
Соответствует началу строки
$
Соответствует концу строки
Обратите внимание, что служебные символы требуют экранирования. Например:
Router(configservicewatcherdish)# alert ”ip access%list”
Символ ‘-’ здесь экранируется, так как он имеет специальный смысл.
Можно создавать несколько правил слежения. Для удаления правила используйте команду:
no <номер правила>.
96
Обратите внимание, что правило “alert” удобно использовать для звукового и визуального
оповещения о выбранных событиях.
Кроме правил, можно задать период слежения за журналом в секундах:
Router(config-service-watcher-dish)# period 1
Если период не задан, то по умолчанию период выбирается случайное значение периода от
3 до 5 секунд.
Для возвращения к настройке по умолчанию используйте: no period.
Для того, чтобы служба watcher стала активной, нужно выполнить команду enable из режима
конфигурации службы:
Router(configservicewatcher)# enable
Для отключения службы, используйте: disable.
Для просмотра журналов службы используйте команду enable-режима:
Router# show service watcher log
Для того, чтобы полностью удалить конфигурацию службы, воспользуйтесь командой:
Router(config)# no service watcher
97
12. VLAN
Поддерживается стандарт IEEE 802.1Q (VLAN). Для создания интерфейса, выходящий трафик с
которого будет помечаться идентификатором vlan-сети, а входящий трафик соответству- ющей
vlan-сети, перенаправляться на вход этого интерфейса, используется команда: interface
ethernet <номер интерфейса>.<номер vlan> (режим configure).
Например:
DionisNX(config)# interface ethernet 0.1
DionisNX(configifethernet0.1)#
В дальнейшем, интерфейс настраивается так же, как и любой другой ethernet-интерфейс. Од-
нако следует иметь в виду, что для активизации vlan-интерфейса необходимо, чтобы и соответ-
ствующий обычный интерфейс был активирован.
98
99
13. WIFI-интерфейсы
13.1
Введение
Система имеет поддержку беспроводных интерфейсов и может работать как в режиме бес-
проводной точки доступа, так и в режиме беспроводного клиента.
Для работы с wifi-интерфейсом используется команда: interface wifi из режима configure.
adm@DionisNX(config)# interface wifi 0
adm@DionisNX(configifwifi0)#
13.2
Работа WIFI-интерфейса в режиме беспроводной
точки доступа
Для перевода интерфейса в режим точки доступа необходимо выполнить следующую команду:
adm@DionisNX(configifwifi0)# mode master
Команды доступные для настройки интерфейса в режим точки доступа.
команда
параметр
ssid <Name>
Имя беспроводной сети
passphrase <Password>
Пароль беспроводной сети
channel <Num>
Номер канала беспроводной сети
hw_mode <a|b|g|ad>
Режим работы точки доступа
ignore-broadcast-ssid <1|2|0>
Скрывать SSID. (0 - параметр отключен, 1 -
Передавать пустой SSID, 2 - Передавать пу-
стой SSID, но сохронять длинну ssid )
max_num_sta <Num>
Максимальное количество подключаемых
станций
wpa <WPA|WPA2|WPA/WPA2>
Настройка режима безопасности
wpa-key-mgmt PSK
Использование wpa-psk алгоритма для управ-
ления ключами
wpa-pairwise <TKIP|CCMP|TKIP/CCMP>
Установить алгоритм шифрования парных
ключей для точки доступа
rsn-pairwise <TKIP|CCMP|TKIP/CCMP>
Установить алгоритм шифрования для WPA2
точки доступа

 

 

 

 

 

 

 

содержание      ..      1      2      3      ..