Маршрутизация

Настройка шлюза по умолчанию

Для настройки шлюза по умолчанию необходимо ввести следующую команду:

set protocols static route 0.0.0.0/0 next-hop <x.x.x.x>

где <x.x.x.x> – IP-адрес.

Для удаления шлюза по умолчанию необходимо ввести следующую команду:

delete protocols static route 0.0.0.0/0

Для просмотра информации о маршруте по умолчанию необходимо ввести команду «show ip route 0.0.0.0»:

admin@ngfwos:~$ show ip route 0.0.0.0

Настройка статического маршрута

Для настройки статического маршрута необходимо ввести следующую команду:

set protocols static route <x.x.x.x/x> next-hop <x.x.x.x>

где:

  • <x.x.x.x/x> – IPv4-адрес сети;

  • <x.x.x.x> – IPv4-адрес.

Например:

set protocols static route 172.16.43.0/24 next-hop 172.16.43.1

Поддерживается возможность настройки нескольких статических маршрутов.

Для указания дистанции для маршрута необходимо ввести следующую команду:

set protocols static route <x.x.x.x/x> next-hop <x.x.x.x> distance <num>

где <num> – значение дистанции. Возможно указание значения в диапазоне от «1» до «255».

Маршрут с присвоенным значением дистанции «1» будет иметь наивысший приоритет.

По умолчанию используется значение «1».

Для отключения статического маршрута необходимо ввести следующую команду:

set protocols static route <x.x.x.x/x> next-hop <x.x.x.x> disable

Для настройки статического маршрута IPv6 необходимо ввести следующую команду:

set protocols static route6 <h:h:h:h:h:h:h:h/x> next-hop <h:h:h:h:h:h:h:h>

где:

  • «route6» – указывает на формат IPv6;

  • <h:h:h:h:h:h:h:h/x> – IPv6-адрес сети;

  • <h:h:h:h:h:h:h:h> – IPv6-адрес.

Настройка интерфейсного маршрута

Для настройки маршрута на основе интерфейса необходимо ввести следующую команду:

set protocols static route <x.x.x.x/x> interface <name>

где:

  • <x.x.x.x/x> – IPv4-адрес сети;

  • <name> – имя интерфейса, на который будет направлен трафик указанной сети.

Возможно указание IPv6-адреса сети:

set protocols static route6 <h:h:h:h:h:h:h:h/x> interface <name>

Для указания дистанции для маршрута на основе интерфейса необходимо ввести следующую команду:

set protocols static route <x.x.x.x/x> interface <name> distance <num>

где <num> – значение дистанции. Возможно указание значения в диапазоне от «1» до «255».

Маршрут с присвоенным значением дистанции «1» будет иметь наивысший приоритет.

По умолчанию используется значение «1».

Для отключения маршрута на основе интерфейса необходимо ввести следующую команду:

set protocols static route <x.x.x.x/x> interface <name> disable

Примечание

Для обеспечения функционирования интерфейсной маршрутизации необходимо включить прокси ARP на используемом интерфейсе во всех задействованных ARMA Стена:

set interfaces ethernet <ethХ> ip enable-proxy-arp

Настройка тупикового маршрута

Тупиковые маршруты используются для отбрасывания пакетов, направленных в сеть через внешний интерфейс.

Для настройки тупикового маршрута необходимо ввести следующую команду:

set protocols static route <x.x.x.x/x> blackhole

Для указания дистанции для тупикового маршрута необходимо ввести следующую команду:

set protocols static route <x.x.x.x/x> blackhole distance <num>

где <num> – значение дистанции. Возможно указание значения в диапазоне от «1» до «255».

Маршрут с присвоенным значением дистанции «1» будет иметь наивысший приоритет.

Настройка статической записи ARP

Для настройки ARP-маршрута необходимо ввести следующую команду:

set protocols static arp interface <name> address <x.x.x.x> mac <xx.xx.xx.xx.xx.xx>

где <xx.xx.xx.xx.xx.xx> – MAC-адрес.

Политики фильтрации маршрутов

Политика фильтрации маршрутов ― это механизм, позволяющий настраивать критерии, с которыми будет сравниваться получаемая маршрутная информация, а в случае соответствия определённому критерию ― выполнять для маршрута одно или несколько действий.

В конфигурации ARMA Стена политики фильтрации маршрутов группируются под узлом «policy», который является контейнером для операторов политики. Операторы политики определяют правила, которые будут применяться к маршрутной информации.

Политика списка доступа

ARMA Стена позволяет выполнять фильтрацию с использованием списков ACL и списков префиксов.

ACL — список правил, определяющий доступ к объекту (программе, процессу или файлу), и какие именно операции разрешено или запрещено выполнять субъекту.

Основные команды настройки списков доступа

  1. Определить список доступа:

set policy access-list <acl_number>

где <acl_number> - численный идентификатор списка доступа. Допустимые значения представлены в таблице (см. Таблица «Значения идентификатора списка доступа»):

Таблица «Значения идентификатора списка доступа»

Значение

Описание

<1-99>

Стандартный список доступа IPv4

<100-199>

Расширенный список доступа IPv4

<1300-1999>

Стандартный список доступа IPv4 (расширенный диапазон)

<2000-2699>

Расширенный список доступа IPv4 (расширенный диапазон)

  1. Задать краткое описание списка доступа:

set policy access-list <acl_number> description <text>

где <text> - текстовое описание для списка доступа.

  1. Создать правило списка доступа:

set policy access-list <acl_number> rule <rule_number>

где <rule_number> - численный идентификатор правила. Возможно указать значение в диапазоне от «1» до «65535».

  1. Установить действие, которое должно быть выполнено для пакетов, соответствующих правилу списка доступа:

set policy access-list <acl_number> rule <rule_number> action <action>

где <action> - действие для адресов, соответствующих правилу. Возможно указать следующие значения:

  • <deny> - пакеты, соответствующие данному правилу, игнорируются без каких-либо действий и сообщений;

  • <permit> - пакеты, соответствующие данному правилу, передаются в дальнейшую обработку.

  1. Задать краткое описание для правила списка доступа:

set policy access-list <acl_number> rule <rule_number> description <text>
  1. Установить критерии соответствия в правиле списка доступа на основе получателя:

set policy access-list <acl_number> rule <rule_number> destination <recipient>

где <recipient> - параметры адреса назначения. Допустимые значения:

  • <any> - соответствие для пакетов, предназначенных любому получателю;

  • <host <x.x.x.x>> - соответствие для пакетов, предназначенных указанному узлу IPv4;

  • <inverse-mask <x.x.x.x>> - соответствие для пакетов, предназначенных для подсетей, попадающих в указанную инвертированную маску;

  • <network <x.x.x.x/x>> - соответствие для пакетов, предназначенных указанной подсети IPv4.

  1. Установить критерии соответствия в правиле списка доступа на основе отправителя:

set policy access-list <acl_number> rule <rule_number> source <sender>

где <sender> - параметры адреса источника. Допустимые значения:

  • <any> - соответствие для пакетов, приходящих от любого отправителя;

  • <host <x.x.x.x>> - соответствие для пакетов, приходящих от указанного узла IPv4;

  • <inverse-mask <x.x.x.x>> - соответствие для пакетов, приходящих от подсетей, попадающих в указанную инвертированную маску;

  • <network <x.x.x.x/x>> - соответствие для пакетов, приходящих от указанной подсети IPv4.

Команды настройки списков доступа IPv6

  1. Определить список доступа IPv6:

set policy access-list6 <acl_number>

где <acl_number> - имя списка доступа IPv6 в текстовом формате.

  1. Задать краткое описание списка доступа IPv6:

set policy access-list6 <acl_number> description <text>

где <text> - текстовое описание для списка доступа IPv6.

  1. Создать правило списка доступа IPv6:

set policy access-list6 <acl_number> rule <rule_number>

где <rule_number> - численный идентификатор правила. Возможно указать значение в диапазоне от «1» до «65535».

  1. Установить действие, которое должно быть выполнено для пакетов, соответствующих правилу списка доступа IPv6:

set policy access-list6 <acl_number> rule <rule_number> action <action>

где <action> - действие для адресов, соответствующих правилу. Возможно указать следующие значения:

  • <deny> - пакеты, соответствующие данному правилу, игнорируются без каких-либо действий и сообщений;

  • <permit> - пакеты, соответствующие данному правилу, передаются в дальнейшую обработку.

  1. Задать краткое описание для правила списка доступа IPv6:

set policy access-list6 <acl_number> rule <rule_number> description <text>
  1. Установить критерии соответствия в правиле списка доступа IPv6 на основе отправителя:

set policy access-list6 <acl_number> rule <rule_number> source <sender>

где <sender> - параметры адреса источника. Допустимые значения:

  • <any> - соответствие для пакетов, приходящих от любого отправителя;

  • <inverse-mask> - соответствие для пакетов, приходящих от одного из префиксов подсетей;

  • <network <h:h:h:h:h:h:h:h/x>> - соответствие для пакетов, приходящих от указанной подсети IPv6.

Политика списка префиксов

Списки префиксов представляют собой наиболее эффективный инструмент фильтрации на основе префиксов. Помимо функциональности списка доступа, список IP-префиксов также включает спецификацию диапазона длин префиксов. Фильтрация префиксов выполняется с помощью «prefix-list» и «prefix-list6».

Если список IP-префиксов не задан, то разрешение применяется автоматически. Если список IP-префиксов задан, но совпадения не найдены, то применяется запрет по умолчанию.

Основные команды настройки списков префиксов

  1. Определить список префиксов:

set policy prefix-list <prefix>

где <prefix> - текстовый идентификатор для списка префиксов.

  1. Задать краткое описание списка префиксов:

set policy prefix-list <prefix> description <text>

где <text> - текстовое описание для списка префиксов.

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

set policy prefix-list <prefix> rule <rule_number>

где <rule_number> - численный идентификатор правила. Возможно указать значение в диапазоне от «1» до «65535».

  1. Установить действие, которое должно быть выполнено для пакетов, соответствующих правилу списка префиксов:

set policy prefix-list <prefix> rule <rule_number> action <action>

где <action> - действие для пакетов, соответствующих правилу. Возможно указать следующие значения:

  • <deny> - пакеты, соответствующие данному правилу, игнорируются без каких-либо действий и сообщений;

  • <permit> - пакеты, соответствующие данному правилу, передаются в дальнейшую обработку.

  1. Задать краткое описание для правила списка префиксов:

set policy prefix-list <prefix> rule <rule_number> description <text>
  1. Установить критерии соответствия в правиле списка префиксов на основе численного сравнения со знаком больше или равен:

set policy prefix-list <prefix> rule <rule_number> ge <value>

где <value> - число, представляющее префикс подсети. Данному правилу будут соответствовать префиксы подсетей, превышающие указанное число или равные ему. Возможно указать значение в диапазоне от «0» до «32».

Если префикс не указан, считается, что все префиксы подсетей соответствуют правилу.

  1. Установить критерии соответствия в правиле списка префиксов на основе численного сравнения со знаком меньше или равен:

set policy prefix-list <prefix> rule <rule_number> le <value>

где <value> - число, представляющее префикс подсети. Данному правилу будут соответствовать префиксы подсетей, не превышающие указанное числа или равные ему. Возможно указать значение в диапазоне от «0» до «32».

Если префикс не указан, считается, что все префиксы подсетей соответствуют правилу.

  1. Установить критерии соответствия в правиле списка префиксов на основе подсети IPv4:

set policy prefix-list <prefix> rule <rule_number> prefix <x.x.x.x/x>

где <x.x.x.x/x> - подсеть IPv4.

Если подсеть не указана, считается, что все подсети соответствуют правилу.

Основные команды настройки списков префиксов IPv6

  1. Определить список префиксов IPv6:

set policy prefix-list6 <prefix>

где <prefix> - текстовый идентификатор для списка префиксов IPv6.

  1. Задать краткое описание списка префиксов IPv6:

set policy prefix-list6 <prefix> description <text>

где <text> - текстовое описание для списка префиксов IPv6.

  1. Создать правило списка префиксов IPv6:

set policy prefix-list6 <prefix> rule <rule_number>

где <rule_number> - численный идентификатор правила. Возможно указать значение в диапазоне от «1» до «65535».

  1. Установить действие, которое должно быть выполнено для пакетов, соответствующих правилу списка префиксов IPv6:

set policy prefix-list6 <prefix> rule <rule_number> action <action>

где <action> - действие для пакетов, соответствующих правилу. Возможно указать следующие значения:

  • <deny> - пакеты, соответствующие данному правилу, игнорируются без каких-либо действий и сообщений;

  • <permit> - пакеты, соответствующие данному правилу, передаются в дальнейшую обработку.

  1. Задать краткое описание для правила списка префиксов IPv6:

set policy prefix-list6 <prefix> rule <rule_number> description <text>
  1. Установить критерии соответствия в правиле списка префиксов IPv6 на основе численного сравнения со знаком больше или равен:

policy prefix-list6 <prefix> rule <rule_number> ge <value>

где <value> - число, представляющее префикс подсети IPv6. Данному правилу будут соответствовать префиксы подсетей, превышающие указанное число или равные ему. Возможно указать значение в диапазоне от «0» до «128».

Если префикс не указан, считается, что все префиксы подсетей соответствуют правилу.

  1. Установить критерии соответствия в правиле списка префиксов IPv6 на основе численного сравнения со знаком меньше или равен:

set policy prefix-list6 <prefix> rule <rule_number> le <value>

где <value> - число, представляющее префикс подсети IPv6. Данному правилу будут соответствовать префиксы подсетей, не превышающие указанное число или равные ему. Возможно указать значение в диапазоне от «0» до «128».

Если префикс не указан, считается, что все префиксы подсетей соответствуют правилу.

  1. Установить критерии соответствия в правиле списка префиксов на основе подсети IPv4:

set policy prefix-list6 <prefix> rule <rule_number> prefix <h:h:h:h:h:h:h:h/x>

где <h:h:h:h:h:h:h:h/x> - подсеть IPv6.

Если подсеть не указана, считается, что все подсети соответствуют правилу.

Политика маршрутной карты

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

Основные команды настройки Route map

  1. Определить карты маршрутов при маршрутизации на основе политик:

set policy route-map <name_card>

где <name_card> - текстовый идентификатор карты маршрутов.

  1. Задать краткое описание карты маршрутов:

set policy route-map <name_card> description <text>

где <text> - текстовое описание для карты маршрутов.

  1. Создать правило карты маршрутов:

set policy route-map <name_card> rule <rule_number>

где <rule_number> - численный идентификатор правила. Возможно указать значение в диапазоне от «1» до «65535».

  1. Установить действие, которое должно быть выполнено над пакетами, соответствующими правилу карты маршрутов:

set policy route-map <name_card> rule <rule_number> action <action>

где <action> - действие для пакетов, соответствующих правилу. Возможно указать следующие значения:

  • <deny> - пакеты, соответствующие данному правилу, игнорируются без каких-либо действий и сообщений;

  • <permit> - пакеты, соответствующие данному правилу, передаются в дальнейшую обработку.

  1. Вызов другой карты маршрутов:

set policy route-map <name_card> rule <rule_number> call <name>

где <name> - текстовый идентификатор вызываемой карты маршрутов.

  1. Вызов другого правила в текущей карте маршрутов:

set policy route-map <name_card> rule <rule_number> continue <rule_number>

где <rule_number> - численный идентификатор вызываемого правила.

  1. Указать краткое описание правила карты маршрутов:

set policy route-map <name_card> rule <rule_number> description <text>

где <text> - текстовое описание правила карты маршрутов.

  1. Определение условия соответствия в карте маршрутов на основе списка путей AS:

set policy route-map <name_card> rule <rule_number> match as-path <name>

где <name> - имя списка путей AS.

Если ни одно условие соответствия по путям AS не определено, фильтрация пакетов по пути AS не выполняется.

  1. Определение условия соответствия в карте маршрутов на основе сообществ BGP:

set policy route-map <name_card> rule <rule_number> match community community-list <list_number>

где <list_number> - численный идентификатор списка сообществ BGP. Политика сообществ BGP к этому моменту должна быть уже определена.

set policy route-map <name_card> rule <rule_number> match community exact-match

Устанавливает режим строгого соответствия списку сообществ BGP. При использовании данного параметра обязательно должен быть определён community-list.

  1. Определение условия соответствия в карте маршрутов на основе интерфейса первого транзитного узла:

set policy route-map <name_card> rule <rule_number> match interface <interface>

где <interface> - интерфейс для сопоставления. Поддерживается любой маршрутизируемый интерфейс.

  1. Определение условия соответствия в карте маршрутов на основе IP-адреса:

set policy route-map <name_card> rule <rule_number> match ip|ipv6 address <access-list <acl_number> | prefix-list <prefix> | prefix-len <0-32>>

где:

  • <access-list <acl_number>> - IP-адрес отправителя или получателя маршрута проверяется на соответствие IP-адресам, разрешённым указанным списком доступа. Список доступа должен быть заранее определён;

  • <prefix-list <prefix>> - подсеть отправителя или получателя маршрута проверяется на соответствие подсетям, разрешённым указанным списком префиксов. Список префиксов должен быть заранее определён;

  • <prefix-len <0-32>> - IP-адрес отправителя или получателя маршрута проверяется на соответствие указанной длине префикса. Возможно указать значение в диапазоне от «0» до «32» для IPv4 и от «0» до «128» для IPv6. Не применяется к маршрутам протоколов динамической маршрутизации.

  1. Определение условия соответствия в карте маршрутов на основе адреса следующего транзитного узла:

set policy route-map <name_card> rule <rule_number> match ip nexthop <access-list <acl_number> | prefix-list <prefix> | prefix-len <0-32> | address <x.x.x.x> | type blackhole>

где:

  • <access-list <acl_number>> - IP-адрес следующего транзитного узла в маршруте проверяется на соответствие IP-адресам, разрешённым указанным списком доступа. Список доступа должен быть заранее определён;

  • <prefix-list <prefix>> - IP-адрес следующего транзитного узла в маршруте проверяется на соответствие IP-адресам, разрешённым указанным списком префиксов. Список префиксов должен быть заранее определён;

  • <prefix-len <0-32>> - IP-адрес следующего транзитного узла в маршруте проверяется на соответствие указанной длине префикса. Возможно указать значение в диапазоне от «0» до «32». Не применяется к маршрутам протоколов динамической маршрутизации;

  • <address <x.x.x.x>> - IP-адрес следующего транзитного узла в маршруте проверяется на соответствие указанному IP-адресу;

  • <type blackhole> - IP-адрес следующего транзитного узла в маршруте проверяется на соответствие указанному типу «blackhole».

  1. Определение условия соответствия в карте маршрутов на основе IPv6-адреса следующего транзитного узла:

set policy route-map <name_card> rule <rule_number> match ipv6 nexthop <access-list <acl_number> | prefix-list <prefix> | address <address> | type blackhole>

где:

  • <access-list <acl_number>> - IPv6-адрес следующего транзитного узла в маршруте проверяется на соответствие IPv6-адресам, разрешённым указанным списком доступа. Список доступа должен быть заранее определён;

  • <prefix-list <prefix>> - IPv6-адрес следующего транзитного узла в маршруте проверяется на соответствие IPv6-адресам, разрешённым указанным списком префиксов. Список префиксов должен быть заранее определён;

  • <address <h:h:h:h:h:h:h:h>> - IP-адрес следующего транзитного узла в маршруте проверяется на соответствие указанному IP-адресу;

  • <type blackhole> - IP-адрес следующего транзитного узла в маршруте проверяется на соответствие указанному типу «blackhole».

  1. Определение условия соответствия в карте маршрутов на основе адреса следующего транзитного узла:

set policy route-map <name_card> rule <rule_number> match ip route-source <access-list <acl_number> | prefix-list <prefix>>

где:

  • <access-list <acl_number>> - считается найденным соответствие для маршрутов, объявляемых с адресов, содержащихся в указанном списке доступа. Список доступа должен быть заранее определён;

  • <prefix-list <prefix>> - считается найденным соответствие для маршрутов, объявляемых с адресов, содержащихся в указанном списке префиксов. Список префиксов должен быть заранее определён.

  1. Определение условия соответствия в карте маршрутов на основе метрики маршрута:

set policy route-map <name_card> rule <rule_number> match metric <metric>

где <metric> - число, представляющее метрику маршрута. Возможно указать значение в диапазоне от «1» до «65535».

  1. Определение условия соответствия в карте маршрутов на основе способа получения маршрута:

set policy route-map <name_card> rule <rule_number> match origin <method_reception>

где <method_reception> - способ получения маршрута. Возможно указать следующие значения:

  • egp - считается найденным соответствие для маршрутов, полученных по протоколу EGP;

  • igp - считается найденным соответствие для маршрутов, полученных по протоколу IGP;

  • incomplete - считается найденным соответствие для маршрутов, код BGP способа получения, которых неполон.

  1. Определение условия соответствия в карте маршрутов на основе IP-адреса равноправного узла:

set policy route-map <name_card> rule <rule_number> match peer <x.x.x.x>|<h:h:h:h:h:h:h:h>

где <x.x.x.x>|<h:h:h:h:h:h:h:h> - IPv4-адрес или IPv6-адрес. На соответствие указанному адресу проверяется адрес равноправного узла в маршруте.

  1. Определение условия соответствия в карте маршрутов на основе тега OSPF:

set policy route-map <name_card> rule <rule_number> match tag <tag>

где <tag> - число, представляющее тег OSPF. На соответствие этому значению проверяется содержимое поля внешнего тега LSA (Link-State Advertisement, объявление состояния канала) протокола OSPF в маршруте. Возможно указать значение в диапазоне от «1» до «65535».

  1. Указание альтернативной политики выхода в карте маршрутов:

set policy route-map <name_card> rule <rule_number> on-match <goto <rule_number> | next>

где:

  • <goto <rule_number>> - выход из текущего правила карты маршрутов, вызов правила, указанного данным параметром, и его выполнение. Переход на предшествующее правило списка маршрутов не разрешается;

  • <next> - выход из текущего правила карты маршрутов, вызов следующего правила в последовательности и его выполнение.

  1. Изменение атрибута агрегатора протокола BGP для маршрута:

set policy route-map <name_card> rule <rule_number> set aggregator <as|ip> <1-4294967295|x.x.x.x>

где:

  • <as <1-4294967295>> - изменение номера автономной системы агрегатора BGP в маршруте на указанное значение. Возможно указать значение в диапазоне от «1» до «4294967295»;

  • <ip <x.x.x.x>> - изменение IP-адреса агрегатора BGP в маршруте на указанный IPv4-адрес.