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

Ключ

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

...

Шаг

Описание

Команда

Ключи

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> | address-range { <ADDR>[-<ADDR>] } | prefix { <ADDR/LEN> } | 
object-group { network <OBJ-GROUP-NETWORK-NAME>
| <ADDR/LEN>}
<TYPE> – тип аргумента, устанавливаемый в качестве адреса:} }

address-range

 – указать диапазон IPv4/IPv6 адресов;
  • object-group – указать имя профиля;
  • prefix – указать адрес подсети и префикс;
  • any – установить в качестве адреса любой адрес.
  • <ADDR>[-<ADDR>] – диапазон IP-адресов для правил NAT. Если не указывать IP-адрес конца диапазона, то в качестве IP-адреса для срабатывания правила используется только IP-адрес начала диапазона.
    Параметр задаётся в виде A.B.C.D, где каждая часть принимает значения [0..255];

    prefix <ADDR/LEN> – IP-подсеть, используемая для срабатывания правила NAT. Параметр задаётся в виде A.B.C.D/E, где каждая часть A – D принимает значения [0..255] и E принимает значения [1..32];

    object-group network <OBJ-GROUP-NETWORK

    <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, icmp6, ah, eigrp, ospf, igmp, ipip, tcp, pim, udp, vrrp, rdprsvp, 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].

    ...

    Блок кода
    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 network 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

    ...

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

    ...

    ШагОписаниеКомандаКлючи
    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-snatdnat-rule)# match [not]
     {source|destination}-address <TYPE> { <FROM-ADDR> - <TO-ADDR> | address-range { <ADDR>[-<ADDR>] } | prefix { <ADDR/LEN> } | 
    object-group { network <OBJ-GROUP-NETWORK-NAME>
    | <ADDR/LEN>}
    <TYPE> – тип аргумента, устанавливаемый в качестве адреса:} }

    address-range

     – указать диапазон IPv4/IPv6 адресов;
  • object-group – указать имя профиля;
  • prefix – указать адрес подсети и префикс;
  • any – установить в качестве адреса любой адрес.
  • <ADDR>[-<ADDR>] – диапазон IP-адресов для правил NAT. Если не указывать IP-адрес конца диапазона, то в качестве IP-адреса для срабатывания правила используется только IP-адрес начала диапазона.
    Параметр задаётся в виде A.B.C.D, где каждая часть принимает значения [0..255];

    prefix <ADDR/LEN> – IP-подсеть, используемая для срабатывания правила NAT. Параметр задаётся в виде A.B.C.D/E, где каждая часть A – D принимает значения [0..255] и E принимает значения [1..32];

    object-group network <OBJ-GROUP-NETWORK

    <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, icmp6, ah, eigrp, ospf, igmp, ipip, tcp, pim, udp, vrrp, rdprsvp, 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].

    ...

    Блок кода
    esr(config)# security zone-pair TRUST UNTRUST
    esr(config-zone-pair)# rule 1
    esr(config-zone-pair-rule)# match source-address object-group network 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

    ...

    Блок кода
    esr(config-snat)# ruleset SNAT
    esr(config-snat-ruleset)# to zone UNTRUST
    esr(config-snat-ruleset)# rule 1
    esr(config-snat-rule)# match source-address object-group network LOCAL_NET
    esr(config-snat-rule)# action source-nat pool TRANSLATE_ADDRESS
    esr(config-snat-rule)# enable
    esr(config-snat-rule)# exit
    esr(config-snat-ruleset)# exit

    ...

    Блок кода
    esr(config-snat)# ruleset SNAT
    esr(config-snat-ruleset)# to interface te1/0/1
    esr(config-snat-ruleset)# rule 1
    esr(config-snat-rule)# match source-address object-group network LOCAL_NET
    esr(config-snat-rule)# action source-nat pool TRANSLATE_ADDRESS
    esr(config-snat-rule)# enable
    esr(config-snat-rule)# exit
    esr(config-snat-ruleset)# exit

    ...

    Блок кода
    esr(config)# nat source
    esr(config-snat)# ruleset SNAT
    esr(config-snat-ruleset)# to interface te1/0/1
    esr(config-snat-ruleset)# rule 1
    esr(config-snat-rule)# match source-address object-group network LOCAL_NET
    esr(config-snat-rule)# action source-nat netmap 200.10.0.0/24 static
    esr(config-snat-rule)# enable
    esr(config-snat-rule)# exit
    esr(config-snat-ruleset)# exit

    ...