# Prefix List

Тут всё просто и логично. Ну почти.

Префикс-листы – это просто привычные нам сеть/маска, и мы указываем разрешить такие маршруты или нет.

Синтаксис команды:

```
ip prefix-list {list-name} [seq {value}] {deny|permit} 
{network/length} [ge {value}] [le {value}]
```

**list-name** – название списка. Ваш КО. Обычно указывается, как *name\_in* или *name\_out*. Это **подсказывает** нам на входящие или исходящие маршруты будет действовать (но, конечно, на данном этапе никак не определяет).\
**seq** – порядковый номер правила (как в ACL), чтобы проще было оперировать с ними.\
**deny/permit** – определяем разрешать такой маршрут или нет\
**network/length** – привычная для нас запись, вроде, 192.168.14.0/24.\
А вот дальше, внимание, сложнее – возможны ещё два параметра: **ge** и **le**. Как и при настройке NAT (или в ЯП Фортран), это означает "**g**reater or **e**qual" и "**l**ess or **e**qual".\
То есть вы можете задать не только один конкретный префикс, но и их диапазон.

Например, такая запись

```
ip prefix-list NetDay permit 10.0.0.0/8 ge 10 le 16
```

будет означать, что будут выбраны следующие маршруты.

10.0.0.0/10, 10.0.0.0/11, 10.0.0.0/12, 10.0.0.0/13, 10.0.0.0/14, 10.0.0.0/15, 10.0.0.0/16

## Пример

Сейчас мы запретим принимать анонс сети 120.0.0.0/24 через провайдер Филькин Сертификат, а все остальные разрешим. Запись *0.0.0.0/0 le 32* означает любые подсети с любой длиной маски (меньшей или равной 32 (0-32)).

```
ip prefix-list TEST_PL_IN seq 5 deny 120.0.0.0/24
ip prefix-list TEST_PL_IN seq 10 permit 0.0.0.0/0 le 32

router bgp 64500
neighbor 102.0.0.1 prefix-list TEST_PL_IN in
```

![](http://img-fotki.yandex.ru/get/9218/83739833.29/0_bc5cf_9f3efb2_XL.png)

> Сделаем на всякий случай оговорку: последний пример не означает, что соседний провайдер не будет вам их передавать – конечно, будет, ведь он-то ничего не знает о ваших политиках – а вот ваш маршрутизатор, получив такой анонс, не добавит маршрут в свою BGP-таблицу.

[Конфигурация устройств](https://docs.google.com/document/d/1EXKvsrapWcM3e1pfFwqs_kF08v00TY49_eN-R69GfAw/edit?usp=sharing).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://linkmeup.gitbook.io/sdsm/8.-bgp-i-ip-sla/2.-bgp/3.-upravlenie-marshrutami/1.-prefix-list.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
