...
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> | <NAME> – имя зоны изоляции; <IF> – имя интерфейса устройства; <TUN> – имя туннеля устройства. default – обозначает группу правил для всего трафика, источник которого не попал под критерии других групп правил. |
8 | Задать правило c определённым номером. Правила обрабатываются в порядке возрастания. | esr(config-dnat-ruleset)# rule <ORDER> | <ORDER> – номер правила, принимает значения [1...10000]. |
9 | Задать IP-адреса {отправителя | получателя}, для которых должно срабатывать правило. | esr(config-dnat-rule)# match [not] | <TYPE> – тип аргумента, устанавливаемый в качестве адреса:
<FROM-ADDR> – начальный IP-адрес диапазона; <OBJ-GROUP-NAME> – имя профиля IP-адресов, задаётся строкой до 31 символа; <ADDR/LEN> – IP-адрес и маска подсети сервера. |
10 | Задать сервисы (TCP/UDP-портов) {отправителя | получателя}, для которых должно срабатывать правило (не обязательно). | esr(config-dnat-rule)# match [not] | <TYPE> – тип аргумента, устанавливаемый в качестве адреса:
<PORT-SET-NAME> – имя профиля порта, задаётся строкой до 31 символа; <FROM-PORT> – начальный порт диапазона; |
| 11 | Установить имя или номер IP-протокола, для которого должно срабатывать правило (не обязательно). | esr(config-dnat-rule)# match [not] | <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] | <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> – имя пула, содержащего набор 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 | |
| 15 | Включить функцию отслеживания сессий уровня приложений для протоколов FTP, SIP, H323, netbios-ns, PPTP (не обязательно). | esr(config)# ip firewall sessions tracking {<PROTOCOL> | sip [ port <OBJECT-GROUP-SERVICE> ] | all} | all – включает функцию отслеживания сессий уровня приложений для всех доступных протоколов; <PROTOCOL> – протокол уровня приложений, сессии которого должны отслеживаться, принимает значения [ftp, h323, pptp, netbios-ns]; <OBJECT-GROUP-SERVICE> – имя профиля TCP/UDP-портов sip-сессии, задаётся строкой до 31 символа. Если группа не указана, то отслеживание сессий sip будет осуществляться для порта 5060. |
| 16 | Включить функцию трансляции IP-адресов в заголовках уровня приложений (не обязательно). | esr(config)# nat alg {<PROTOCOL> | all} | all – включает трансляцию IP-адресов в заголовках всех доступных протоколов. <PROTOCOL> – протокол уровня приложений, в заголовках которого должна работать трансляция адресов, принимает значения [ftp, h323, pptp, netbios-ns, gre, sip, tftp]. |
...
| Якорь | ||||
|---|---|---|---|---|
|
Алгоритм настройки
| Якорь | ||||
|---|---|---|---|---|
|
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 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> | | <NAME> – имя зоны изоляции; <IF> – имя интерфейса устройства; <TUN> – имя туннеля устройства |
10 | Задать правило c определённым номером. Правила обрабатываются в порядке возрастания. | esr(config-snat-ruleset)# rule <ORDER> | <ORDER> – номер правила, принимает значения [1..10000]. |
11 | Задать профиль IP-адресов {отправителя | получателя}, для которых должно срабатывать правило. | esr(config-snat-rule)# match [not] | <TYPE> – тип аргумента, устанавливаемый в качестве адреса:
<FROM-ADDR> – начальный IP-адрес диапазона; <OBJ-GROUP-NAME> – имя профиля IP-адресов, задаётся строкой до 31 символа; <ADDR/LEN> – IP-адрес и маска подсети. |
12 | Задать профиль IP-адресов {отправителя | получателя}, для которых должно срабатывать правило (не обязательно). | esr(config-snat-rule)# match [not] | <TYPE> – тип аргумента, устанавливаемый в качестве адреса:
<PORT-SET-NAME> – имя профиля порта, задаётся строкой до 31 символа; <FROM-PORT> – начальный порт диапазона; |
13 | Установить имя или номер IP-протокола, для которого должно срабатывать правило (не обязательно). | esr(config-snat-rule)# match [not] | <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_TYPE> – тип сообщения протокола ICMP, принимает значения [0..255]; <ICMP_CODE> – код сообщения протокола ICMP, принимает значения [0..255]. Значение «any» указывает на любой код сообщения; <TYPE-NAME> – имя типа ICMP сообщения |
15 | Задать действие «трансляция адреса и порта отправителя» для трафика, удовлетворяющего критериям, заданным командами «match». | esr(config-snat-rule)# action source-nat { off | | 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 | |
| 17 | Включить функцию отслеживания сессий уровня приложений для протоколов FTP, SIP, H323, netbios-ns, PPTP (не обязательно). | esr(config)# ip firewall sessions tracking {<PROTOCOL> | sip [ port <OBJECT-GROUP-SERVICE> ] | all} | all – включает функцию отслеживания сессий уровня приложений для всех доступных протоколов <PROTOCOL> – протокол уровня приложений, сессии которого должны отслеживаться, принимает значения [ftp, h323, pptp, netbios-ns]. <OBJECT-GROUP-SERVICE> – имя профиля TCP/UDP-портов sip-сессии, задаётся строкой до 31 символа. Если группа не указана, то отслеживание сессий sip будет осуществляться для порта 5060. |
| 18 | Включить функцию трансляции IP-адресов в заголовках уровня приложений (не обязательно). | esr(config)# nat alg {<PROTOCOL> | all} | all – включает трансляцию IP-адресов в заголовках всех доступных протоколов. <PROTOCOL> – протокол уровня приложений, в заголовках которого должна работать трансляция адресов, принимает значения [ftp, h323, pptp, netbios-ns, gre, sip, tftp]. |
...
Static NAT — статический NAT задает однозначное соответствие одного адреса другому. Иными словами, при прохождении через маршрутизатор, адрес меняется на другой строго заданный адрес, один-к-одному. Запись о такой трансляции хранится неограниченно долго, пока не будет произведена перенастройка NAT на маршрутизаторе.
Алгоритм настройки
Настройка Static NAT осуществляется средствами Source NAT, алгоритм настройки которой описан в разделе Конфигурирование Source NAT, алгоритм настройки настоящего руководства.
...
| Якорь | ||||
|---|---|---|---|---|
|
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
|---|---|---|---|
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} | <URL> – адрес хоста, на который будут передаваться запросы. |
5 | Указать описание (не обязательно). | esr(config-profile)# description <description> | <description> – до 255 символов. |
6 | Указать удаленный или локальный список URL и тип операции (блокировка/пропуск трафика/перенаправление) (не обязательно). | esr(config-profile)# urls {local|remote} <URL_OBJ_GROUP_NAME> | <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 | Указать базовый порт для проксирования (не обязательно). | esr(config)# ip https proxy redirect-port <PORT> | <PORT> – номер порта, указывается в диапазоне [1..65535]. Значение по умолчанию 3128. |
11 | Включить проксирование на интерфейсе на основе выбранного HTTP-профиля. | esr(config-if)# ip http proxy <PROFILE_NAME> | <PROFILE_NAME> – название профиля. |
12 | Включить проксирование на интерфейсе на основе выбранного HTTPS-профиля. | esr(config-if)# ip https proxy <PROFILE_NAME> | <PROFILE_NAME> – название профиля. |
13 | Создать списки сервисов, которые будут использоваться при фильтрации. | esr(config)# object-group service <obj-group-name> | <obj-group-name> – имя профиля сервисов, задается строкой до 31 символа. |
14 | Задать описание списка сервисов (не обязательно). | esr(config-object-group-service)# description <description> | <description> – описание профиля, задается строкой до 255 символов. |
15 | Внести необходимые сервисы (TCP/UDP-порты) в список. | esr(config-object-group-service)# port-range 3128-3135 | Прокси-сервер ESR использует для своей работы порты, начиная с базового порта, определённого на 10 шаге. Для http proxy используются порты, начиная с базового порта по базовый порт + количество cpu данной модели ESR - 1. Для https proxy используются порты, начиная с базового порта + количество cpu данной модели ESR по базовый порт + количество cpu данной модели ESR * 2 - 1. |
16 | Создать набор правил межзонового взаимодействия. | esr(config)# security zone-pair <src-zone-name1> self | <src-zone-name> – зона безопасности, в которой находятся интерфейсы с функцией ip http proxy или ip https proxy. self – предопределенная зона безопасности для трафика, поступающего на сам ESR. |
17 | Создать правило межзонового взаимодействия. | esr(config-zone-pair)# rule <rule-number> | <rule-number> – 1..10000. |
18 | Задать описание правила (не обязательно). | esr(config-zone-rule)# description <description> | <description> – до 255 символов. |
19 | Указать действие данного правила. | esr(config-zone-rule)# action <action> [ log ] | <action> – permit. log – ключ для активации логирования сессий, которые устанавливаются согласно данному правилу. |
20 | Установить имя IP-протокола, для которого должно срабатывать правило. | esr(config-zone-rule)# match protocol <protocol-type> | <protocol-type> – tcp. Прокси-сервер ESR работает по протоколу ESR. |
21 | Установить профиль TCP/UDP-портов получателя, для которых должно срабатывать правило (если указан протокол). | esr(config-zone-rule)# match [not] | <obj-group-name> – имя профиля сервисов, созданного на шаге 12. |
22 | Включить правило межзонового взаимодействия. | esr(config-zone-rule)# enable |
...
NTP (англ. Network Time Protocol — протокол сетевого времени) — сетевой протокол для синхронизации внутренних часов оборудования с использованием IP-сетей, использует для своей работы протокол UDP, учитывает время передачи и использует алгоритмы для достижения высокой точности синхронизации времени.
Алгоритм настройки
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
1 | Включить NTP. | esr(config)# ntp enable | |
2 | Задать IP-адрес NTP-сервера, либо участника NTP-синхронизации. | esr(config)# ntp { pool | server | peer } { <IPV4> | <NAME> | IPV6} | <IPV4> – IP-адрес назначения (шлюз), задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. <NAME> – DNS-имя сервера, задаётся строкой до 31 символа. <IPV6> – IP-адрес назначения (шлюз), задаётся в виде X:X:X:X::X, где каждая часть X принимает значения в шестнадцатеричном формате [0..FFFF]. |
3 | Включить отправку нескольких пакетов вместо одного при установке соединения. | esr(config-ntp)# burst | |
4 | Включить отправку нескольких пакетов вместо одного в случае разрыва соединения. | esr(config-ntp)# iburst | |
5 | Задать ключ для аутентификации (не обязательно). | esr(config-ntp)# key <ID> | <ID> – идентификатор ключа, задается в диапазоне [1..255]. |
6 | Установить максимальное значение интервала времени между отправкой сообщений NTP-серверу (не обязательно). | esr(config-ntp)# maxpoll <INTERVAL> | <INTERVAL> – максимальное значение интервала опроса. Параметр команды используется как показатель степени двойки при вычислении длительности интервала в секундах, вычисляется путем возведения двойки в степень, заданную параметром команды, принимает значение [10..17]. Значение по умолчанию: |
7 | Установить минимальное значение интервала времени между отправкой сообщений NTP-серверу (не обязательно). | esr(config-ntp)# minpoll <INTERVAL> | <INTERVAL> – минимальное значение интервала опроса в секундах вычисляется путем возведения двойки в степень, заданную параметром команды, принимает значение [4..6]. Значение по умолчанию: 6 (26= 64 секунды или 1 минута 4 секунды). |
8 | Отметить данный NTP-сервер как предпочтительный (не обязательно). | esr(config-ntp)# prefer | |
9 | Определить список доверенных IP-адресов, с которыми может происходить обмен ntp-пакетами (не обязательно). | esr(config)# ntp access-addresses <NAME> | <NAME> – имя профиля IP-адресов, задаётся строкой до 31 символа. |
10 | Указать идентификатор ключа из профиля связки ключей (не обязательно). | esr(config)# ntp authentication trusted-key <ID> | <ID> – идентификатор ключа из профиля связки ключей. |
11 | Указать имя профиля связки ключей (не обязательно). | esr(config)# ntp authentication key-chain <WORD> | <WORD> – имя профиля связки ключей. |
12 | Активировать аутентификацию для NTP по ключу (не обязательно). | esr(config)# ntp authentication enable | |
13 | Включить режим приёма широковещательных сообщений NTP-серверов для глобальной конфигурации и всех существующих VRF (не обязательно). | esr(config)# ntp broadcast-client enable | |
14 | Задать значение кода DSCP для использования в IP-заголовке исходящих пакетов NTP-сервера (не обязательно). | esr(config)# ntp dscp <DSCP> | <DSCP> – значение кода DSCP, принимает значения в диапазоне [0..63]. Значение по умолчанию: 46. |
15 | Включить режим query-only, ограничивающий взаимодействие по NTP для определенного профиля IP-адресов (не обязательно). | esr(config)# ntp object-group query-only <NAME> | <NAME> – имя профиля IP-адресов, задаётся строкой до 31 символа. |
16 | Включить режим serve-only, ограничивающий взаимодействие по NTP для определенного профиля IP-адресов (не обязательно). | esr(config)# ntp object-group serve-only <NAME> | <NAME> – имя профиля IP-адресов, задаётся строкой до 31 символа. |
| 17 | Указать source-IP-адреса для NTP-пакетов для всех peer (не обязательно). | esr(config)# ntp source address <ADDR> | <ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
| 18 | Задать текущие время и дату в ручном режиме (не обязательно). | esr# set date <TIME> [<DAY> <MONTH> [ <YEAR> ] ] | <TIME> – устанавливаемое системное время, задаётся в виде HH:MM:SS, где:
<MONTH> – месяц, принимает значения [January/February/March/April/May/June/July/August/September/October/November/December]; <YEAR> – год, принимает значения [2001..2037]. |
...