Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Комментарий: Оксененко С. Добавил якори для алгоритмов настройки SNAT/DNAT

...

DNAT используется для перенаправления трафика, идущего на некоторый «виртуальный» адрес в публичной сети, на «реальный» сервер в локальной сети, находящийся за сетевым шлюзом. Эту функцию можно использовать для организации публичного доступа к серверам, находящимся в частной сети и не имеющим публичного сетевого адреса.

Алгоритм настройки
Якорь
Алгоритм настройки DNAT
Алгоритм настройки DNAT

Шаг

Описание

Команда

Ключи

1

Перейти в режим настройки сервиса трансляции адресов получателя.

esr(config)# nat destination


2

Cоздать пул IP-адресов и/или TCP/UDP-портов с определённым именем (не обязательно).

esr(config-dnat)# pool <NAME>

<NAME> – имя пула NAT-адресов, задаётся строкой до 31 символа.

3

Установить внутренний IP-адрес, на который будет заменяться IP-адрес получателя.

esr(config-dnat-pool)# ip address <ADDR>

<ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].

4

Установить внутренний TCP/UDP-порт, на который будет заменяться TCP/UDP-порт получателя.

esr(config-dnat-pool)# ip port <PORT>

<PORT> – TCP/UDP-порт, принимает значения [1..65535].

5

Создать группу правил с определённым именем.

esr(config-dnat)# ruleset <NAME>

<NAME> – имя группы правил, задаётся строкой до 31 символа.

6

Указать экземпляр VRF, в котором будет работать данная группа правил (не обязательно).

esr(config-dnat-ruleset)# ip vrf forwarding <VRF>

<VRF> – имя VRF, задается строкой до 31 символа.

7

Задать область применения группы правил. Правила будут применяться только для трафика, идущего из определенной зоны или интерфейса.

esr(config-dnat-ruleset)# from { zone <NAME>
| interface <IF> | tunnel <TUN> | default }

<NAME> – имя зоны изоляции;

<IF> – имя интерфейса устройства;

<TUN> – имя туннеля устройства.

default – обозначает группу правил для всего трафика, источник которого не попал под критерии других групп правил.

8

Задать правило c определённым номером. Правила обрабатываются в порядке возрастания.

esr(config-dnat-ruleset)# rule <ORDER>

<ORDER> – номер правила, принимает значения [1...10000].

9

Задать IP-адреса {отправителя | получателя}, для которых должно срабатывать правило.

esr(config-dnat-rule)# match [not]
{source|destination}-address <TYPE> {<FROM-ADDR> - <TO-ADDR> | <OBJ-GROUP-NAME> | <ADDR/LEN>}

<TYPE> – тип аргумента, устанавливаемый в качестве адреса:

  • address-range – указать диапазон IPv4/IPv6 адресов;
  • object-group – указать имя профиля;
  • prefix – указать адрес подсети и префикс;
  • any – установить в качестве адреса любой адрес.

<FROM-ADDR> – начальный IP-адрес диапазона;
<TO-ADDR> – конечный IP-адрес диапазона;

<OBJ-GROUP-NAME> – имя профиля IP-адресов, задаётся строкой до 31 символа;

<ADDR/LEN> – IP-адрес и маска подсети сервера.

10

Задать сервисы (TCP/UDP-портов) {отправителя | получателя}, для которых должно срабатывать правило (не обязательно).

esr(config-dnat-rule)# match [not]
{source|destination}-port <TYPE> {<PORT-SET-NAME> | <FORM-PORT> - <TO-PORT>}

<TYPE> – тип аргумента, устанавливаемый в качестве адреса:

  • address-range – указать диапазон IPv4/IPv6 адресов;
  • object-group – указать имя профиля;
  • any – установить в качестве адреса любой адрес.

<PORT-SET-NAME> – имя профиля порта, задаётся строкой до 31 символа;

<FROM-PORT> – начальный порт диапазона;
<TO-PORT> – конечный порт диапазона.

11Установить имя или номер IP-протокола, для которого должно срабатывать правило (не обязательно).

esr(config-dnat-rule)# match [not]
{protocol <TYPE> | protocol-id <ID> }

<TYPE> – тип протокола, принимает значения: esp, icmp, ah, eigrp, ospf, igmp, ipip, tcp, pim, udp, vrrp, rdp, l2tp, gre. Значение «any» указывает на любой тип протокола.

<ID> – идентификационный номер IP-протокола, принимает значения [0x00-0xFF].

12Задать тип и код сообщений протокола ICMP, для которых должно срабатывать правило (если в качестве протокола выбран ICMP) (не обязательно).

esr(config-dnat-rule)# match [not]
icmp {<ICMP_TYPE><ICMP_CODE> | <TYPE-NAME>}

<ICMP_TYPE> – тип сообщения протокола ICMP, принимает значения [0..255].

<ICMP_CODE> – код сообщения протокола ICMP, принимает значения [0..255]. Значение «any» указывает на любой код сообщения.

<TYPE-NAME> – имя типа ICMP-сообщения.

13Задать действие «трансляция адреса и порта получателя» для трафика, удовлетворяющего критериям, заданным командами «match».

esr(config-dnat-rule)# action destination-nat
{ off | pool <NAME> | netmap <ADDR/LEN> }

off – трансляция отключена;

pool <NAME> – имя пула, содержащего набор IP-адресов и/или TCP/UDP-портов;

netmap <ADDR/LEN> – IP-адрес и маска подсети, используемые при трансляции. Параметр задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32].

14Активировать конфигурируемое правило.

esr(config-dnat-rule)# enable


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].

...

Якорь
Конфигурирование Source NAT алгоритм
Конфигурирование Source NAT алгоритм

Алгоритм настройки
Якорь
Алгоритм настройки SNAT
Алгоритм настройки SNAT

ШагОписаниеКомандаКлючи
1Перейти в режим настройки сервиса трансляции адресов отправителя.

esr(config)# nat source


2

Создать пул IP-адресов и/или TCP/UDP-портов с определённым именем (не обязательно).

esr(config-snat)# pool <NAME>

<NAME> – имя пула NAT-адресов, задаётся строкой до 31 символа.

3

Установить диапазон IP-адресов, для которых будет заменяться IP-адрес отправителя.

esr(config-snat-pool)# ip address-range <IP>[-<ENDIP>]

<IP> – IP-адрес начала диапазона, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];

<ENDIP> – IP-адрес конца диапазона, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. Если не указывать IP-адрес конца диапазона, то в качестве IP-адреса для трансляции используется только IP-адрес начала диапазона.

4

Задать диапазон внешних TCP/UDP-портов, на которые будет заменяться TCP/UDP-порт отправителя.

esr(config-snat-pool)# ip port-range <PORT>[-<ENDPORT>]

<PORT> – TCP/UDP-порт начала диапазона, принимает значения [1..65535];

<ENDPORT> – TCP/UDP-порт конца диапазона, принимает значения [1..65535]. Если не указывать TCP/UDP-порт конца диапазона, то в качестве TCP/UDP-порта для трансляции используется только TCP/UDP-порт начала диапазона.

5

Установить внешний TCP/UDP-порт, на который будет заменяться TCP/UDP-порт отправителя.

esr(config-snat-pool)# ip port <PORT>

<PORT> – TCP/UDP-порт, принимает значения [1..65535].

6

Включить функции NAT persistent.

esr(config-snat-pool)# persistent


7

Создать группу правил с определённым именем.

esr(config-snat)# ruleset <NAME>

<NAME> – имя группы правил, задаётся строкой до 31 символа.

8

Указать экземпляр VRF, в котором будет работать данная группа правил (не обязательно).

esr(config-snat-ruleset)# ip vrf forwarding <VRF>

<VRF> – имя VRF, задается строкой до 31 символа.

9

Задать область применения группы правил. Правила будут применяться только для трафика, идущего в определенную зону или интерфейс.

esr(config-snat-ruleset)# to { zone <NAME> |
interface <IF> tunnel <TUN> | | default }

<NAME> – имя зоны изоляции;

<IF> – имя интерфейса устройства;

<TUN> – имя туннеля устройства
default – обозначает группу правил для всего трафика, источник которого не попал под критерии других групп правил.

10

Задать правило c определённым номером. Правила обрабатываются в порядке возрастания.

esr(config-snat-ruleset)# rule <ORDER>

<ORDER> – номер правила, принимает значения [1..10000].

11

Задать профиль IP-адресов {отправителя | получателя}, для которых должно срабатывать правило.

esr(config-snat-rule)# match [not]
{source|destination}-address <TYPE> {<FROM-ADDR> - <TO-ADDR> | <OBJ-GROUP-NETWORK-NAME> | <ADDR/LEN>}

<TYPE> – тип аргумента, устанавливаемый в качестве адреса:

  • address-range – указать диапазон IPv4/IPv6 адресов;
  • object-group – указать имя профиля;
  • prefix – указать адрес подсети и префикс;
  • any – установить в качестве адреса любой адрес.

<FROM-ADDR> – начальный IP-адрес диапазона;
<TO-ADDR> – конечный IP-адрес диапазона;

<OBJ-GROUP-NAME> – имя профиля IP-адресов, задаётся строкой до 31 символа;

<ADDR/LEN> – IP-адрес и маска подсети.

12

Задать профиль IP-адресов {отправителя | получателя}, для которых должно срабатывать правило (не обязательно).

esr(config-snat-rule)# match [not]
{source | destination}-port <TYPE> {<PORT-SET-NAME> | <FROM-PORT> - <TO-PORT>}

<TYPE> – тип аргумента, устанавливаемый в качестве адреса:

  • address-range – указать диапазон IPv4/IPv6 адресов;
  • object-group – указать имя профиля;
  • any – установить в качестве адреса любой адрес.

<PORT-SET-NAME> – имя профиля порта, задаётся строкой до 31 символа;

<FROM-PORT> – начальный порт диапазона;
<TO-PORT> – конечный порт диапазона.

13

Установить имя или номер IP-протокола, для которого должно срабатывать правило (не обязательно).

esr(config-snat-rule)# match [not]
{protocol|protocol-id} <TYPE>

<TYPE> – тип протокола, принимает значения: esp, icmp, ah, eigrp, ospf, igmp, ipip, tcp, pim, udp, vrrp, rdp, l2tp, gre. Значение «any» указывает на любой тип протокола;

<ID> – идентификационный номер IP-протокола, принимает значения [0x00-0xFF].

14

Задать тип и код сообщений протокола ICMP, для которых должно срабатывать правило (не обязательно).

esr(config-snat-rule)# match [not]
icmp {<ICMP_TYPE><ICMP_CODE> | <TYPE-NAME>}

<ICMP_TYPE> – тип сообщения протокола ICMP, принимает значения [0..255];

<ICMP_CODE> – код сообщения протокола ICMP, принимает значения [0..255]. Значение «any» указывает на любой код сообщения;

<TYPE-NAME> – имя типа ICMP сообщения

15

Задать действие «трансляция адреса и порта отправителя» для трафика, удовлетворяющего критериям, заданным командами «match».

esr(config-snat-rule)# action source-nat { off |
pool <NAME> | netmap <ADDR/LEN> [static] |
interface [FIRST_PORT – LAST_PORT] }

off – трансляция отключена;

pool<NAME> – имя пула, содержащего набор IP-адресов и/или TCP/UDP-портов;

netmap <ADDR/LEN> – IP-адрес и маска подсети, используемые при трансляции; static – опция для организации статического NAT.

Параметр задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32].

interface [FIRST_PORT – LAST_PORT] – задаёт трансляцию в IP-адрес интерфейса. Если дополнительно задан диапазон TCP/UDP-портов, то трансляция будет происходить только для TCP/UDP-портов отправителя, входящих в указанный диапазон.

16

Активировать конфигурируемое правило.

esr(config-snat-rule)# enable


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, алгоритм настройки настоящего руководства.

...

Якорь
Проксирование HTTP/HTTPS-трафика
Проксирование HTTP/HTTPS-трафика
Проксирование HTTP/HTTPS-трафика

Алгоритм настройки

Шаг

Описание

Команда

Ключи

1

Cоздать объект с URL.

esr(config)# object-group url <NAME>


2

Указать набор.

esr(config-object-group-url)# url <URL>

<URL> адрес веб страницы, сайта.

3

Создать профиль проксирования.

esr(config)# ip http profile <NAME>

<NAME> название профиля.

4

Выбрать действие по умолчанию.

esr(config-profile)# default action {deny|permit|redirect}
[redirect-url <URL>]

<URL> адрес хоста, на который будут передаваться запросы.

5

Указать описание (не обязательно).

esr(config-profile)# description <description>

<description> до 255 символов.

6

Указать удаленный или локальный список URL и тип операции (блокировка/пропуск трафика/перенаправление) (не обязательно).

esr(config-profile)# urls {local|remote} <URL_OBJ_GROUP_NAME>
action {deny|permit|redirect} [redirect-url <URL>]

<URL_OBJ_GROUP_NAME> указать название объекта, содержащего набор URL.

7

Указать удаленный сервер, где лежат необходимые списки URL (не обязательно).

esr(config)# ip http proxy server-url <URL> 

<URL> адрес сервера, откуда будут брать удалённые списки url.

8

Указать прослушиваемый порт для проксирования (не обязательно).

esr(config)# ip http proxy listen-ports <OBJ_GROUP_NAME>

<OBJ_GROUP_NAME> – имя профиля порта, задаётся строкой до 31 символа.

9

Указать прослушиваемый порт для проксирования (не обязательно).

esr(config)# ip https proxy listen-ports <OBJ_GROUP_NAME>

<OBJ_GROUP_NAME> имя профиля порта, задаётся строкой до 31 символа.

10

Указать базовый порт для проксирования (не обязательно).

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]
destination-port <obj-group-name>

<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].

Значение по умолчанию:
10 (210= 1024 секунды или 17 минут 4 секунды).

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, где:

  • HH – часы, принимает значение [0..23];
  • MM – минуты, принимает значение [0 .. 59];
  •  SS – секунды, принимает значение [0 .. 59].
  • <DAY> – день месяца, принимает значения [1..31];

<MONTH> – месяц, принимает значения [January/February/March/April/May/June/July/August/September/October/November/December];

<YEAR> – год, принимает значения [2001..2037].

...