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

Ключ

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

...

Блок кода
esr# show ip nat translations

...

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

...

Шаг

...

Описание

...

Команда

...

Ключи

...

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

...

Указать режим фильтрации данных (необязательно).

...

esr(config-profile)# filter <DATA-TYPE>

<DATA-TYPE> – тип данных, подлежащих фильтрации. Может принимать значения (как одно, так и несколько):

...


...

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

...

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

...

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

...

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

...

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

...

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

...

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

...

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

...

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

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

...

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

...

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

...

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

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

...

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

...

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

...

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

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

...

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

...

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

...

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

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

...

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

...

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

...

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

...

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

...

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

...

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

...

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

...

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

...

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

...

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

...

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

...

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

...

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

...

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

...

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

...

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

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

...

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

...

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

...

<rule-number> – 1..10000.

...

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

...

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

...

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

...

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

...

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

...

<action> – permit.

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

...

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

...

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

...

<protocol-type> – tcp.

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

...

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

...

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

...

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

...

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

...

esr(config-zone-rule)# enable

Примечание

Если функция Firewall на ESR принудительно не отключена, необходимо создать разрешающее правило для зоны Self.

Пример настройки HTTP-прокси

Задача:

Организовать фильтрацию по URL для ряда адресов посредством прокси.

Image Removed
Решение:

Создадим набор URL, по которым будет осуществляться фильтрация. Настроим прокси-фильтр и укажем действия для созданного набора URL:

Блок кода
esr# configure
esr(config)# object-group url FILTER_OG
esr(config-object-group-url)# regexp *speedtest.net/
esr(config-object-group-url)# url http://ya.ru/
esr(config-object-group-url)# url https://ya.ru/
esr(config-object-group-url)# exit

Scroll Pagebreak

Создаем профиль, где указываем действие для всех URL и действие для созданной группы URL:

Блок кода
esr(config)# ip http profile PROXY_LIST
esr(config-profile)# default action permit
esr(config-profile)# urls local FILTER_OG action redirect redirect-url http://test.loc
esr(config-profile)# exit

Включим проксирование на интерфейсе по профилю ‘PROXY_LIST’:

Блок кода
esr(config)# interface gi 1/0/1
esr(config-if)# ip http proxy PROXY_LIST
esr(config-if)# ip https proxy PROXY_LIST

Если используется 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%   

В примере используется модель ESR-20, у которой 4 CPU.

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

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

Для https proxy необходимо открыть порты с 3132 по 3135 (3128+4=3132, 3128+2*4-1=3135).

Создаем профиль портов прокси-сервера:

Блок кода
esr(config)# object-group service PROXY_PORTS
esr(config-object-group-service)# port-range 3128-3135
esr(config-object-group-service)# exit

Создаем разрешающее правило межзонового взаимодействия:

Блок кода
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_PORTS
esr(config-zone-pair-rule)# enable
esr(config-zone-pair-rule)# exit
esr(config-zone-pair)# exit

Scroll Pagebreak

Задача:

Изменить локальный список с URL для фильтрации proxy-сервером на список, получаемый с удалённого сервера.

Image Removed

Решение:

Для использования remote-списка необходимо в конфигурации прописать адрес сервера, а в ip http profile изменить urls local на urls remote <list> название списка, лежащего на сервере:

Блок кода
esr(config)# ip http proxy server-url http://198.51.100.10
esr(config)# ip http profile PROXY_LIST
esr(config-profile)# default action permit
esr(config-profile)# urls remote URLS_PROXY action deny
esr(config-profile)# exit

Scroll Pagebreak

Задача:

Организовать фильтрацию по веб-скриптам ActiveX URL для ряда адресов посредством прокси и настроить логирование событий в консоль.

Решение:

...

Для блокировки сайтов, использующих ActiveX, настроим фильтрацию и включим логирование событий proxy:

Блок кода
esr(config)# ip http profile PROXY_LIST
esr(config-profile)# default action permit
esr(config-profile)# urls local FILTER_OG action redirect redirect-url http://test.loc
esr(config-profile)# filter activex
esr(config-profile)# log enable
esr(config-profile)# exit

Теперь при срабатывании фильтрации, а также указанных действий для URL, в консоль будут попадать логи вида:

Блок кода
%FIREWALL-I-LOG: http proxy 'Filter' (QQ) denied (ActiveX)
%FIREWALL-I-LOG: http proxy 'PROXY_LIST' permitted 

Scroll Pagebreak

Настройка NTP

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

...