> For the complete documentation index, see [llms.txt](https://adavyshin.gitbook.io/networks/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://adavyshin.gitbook.io/networks/network/laboratornaya-rabota-is-is.md).

# Лабораторная работа: IS-IS

## Ч1. Настройка области `49.0010`

Для поднятия протокола IS-IS на маршрутизаторе, необходимо настроить `Network Entity Title` (NET), и дополнительно добавим параметр, отвечающий за детальное логирование.

🔧Настраиваем маршрутизатор <kbd>R1</kbd>:

```bash
configure terminal
!
router isis
  net 49.0010.0001.0001.0001.00
  log-adjacency-changes all
!
interface GigabitEthernet0/0
  ip router isis
!
interface Loopback0
  ip router isis
```

🔧Настраиваем маршрутизатор <kbd>R2</kbd>:

```
configure terminal
!
router isis
  net 49.0010.0002.0002.0002.00
  log-adjacency-changes all
!
interface GigabitEthernet0/0
  ip router isis
!
interface Loopback0
  ip router isis 
```

🔧Настраиваем маршрутизатор <kbd>R3</kbd>:

```
configure terminal
!
router isis
  net 49.0010.0003.0003.0003.00
  log-adjacency-changes all
!
interface GigabitEthernet0/0
  ip router isis
!
interface Loopback0
  ip router isis  
```

Давайте посмотрим в таблицу маршрутизации <kbd>R3</kbd> и убедимся, что у нас появились маршруты до Loopback-адресов соседей.&#x20;

<figure><img src="/files/O13oDc30FP3Q8aoQm2IC" alt=""><figcaption></figcaption></figure>

Если всё успешно, то должны увидеть картину, как на скриншоте выше, так же для проверки соседств можно использовать команду `show isis neighbors`. Пример вывода этой команды на скриншоте ниже, мы видим, что оба соседа <kbd>R1</kbd> и <kbd>R3</kbd> дублируются, так как у нас сразу два соседства: L1-уровня и L2-уровня. Это связано с тем, что по умолчанию на роутерах задан режим L1-L2-Level. Также можем видеть столбец `Circuit Id`, который  указывает на задающего в широковещательном домене, по аналогии с OSPF DR-маршрутизатором (диспетчер).&#x20;

<figure><img src="/files/L9xdVv3HMnu2fGhYQkMF" alt=""><figcaption></figcaption></figure>

В multi-access сетях `Circuit Id` выбирается на основе приоритетов, если приоритеты одинаковы, то сравнение идёт по `SysID` из `NET`.  Так как у R3 значение SysID больше, то он - диспетчер.

⚗️ Давайте проведём один эксперимент, при создании лабораторного полигона <kbd>R3</kbd> добавлялся чуть позже чем <kbd>R1</kbd> и <kbd>R2</kbd>. Поэтому с большей долей вероятности MAC-адрес у <kbd>R3</kbd> будет больше. Убедиться можно, с помощью команды `show ip arp` на одном из трёх роутеров.

<figure><img src="/files/UkaaXwsRMzsZGkvObKH5" alt=""><figcaption></figcaption></figure>

🔧 На маршрутизаторе <kbd>R2</kbd> меняем MAC-адрес, чтобы он был больше, чем на <kbd>R3</kbd>:

```
configure terminal
!
interface GigabitEthernet0/0
  mac-address 44ef.dead.beaf
```

Сразу после изменения MAC-адреса мы можем увидеть syslog-сообщения о  том, что соседи забыли нас, так как после подмены MAC отправляется специальное сообщение, что всё что знали ранее обо мне - забудьте.&#x20;

> <sub>\*Oct 11 16:44:04.662: %CLNS-5-ADJCHANGE: ISIS: Adjacency to R3 (GigabitEthernet0/0) Down, neighbor forgot us</sub>> \ <sub>\*Oct 11 16:44:04.662: %CLNS-5-ADJCHANGE: ISIS: Adjacency to R3 (GigabitEthernet0/0) Down, neighbor forgot us</sub>> \ <sub>\*Oct 11 16:44:09.926: %CLNS-5-ADJCHANGE: ISIS: Adjacency to R1 (GigabitEthernet0/0) Down, neighbor forgot us</sub>> \ <sub>\*Oct 11 16:44:10.066: %CLNS-5-ADJCHANGE: ISIS: Adjacency to R1 (GigabitEthernet0/0) Down, neighbor forgot us</sub>

Смотрим еще раз вывод команды `show isis neighbors` на маршрутизаторе <kbd>R2</kbd>:

<figure><img src="/files/8VHEupVBcocUPxfqtK0K" alt=""><figcaption></figcaption></figure>

Подмечаем, что в LAN-сегментах, также на значение Curcuit ID влияет еще и MAC-адрес.&#x20;

Если же у вас будет multi-access среда, и вам необходимо жестко сделать, кого-то из маршрутизаторов `Designated Router`, то можно воспользоваться командой `isis priority <0-127>` на интерфейсе.

Двигаемся дальше...

🔧Донастраиваем маршрутизатор <kbd>R3</kbd>:

```
configure terminal
!
interface GigabitEthernet0/1
  ip router isis
```

🔧Настраиваем маршрутизатор <kbd>R4</kbd>:

```
configure terminal
!
router isis
  net 49.0010.0004.0004.0004.00
  log-adjacency-changes all
!
interface GigabitEthernet0/0
  ip router isis
!
interface GigabitEthernet0/1
  ip router isis
!
interface GigabitEthernet0/2
  ip router isis
!
interface Loopback0
  ip router isis  
```

🔧Настраиваем маршрутизатор <kbd>R5</kbd>:

```
configure terminal
!
router isis
  net 49.0010.0005.0005.0005.00
  log-adjacency-changes all
!
interface GigabitEthernet0/0
  ip router isis
!
interface GigabitEthernet0/1
  ip router isis
!
interface Loopback0
  ip router isis  
```

🔧Настраиваем маршрутизатор <kbd>R6</kbd>:

```
configure terminal
!
router isis
  net 49.0010.0006.0006.0006.00
  log-adjacency-changes all
!
interface GigabitEthernet0/0
  ip router isis
!
interface GigabitEthernet0/1
  ip router isis
!
interface GigabitEthernet0/2
  ip router isis
!
interface Loopback0
  ip router isis  
```

После того, как закончили с настройкой <kbd>R6</kbd> предлагаю глянуть в RIB маршрутизатора <kbd>R2</kbd>:

<figure><img src="/files/EIXWMPoWITt0vos9Dig7" alt=""><figcaption></figcaption></figure>

Всё в ажуре, если у вас будут маршруты до Loopback-адресов всех остальных маршрутизаторов.&#x20;

## Ч2. Настройка области `49.0020`

🔧Настраиваем маршрутизатор <kbd>R7</kbd>:

```
configure terminal
!
router isis
  net 49.0020.0007.0007.0007.00
  log-adjacency-changes all
!
interface GigabitEthernet0/0
  ip router isis
!
interface GigabitEthernet0/1
  ip router isis
!
interface GigabitEthernet0/2
  ip router isis
!
interface Loopback0
  ip router isis  
```

🔧Настраиваем маршрутизатор <kbd>R8</kbd>:

```
configure terminal
!
router isis
  net 49.0020.0008.0008.0008.00
  log-adjacency-changes all
!
interface GigabitEthernet0/1
  ip router isis
!
interface Loopback0
  ip router isis 
```

После того, как область 49.0020 будет преднастроена, вернёмся к таблице маршрутизации R2 и увидим, что там появились маршруты до железок из Area 49.0020, но коды у них `i L2`.

<figure><img src="/files/MVdBHFi0xbboE1q4XlZN" alt=""><figcaption></figcaption></figure>

## Ч3. Настройка области `49.0030`

🔧Настраиваем маршрутизатор <kbd>R9</kbd>:

```
configure terminal
!
router isis
  net 49.0030.0009.0009.0009.00
  log-adjacency-changes all
!
interface GigabitEthernet0/0
  ip router isis
!
interface GigabitEthernet0/1
  ip router isis
!
interface Loopback0
  ip router isis 
```

🔧Настраиваем маршрутизатор <kbd>R10</kbd>:

```
configure terminal
!
router isis
  net 49.0030.0010.0010.0010.00
  log-adjacency-changes all
!
interface GigabitEthernet0/0
  ip router isis
!
interface GigabitEthernet0/1
  ip router isis
!
interface Loopback0
  ip router isis 
```

## Ч4. Настройка области `49.0040`

🔧Настраиваем маршрутизатор <kbd>R11</kbd>:

```
configure terminal
!
router isis
  net 49.0040.0011.0011.0011.00
  log-adjacency-changes all
!
interface GigabitEthernet0/0
  ip router isis
!
interface GigabitEthernet0/1
  ip router isis
!
interface Loopback0
  ip router isis 
```

🔧Настраиваем маршрутизатор <kbd>R12</kbd>:

```
 configure terminal
!
router isis
  net 49.0040.0012.0012.0012.00
  log-adjacency-changes all
!
interface GigabitEthernet0/1
  ip router isis
!
interface Loopback0
  ip router isis
```

💡Если анализировать таблицу маршрутизации на R2, то там увидим все Loopback-адреса, объявленные в IS-IS. В нашей топологии гирляндой идут сразу несколько областей, а маршруты из одной области передаются через смежную область, вот здесь и кроется главное отличие от OSPF. OSPF привязывает топологию к номерам областей и центрирует всё относительно Area 0 (backbone), а в IS-IS в качестве backbone используется не номер какой-то области, а цепочка соседств L2-уровня. И так как изначально все работают в режиме L1-L2 соседства, то если бы сделали хоть 10 областей с разными Area ID, то всё равно происходил обмен маршрутами, так как это "одна больная Area 0 область" если смотреть глазами OSPF.

<figure><img src="/files/paj2N2rhHe9Mb6mOsvQQ" alt=""><figcaption></figcaption></figure>

## Ч5. Конфигурация Backbone

Давайте произведём зонирование на backbone и L1-Level области.

🔧Настраиваем маршрутизатор <kbd>R1</kbd>:

```
configure terminal
!
router isis
  is-type level-1
```

🔧Настраиваем маршрутизатор <kbd>R2</kbd>:

```
configure terminal
!
router isis
  is-type level-1
```

🔧Настраиваем маршрутизатор <kbd>R3</kbd>:

```
configure terminal
!
router isis
  is-type level-1
```

🔧Настраиваем маршрутизатор <kbd>R4</kbd>:

```
configure terminal
!
interface GigabitEthernet0/0
  isis circuit-type level-1
!
interface range GigabitEthernet0/1-2
  isis circuit-type level-2-only
```

🔧Настраиваем маршрутизатор <kbd>R5</kbd>:

```
configure terminal
!
router isis
  is-type level-2-only
```

🔧Настраиваем маршрутизатор <kbd>R6</kbd>:

```
configure terminal
!
router isis
  is-type level-2-only
```

🔧Настраиваем маршрутизатор <kbd>R7</kbd>:

```
configure terminal
!
router isis
  is-type level-2-only
```

🔧Настраиваем маршрутизатор <kbd>R8</kbd>:

```
configure terminal
!
router isis
  is-type level-2-only
```

🔧Настраиваем маршрутизатор <kbd>R9</kbd>:

```
configure terminal
!
router isis
  is-type level-2-only
```

🔧Настраиваем маршрутизатор <kbd>R10</kbd>:

```
configure terminal
!
router isis
  is-type level-2-only
```

🔧Настраиваем маршрутизатор <kbd>R12</kbd>:

```
configure terminal
!
router isis
  is-type level-1
```

Да, всё правильно, мы пропустили R11. Просто в нашем сценарии это допустительно, так как он по умолчанию L1-L2, а сосед R12 с конфигурацией is-type level-1, то взаимодействие с ним будет только на уровне L1, а сосед R10 с конфигурацией is-type-2, то с ним соседство будет на L2, и этот линк будет пограничником

{% hint style="info" %}
Границей раздела областей в OSPF являлся маршрутизатор, граница между backbone и не-backbone в IS-IS это соединение между маршрутизаторами.&#x20;
{% endhint %}

## Ч6. Инъекция дефолтового маршрута

🔧Настраиваем маршрутизатор <kbd>R6</kbd>:

```
ip route 0.0.0.0 0.0.0.0 203.0.113.1 name Default
!
router isis
 default-information originate
!
int gi0/4
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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://adavyshin.gitbook.io/networks/network/laboratornaya-rabota-is-is.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.
