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

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Блок кода
esr# configure
esr(config)# ip dhcp-server pool Simple
esr(config-dhcp-server)# network 192.168.1.0/24
esr(config-dhcp-server)# address-range 192.168.1.100-192.168.1.125
esr(config-dhcp-server)# default-lease-time 1:00:00

Scroll Pagebreak

Сконфигурируем передачу клиентам дополнительных сетевых параметров:

...

Блок кода
esr(config)# interface gigabitethernet 1/0/1
esr(config-if-gi)# security-zone trusted
esr(config-if-gi)# ip address 192.168.1.1/24
esr(config-if-gi)# exit

Scroll Pagebreak

Для разрешения прохождения сообщений протокола DHCP к серверу необходимо создать соответствующие профили портов, включающие порт источника 68 и порт назначения 67, используемые протоколом DHCP, и создать разрешающее правило в политике безопасности для прохождения пакетов протокола UDP:

...

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

Scroll Pagebreak

Алгоритм настройки
Якорь
Алгоритм настройки 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].

...

Создадим набор правил «DNAT», в соответствии с которыми будет производиться трансляция адресов. В атрибутах набора укажем, что правила применяются только для пакетов, пришедших из зоны «UNTRUST». Набор правил включает в себя требования соответствия данных по адресу и порту назначения (match destination-address, match destination-port) и по протоколу. Кроме этого в наборе задано действие, применяемое к данным, удовлетворяющим всем правилам (action destination-nat). Набор правил вводится в действие командой «enable»командой enable.

Блок кода
esr(config-dnat)# ruleset DNAT
esr(config-dnat-ruleset)# from zone UNTRUST
esr(config-dnat-ruleset)# rule 1
esr(config-dnat-rule)# match destination-address object-group NET_UPLINK
esr(config-dnat-rule)# match protocol tcp 
esr(config-dnat-rule)# match destination-port object-group SRV_HTTP
esr(config-dnat-rule)# action destination-nat pool SERVER_POOL
esr(config-dnat-rule)# enable
esr(config-dnat-rule)# exit
esr(config-dnat-ruleset)# exit
esr(config-dnat)# exit

...

Для пропуска трафика из зоны «TRUST» в зону «UNTRUST» создадим пару зон и добавим правила, разрешающие проходить трафику в этом направлении. Дополнительно включена проверка адреса источника данных на принадлежность к диапазону адресов «LOCAL_NET» для соблюдения ограничения на выход в публичную сеть. Действие правил разрешается командой командой enable.

Блок кода
esr(config)# security zone-pair TRUST UNTRUST
esr(config-zone-pair)# rule 1
esr(config-zone-pair-rule)# match source-address object-group LOCAL_NET
esr(config-zone-pair-rule)# action permit
esr(config-zone-pair-rule)# enable
esr(config-zone-pair-rule)# exit
esr(config-zone-pair)# exit

...

Шаг

Описание

Команда

Ключи

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

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

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

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

По умолчанию прослушиваются порты 80 и 8080

9

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

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

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

По умолчанию прослушивается порт 443

10

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

esr(config)# ip http proxy redirect-port <PORT>

<PORT> – номер порта, указывается в диапазоне [1..65535].

Значение по умолчанию 3128.

11

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

esr(config)# ip http proxy redirect-port <PORT>

<PORT> – номер порта, указывается в диапазоне [1..65535].

Значение по умолчанию 3128.

12

Включить проксирование на интерфейсе на основе выбранного HTTP-профиля.

esr(config-if)# ip http proxy <PROFILE_NAME>

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

13

Включить проксирование на интерфейсе на основе выбранного HTTPS-профиля.

esr(config-if)# ip https proxy <PROFILE_NAME>     

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

14

Создать списки сервисов, которые будут использоваться при фильтрации.

esr(config)# object-group service <obj-group-name>

<obj-group-name> – имя профиля сервисов, задается строкой до 31 символа.

15

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

esr(config-object-group-service)# description <description>

<description> – описание профиля, задается строкой до 255 символов.

16

Внести необходимые сервисы (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.

Количество CPU можно посмотреть с  помощью команды show cpu utilization.

17

Создать набор правил межзонового взаимодействия.

esr(config)# security zone-pair <src-zone-name1> self

<src-zone-name> – зона безопасности, в которой находятся интерфейсы с функцией ip http proxy или ip https proxy.

self – предопределенная зона безопасности для трафика, поступающего на сам ESR.

18

Создать правило межзонового взаимодействия.

esr(config-zone-pair)# rule <rule-number>

<rule-number> – 1..10000.

19

Задать описание правила (не обязательно).

esr(config-zone-rule)# description <description>

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

20

Указать действие данного правила.

esr(config-zone-rule)# action <action> [ log ]

<action> – permit.

log – ключ для активации логирования сессий, которые устанавливаются согласно данному правилу.

21

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

esr(config-zone-rule)# match protocol <protocol-type>

<protocol-type> – tcp.

Прокси-сервер ESR работает по протоколу ESR.

22

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

esr(config-zone-rule)# match [not]
destination-port <obj-group-name>

<obj-group-name> – имя профиля сервисов, созданного на шаге 12.

23

Включить правило межзонового взаимодействия.

esr(config-zone-rule)# enable


...

Если используется Firewall, создадим для него разрешающие правила:

Определим число CPU, доступных для данной модели:

Блок кода
esr(config)# do show cpu utilization 
CPU    Last      Last      Last      
       5 sec     1 min     5 min     
----   -------   -------   -------   
0      3.79%     1.61%     1.55%     
1      0.00%     0.00%     0.01%     
2      0.00%     0.00%     0.01%     
3      0.00%     0.02%     0.01%   

...

Соответственно по формуле, описанной на 16 шаге алгоритма настройки http/https-прокси, получаем: 

Для http proxy необходимо открыть порты с 3128 по 3131. (3128+4-1=3131)

...

Блок кода
esr(config)# security zone-pair LAN self
esr(config-zone-pair)# rule 50
esr(config-zone-pair-rule)# action permit
esr(config-zone-pair-rule)# match protocol tcp
esr(config-zone-pair-rule)# match destination-port object-group proxy
esr(config-zone-pair-rule)# enable
esr(config-zone-pair-rule)# exit
esr(config-zone-pair)# exit

Scroll Pagebreak

Настройка NTP

NTP (англ. Network Time Protocol — протокол сетевого времени) — сетевой протокол для синхронизации внутренних часов оборудования с использованием IP-сетей, использует для своей работы протокол UDP, учитывает время передачи и использует алгоритмы для достижения высокой точности синхронизации времени.

...

Команда для просмотра текущего состояние состояния NTP-серверов (пиров):

Блок кода
esr# show ntp peers

...