Настройка правил NAT и маршрутизации

ID статьи: 1716
Последнее обновление: 21 ноя, 2024
Product: DCFW
Version: 8.x
Technology: Firewall

Настройка правил NAT и маршрутизации происходит на уровне network-policy nat-routing. Подробнее о структуре команд читайте в разделе UserGate Policy Language.

Admin@nodename# create network-policy nat-routing 1 upl-rule <parameters>

Настройка правил типа NAT

При настройке правил типа NAT, необходимо указать следующие параметры:

Параметр

Описание

PASS

OK

Действие для создания правила с помощью UPL.

enabled

Включение/отключение правила:

  • enabled(yes) или enabled(true).

  • enabled(no) или enabled(false).

name

Название правила NAT.

Например: name("NAT rule example").

desc

Описание правила.

Например: desc("NAT rule example set via CLI").

nat

Тип правила (указывается в свойствах правила).

snat_target_ip

IP-адрес, на который будет заменён адрес источника. Адрес указывается в "", например snat_target_ip ("1.1.1.1").

rule_log

Запись в журнал информации о трафике при срабатывании правила. Возможны варианты:

  • rule_log(no) или rule_log(false) — отключить журналирование. Если при создании правила rule_log не указано, функция журналирования отключена.

  • rule_log(session) — журналировать начало сессии.

src.zone

Зона источника трафика.

Для указания зоны источника, например, Trusted: src.zone = Trusted.

Подробнее о настройке зон с использованием интерфейса командной строки читайте в разделе Зоны.

src.ip

Добавление списков IP-адресов, MAC-адресов или доменов источника.

Для указания списка IP-адресов: src.ip = lib.network(); в скобках необходимо указать название списка. Подробнее о создании и настройке списков IP-адресов с использованием CLI читайте в разделе Настройка IP-адресов.

Для указания списка доменов источника: src.ip = lib.url(); в скобках необходимо указать название URL, в который были добавлены необходимые домены. Подробнее о создании и настройке списков URL с использованием интерфейса командной строки читайте в разделе Настройка списков URL.

Для указания MAC-адресов источников, например 02:00:00:00:00:00, используйте: src.ip = 02:00:00:00:00:00.

dst.zone

Зона назначения трафика.

Для указания зоны назначения трафика, например, Untrusted: dst.zone = Untrusted.

Подробнее о настройке зон с использованием интерфейса командной строки читайте в разделе Зоны.

dst.ip

Добавление списков IP-адресов, MAC-адресов или доменов назначения.

Для указания списка IP-адресов: dst.ip = lib.network(); в скобках необходимо указать название списка. Подробнее о создании и настройке списков IP-адресов с использованием CLI читайте в разделе Настройка IP-адресов.

Для указания списка доменов назначения: dst.ip = lib.url(); в скобках необходимо указать название URL-списка, в который были добавлены необходимые домены. Подробнее о создании и настройке списков URL с использованием интерфейса командной строки читайте в разделе Настройка списков URL.

Для указания MAC-адресов назначения, например 02:00:00:00:00:00, используйте: dst.ip = 02:00:00:00:00:00.

service

Тип сервиса. Можно указать сервис или группу сервисов (подробнее читайте в разделах Настройка сервисов и Настройка групп сервисов).

Чтобы указать сервис: service = "service name"; для указания нескольких сервисов: service = (service-name1, service-name2, ...).

Чтобы указать группу сервисов: service = lib.service(); в скобках необходимо указать название группы сервисов.

Пример создания правила NAT с использованием UPL: 

Admin@nodename# create network-policy nat-routing 1 upl-rule PASS \
...src.zone = Trusted \
...dst.zone = Untrusted \
...nat \
...rule_log(session) \
...name("Test NAT rule") \
...enabled(true)
...
Admin@nodename# show network-policy nat-routing 1
% ----------------- 1 -----------------
OK \
    src.zone = Trusted \
    dst.zone = Untrusted \
    direction(input) \
    rule_log(session) \
    enabled(true) \
    id("0344640b-b392-4920-9853-77d85ec1338c") \
    name("Test NAT rule")\
    nat

Настройка правил типа DNAT

При настройке правил типа DNAT необходимо указать следующие параметры.

Параметр

Описание

PASS

OK

Действие для создания правила с помощью UPL.

enabled

Включение/отключение правила:

  • enabled(yes) или enabled(true).

  • enabled(no) или enabled(false).

name

Название правила DNAT.

Например: name("DNAT rule example").

desc

Описание правила.

Чтобы указать описание правила используется: desc("DNAT rule example created via CLI").

dnat

Тип правила (указывается в свойствах правила).

snat_target_ip

IP-адрес, на который будет заменён адрес источника. Адрес указывается в "", например snat_target_ip ("1.1.1.1").

rule_log

Запись в журнал информации о трафике при срабатывании правила. Возможны варианты:

  • rule_log(no) или rule_log(false) — отключить журналирование. Если при создании правила rule_log не указано, функция журналирования отключена.

  • rule_log(session) — журналировать начало сессии.

src.zone

Зона источника трафика.

Чтобы указать зону источника трафика, например Trusted: src.zone = Trusted.

Подробнее о настройке зон с использованием интерфейса командной строки читайте в разделе Зоны.

src.ip

Добавление списков IP-адресов, MAC-адресов или доменов источника.

Для указания списка IP-адресов: src.ip = lib.network(); в скобках необходимо указать название списка. Подробнее о создании и настройке списков IP-адресов с использованием CLI читайте в разделе Настройка IP-адресов.

Для указания списка доменов источника: src.ip = lib.url(); в скобках необходимо указать название URL, в который были добавлены необходимые домены. Подробнее о создании и настройке списков URL с использованием интерфейса командной строки читайте в разделе Настройка списков URL.

Для указания MAC-адресов источников, например 02:00:00:00:00:00, используйте: src.ip = 02:00:00:00:00:00.

src.geoip

Указание GeoIP источника; необходимо указать код страны (например, src.geoip = RU).

Коды названий стран доступны по ссылке ISO 3166-1.

Важно! Существует ограничение на количество GeoIP, которое может быть указано: не более 15.

dst.zone

Зона назначения трафика.

Для указания зоны назначения, например, Untrusted: dst.zone = Untrusted.

Подробнее о настройке зон с использованием интерфейса командной строки читайте в разделе Зоны.

dst.ip

Добавление списков IP-адресов, MAC-адресов или доменов назначения.

Для указания списка IP-адресов: dst.ip = lib.network(); в скобках необходимо указать название списка. Подробнее о создании и настройке списков IP-адресов с использованием CLI читайте в разделе Настройка IP-адресов.

Для указания списка доменов назначения: dst.ip = lib.url(); в скобках необходимо указать название URL-списка, в который были добавлены необходимые домены. Подробнее о создании и настройке списков URL с использованием интерфейса командной строки читайте в разделе Настройка списков URL.

Для указания MAC-адресов назначения, например 02:00:00:00:00:00, используйте: dst.ip = 02:00:00:00:00:00.

service

Тип сервиса. Можно указать сервис или группу сервисов (подробнее читайте в разделах Настройка сервисов и Настройка групп сервисов).

Чтобы указать сервис: service = "service name"; для указания нескольких сервисов: service = (service-name1, service-name2, ...).

Чтобы указать группу сервисов: service = lib.service(); в скобках необходимо указать название группы сервисов.

target_ip

Адрес назначения DNAT.

Для указания адреса назначения: target_ip("1.1.1.1").

target_snat

Изменение IP-адреса источника на адрес UserGate:

  • target_snat(yes) или target_snat(true).

  • target_snat(no) или target_snat(false).

Пример создания правила DNAT с использованием UPL:

Admin@nodename# create network-policy nat-routing 1 upl-rule PASS \
...src.zone = Untrusted \
...target_ip("10.10.0.15") \
...dnat \
...rule_log(session) \
...name("Test DNAT") \
...enabled(yes)
...
Admin@nodename# show network-policy nat-routing 1
% ----------------- 1 -----------------
OK \
    src.zone = Untrusted \
    target_ip("10.10.0.15") \
    direction(input) \
    rule_log(session) \
    enabled(true) \
    id("00e60d4e-9b93-454b-a424-58e2102f84c2") \
    name("Test DNAT")\
    dnat

Настройка правил типа Порт-форвардинг

При настройке правил типа Порт-форвардинг необходимо указать:

Параметр

Описание

PASS

OK

Действие для создания правила с помощью UPL.

enabled

Включение/отключение правила:

  • enabled(yes) или enabled(true).

  • enabled(no) или enabled(false).

name

Название правила Порт-форвардинга.

Например: name("Port forwarding rule example").

desc

Описание правила.

Чтобы указать описание правила используется: desc("Port forwarding rule example created via CLI").

port_mapping

Тип правила (указывается в свойствах правила).

snat_target_ip

IP-адрес, на который будет заменён адрес источника. Адрес указывается в "", например snat_target_ip ("1.1.1.1").

rule_log

Запись в журнал информации о трафике при срабатывании правила. Возможны варианты:

  • rule_log(no) или rule_log(false) — отключить журналирование. Если при создании правила rule_log не указано, функция журналирования отключена.

  • rule_log(session) — журналировать начало сессии.

src.zone

Зона источника трафика.

Для указания зоны источника: src.zone = Trusted.

Подробнее о настройке зон с использованием интерфейса командной строки читайте в разделе Зоны.

src.ip

Добавление списков IP-адресов, MAC-адресов или доменов источника.

Для указания списка IP-адресов: src.ip = lib.network(); в скобках необходимо указать название списка. Подробнее о создании и настройке списков IP-адресов с использованием CLI читайте в разделе Настройка IP-адресов.

Для указания списка доменов источника: src.ip = lib.url(); в скобках необходимо указать название URL, в который были добавлены необходимые домены. Подробнее о создании и настройке списков URL с использованием интерфейса командной строки читайте в разделе Настройка списков URL.

Для указания MAC-адресов источников, например 02:00:00:00:00:00, используйте: src.ip = 02:00:00:00:00:00.

src.geoip

Указание GeoIP источника; необходимо указать код страны (например, src.geoip = RU).

Коды названий стран доступны по ссылке ISO 3166-1.

Важно! Существует ограничение на количество GeoIP, которое может быть указано: не более 15.

dst.ip

Добавление списков IP-адресов, MAC-адресов или доменов назначения.

Для указания списка IP-адресов: dst.ip = lib.network(); в скобках необходимо указать название списка. Подробнее о создании и настройке списков IP-адресов с использованием CLI читайте в разделе Настройка IP-адресов.

Для указания списка доменов назначения: dst.ip = lib.url(); в скобках необходимо указать название URL-списка, в который были добавлены необходимые домены. Подробнее о создании и настройке списков URL с использованием интерфейса командной строки читайте в разделе Настройка списков URL.

Для указания MAC-адресов назначения, например 02:00:00:00:00:00, используйте: dst.ip = 02:00:00:00:00:00.

port_map

Переопределение портов публикуемых сервисов:

Для переопределения необходимо указать сетевой протокол (tcp, udp, smtp, smtps), оригинальный и новый порты назначения. Например, port_map(tcp, 2000, 2100).

Важно! Нельзя использовать следующие порты, поскольку они используются внутренними сервисами UserGate: 2200, 8001, 4369, 9000-9100.

target_ip

Адрес назначения DNAT.

Для указания адреса назначения: target_ip("1.1.1.1").

target_snat

Изменение IP-адреса источника на адрес UserGate:

  • target_snat(yes) или target_snat(true).

  • target_snat(no) или target_snat(false).

Пример создания правила порт-форвардинг с использованием UPL:

Admin@nodename# create network-policy nat-routing 8 upl-rule OK \
... src.zone = Untrusted \
... dst.ip = lib.network(UG_IP) \
... target_ip("10.10.0.16") \
... port_map(tcp, 2222, 23) \
... rule_log(session) \
... name(port_fw1) \
... port_mapping \
... 
Admin@nodename# show network-policy nat-routing 8
% ----------------- 8 -----------------
OK \
    src.zone = Untrusted \
    dst.ip = lib.network(UG_IP) \
    target_ip("10.10.0.16") \
    port_map(tcp, 2222, 23) \
    direction(input) \
    rule_log(session) \
    enabled(true) \
    id("1af47c3f-96a3-4e65-90e3-debf169bb745") \
    name(port_fw1)\
    port_mapping

Настройка правил типа Policy-based routing

Для настройки правил типа Policy-based routing нужно указать:

Параметр

Описание

PASS

OK

Действие для создания правила с помощью UPL.

enabled

Включение/отключение правила:

  • enabled(yes) или enabled(true).

  • enabled(no) или enabled(false).

name

Название правила типа Policy-based routing.

Например: name("Policy-based routing rule example").

desc

Описание правила.

Чтобы указать описание правила используется: desc("Policy-based routing rule example set via CLI").

route

Тип правила (указывается в свойствах правила).

gateway

Выбор одного из существующих шлюзов: gateway("1.1.1.1").

О добавлении шлюзов через CLI читайте в разделе Настройка шлюзов.

scenario

Сценарий, который должен быть активным для срабатывания правила.

Для указания сценария: scenario = "Example of a scenario".

Подробнее о настройке сценариев смотрите в разделе Настройка сценариев.

rule_log

Запись в журнал информации о трафике при срабатывании правила. Возможны варианты:

  • rule_log(no) или rule_log(false) — отключить журналирование. Если при создании правила rule_log не указано, функция журналирования отключена.

  • rule_log(session) — журналировать начало сессии.

src.zone

Зона источника трафика.

Для указания зоны источника: src.zone = Trusted.

Подробнее о настройке зон с использованием интерфейса командной строки читайте в разделе Зоны.

src.ip

Добавление списков IP-адресов, MAC-адресов или доменов источника.

Для указания списка IP-адресов: src.ip = lib.network(); в скобках необходимо указать название списка. Подробнее о создании и настройке списков IP-адресов с использованием CLI читайте в разделе Настройка IP-адресов.

Для указания списка доменов источника: src.ip = lib.url(); в скобках необходимо указать название URL, в который были добавлены необходимые домены. Подробнее о создании и настройке списков URL с использованием интерфейса командной строки читайте в разделе Настройка списков URL.

Для указания MAC-адресов источников, например 02:00:00:00:00:00, используйте: src.ip = 02:00:00:00:00:00.

src.geoip

Указание GeoIP источника; необходимо указать код страны (например, src.geoip = RU).

Коды названий стран доступны по ссылке ISO 3166-1.

Важно! Существует ограничение на количество GeoIP, которое может быть указано: не более 15.

dst.ip

Добавление списков IP-адресов, MAC-адресов или доменов назначения.

Для указания списка IP-адресов: dst.ip = lib.network(); в скобках необходимо указать название списка. Подробнее о создании и настройке списков IP-адресов с использованием CLI читайте в разделе Настройка IP-адресов.

Для указания списка доменов назначения: dst.ip = lib.url(); в скобках необходимо указать название URL-списка, в который были добавлены необходимые домены. Подробнее о создании и настройке списков URL с использованием интерфейса командной строки читайте в разделе Настройка списков URL.

Для указания MAC-адресов назначения, например 02:00:00:00:00:00, используйте: dst.ip = 02:00:00:00:00:00.

dst.geoip

Указание GeoIP назначения; необходимо указать код страны (например, dst.geoip = RU).

Коды названий стран доступны по ссылке ISO 3166-1.

Важно! Существует ограничение на количество GeoIP, которое может быть указано: не более 15.

service

Тип сервиса. Можно указать сервис или группу сервисов (подробнее читайте в разделах Настройка сервисов и Настройка групп сервисов).

Чтобы указать сервис: service = "service name"; для указания нескольких сервисов: service = (service-name1, service-name2, ...).

Чтобы указать группу сервисов: service = lib.service(); в скобках необходимо указать название группы сервисов.

user

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

Для добавления LDAP групп и пользователей необходим корректно настроенный LDAP-коннектор (о настройке LDAP-коннектора через CLI читайте в разделе Настройка LDAP-коннектора).

Примеры добавления пользователей в правило:

user = known 
user = "user"
user = "testd.local\\user1"
user = ("user", "testd.local\\user1")

Пример создания и редактирования правила policy-based routing с использованием UPL:

Admin@nodename# create network-policy nat-routing 7 upl-rule OK \
... route \
... gateway("def") \
... name("testpbr1") \
... enabled(true) \
... rule_log(session) \
... 
Admin@nodename# set network-policy nat-routing 7 upl-rule OK \
... service = (HTTPS, HTTP) \
... 
Admin@nodename# set network-policy nat-routing 7 upl-rule OK \
... user = "CN=Users1,DC=LOCAL"
Admin@nodename# show network-policy nat-routing 7 
% ----------------- 7 -----------------
OK \
    user = "CN=Users1,DC=LOCAL" \
    service = (HTTPS, HTTP) \
    gateway(def) \
    direction(input) \
    rule_log(session) \
    enabled(true) \
    id("0585a95f-4707-4c11-840d-44643bc2c799") \
    name(testpbr1)\
    route

Настройка правил типа Network mapping

При настройке правил типа Network mapping необходимо указать следующие параметры:

Параметр

Описание

PASS

OK

Действие для создания правила с помощью UPL.

enabled

Включение/отключение правила:

  • enabled(yes) или enabled(true).

  • enabled(no) или enabled(false).

name

Название правила типа Network mapping.

Например: name("Network mapping rule example").

desc

Описание правила.

Чтобы указать описание правила используется: desc("Network mapping rule example set via CLI").

netmap

Тип правила (указывается в свойствах правила).

rule_log

Запись в журнал информации о трафике при срабатывании правила. Возможны варианты:

  • rule_log(no) или rule_log(false) — отключить журналирование. Если при создании правила rule_log не указано, функция журналирования отключена.

  • rule_log(session) — журналировать начало сессии.

src.zone

Зона источника трафика.

Для указания зоны источника: src.zone = Trusted.

Подробнее о настройке зон с использованием интерфейса командной строки читайте в разделе Зоны.

src.ip

Добавление списков IP-адресов, MAC-адресов или доменов источника.

Для указания списка IP-адресов: src.ip = lib.network(); в скобках необходимо указать название списка. Подробнее о создании и настройке списков IP-адресов с использованием CLI читайте в разделе Настройка IP-адресов.

Для указания списка доменов источника: src.ip = lib.url(); в скобках необходимо указать название URL, в который были добавлены необходимые домены. Подробнее о создании и настройке списков URL с использованием интерфейса командной строки читайте в разделе Настройка списков URL.

Для указания MAC-адресов источников, например 02:00:00:00:00:00, используйте: src.ip = 02:00:00:00:00:00.

src.geoip

Указание GeoIP источника; необходимо указать код страны (например, src.geoip = RU).

Коды названий стран доступны по ссылке ISO 3166-1.

Важно! Существует ограничение на количество GeoIP, которое может быть указано: не более 15.

dst.ip

Добавление списков IP-адресов, MAC-адресов или доменов назначения.

Для указания списка IP-адресов: dst.ip = lib.network(); в скобках необходимо указать название списка. Подробнее о создании и настройке списков IP-адресов с использованием CLI читайте в разделе Настройка IP-адресов.

Для указания списка доменов назначения: dst.ip = lib.url(); в скобках необходимо указать название URL-списка, в который были добавлены необходимые домены. Подробнее о создании и настройке списков URL с использованием интерфейса командной строки читайте в разделе Настройка списков URL.

Для указания MAC-адресов назначения, например 02:00:00:00:00:00, используйте: dst.ip = 02:00:00:00:00:00.

dst.geoip

Указание GeoIP назначения; необходимо указать код страны (например, dst.geoip = RU).

Коды названий стран доступны по ссылке ISO 3166-1.

Важно! Существует ограничение на количество GeoIP, которое может быть указано: не более 15.

service

Тип сервиса. Можно указать сервис или группу сервисов (подробнее читайте в разделах Настройка сервисов и Настройка групп сервисов).

Чтобы указать сервис: service = "service name"; для указания нескольких сервисов: service = (service-name1, service-name2, ...).

Чтобы указать группу сервисов: service = lib.service(); в скобках необходимо указать название группы сервисов.

target_ip

Параметр подмены сетей; адрес сети, на которую будет производится замена, например: target_ip("1.1.1.0").

direction

Параметр подмены сетей. Направление:

  • direction(input) — входящий, подменяется IP-сеть назначения. Будут изменены IP-адреса назначения в трафике, попадающем под условия правила. Изменяется адрес сети на сеть, указанную в значении target_ip.

  • direction(output) — исходящий, подменяется IP-сеть источника. Будут изменены IP-адреса источника в трафике, попадающем под условия правила. Изменяется адрес сети на сеть, указанную в значении target_ip.

Пример создания правила network mapping с использованием UPL:

Admin@nodename# create network-policy nat-routing 8 upl-rule OK \
... src.zone = External \
... target_ip("192.168.222.0/24") \
... direction(output) \
... netmap \
... rule_log(session) \
... name(netmap1) \
... 
Admin@nodename# show network-policy nat-routing 8
% ----------------- 8 -----------------
OK \
    src.zone = External \
    target_ip("192.168.222.0/24") \
    direction(output) \
    rule_log(session) \
    enabled(true) \
    id("26cbd3e8-0210-494c-9fd4-57300b47a9fe") \
    name(netmap1)\
    netmap
Эта статья была:   Полезна | Не полезна
Сообщить об ошибке
ID статьи: 1716
Последнее обновление: 21 ноя, 2024
Ревизия: 4
Просмотры: 4
Комментарии: 0
Теги