# Статическая маршрутизация с резервированием

![Схема сети](https://1953625668-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MFMJhMiVjTLWfbfC-S4%2F-MV7yLnUHy5YcxQU5Ezh%2F-MV7z5T51n53sUzi3NWN%2F%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5.png?alt=media\&token=0f5e75a5-6238-4337-b471-730085eba33d)

## Настройка статических маршрутов

Добавим статические маршруты на RT.IKT:

```
# edit routing-options static
    # set route 5.0.0.0/30 next-hop 6.0.0.1   
    # set route 5.0.0.0/30 qualified-next-hop 7.0.0.2 preference 6 
    # set route 100.0.0.0/24 next-hop 6.0.0.1                        
    # set route 100.0.0.0/24 qualified-next-hop 7.0.0.2 preference 6   
    # set route 8.8.8.0/24 next-hop 7.0.0.2                            
    # set route 8.8.8.0/24 qualified-next-hop 6.0.0.1 preference 6
```

Аналогичным образом добавляем маршруты на остальных MX.

{% hint style="info" %}
Опция qualified-next-hop позволяет менять приоритет маршрутов к одной подсети.

preference - аналог административной дистанции маршрута в cisco. Изначально, для статического маршрута значение preference = 5. Мы же резервным маршрутам ставили её в 6, чтобы использовать qualified-next-hop в случае недоступности основого next-hop адреса.
{% endhint %}

## Проверка работы резервных статических маршрутов

Посмотрим как проходит трассировка с Сервера (8.8.8.8) до ПК во Владивстоке (9.9.9.9).

{% code title="mtr 9.9.9.9" %}

```
                             My traceroute  [v0.86]
ubuntu (0.0.0.0)                                       Tue Sep 15 17:04:24 2020
Resolver: Received error response 2. (server failure)er of fields   quit
                                       Packets               Pings
 Host                                Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 8.8.8.1                           0.0%    47    1.7   6.8   1.2 158.0  22.6
 2. 25.0.0.1                          0.0%    47    4.4  11.3   2.6  96.2  15.4
 3. 9.9.9.9                           0.0%    47    3.7  12.5   3.3  78.2  16.5
```

{% endcode %}

Посмотрим состояние таблицы маршрутизации на RT.SPB:

{% code title="# run show route" %}

```
inet.0: 9 destinations, 12 routes (9 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

7.7.7.0/24         *[Static/5] 00:10:43
                    > to 15.0.0.2 via ae0.0
                    [Static/6] 00:00:41
                    > to 25.0.0.1 via ae1.0
8.8.8.0/24         *[Direct/0] 01:09:50
                    > via ge-0/0/9.0
8.8.8.1/32         *[Local/0] 01:09:50
                      Local via ge-0/0/9.0
9.9.9.0/24         *[Static/5] 00:00:41
                    > to 25.0.0.1 via ae1.0
                    [Static/6] 00:10:43
                    > to 15.0.0.2 via ae0.0
15.0.0.0/30        *[Direct/0] 00:10:43
                    > via ae0.0
15.0.0.1/32        *[Local/0] 01:09:50
                      Local via ae0.0
20.0.0.0/30        *[Static/5] 00:10:43
                    > to 15.0.0.2 via ae0.0
                    [Static/6] 00:00:41
                    > to 25.0.0.1 via ae1.0
25.0.0.0/30        *[Direct/0] 00:00:41
                    > via ae1.0
25.0.0.2/32        *[Local/0] 01:09:50
                      Local via ae1.0
```

{% endcode %}

Адрес 25.0.0.1 принадлежит интерфейсу ae0 RT.VVK. Отключим его:

```
# set interfaces ae0 unit 0 disable
```

Проверим:

{% code title="# run show interfaces terse | match ae0 " %}

```
ge-0/0/0.0              down  up   aenet    --> ae0.0
ge-0/0/1.0              down  up   aenet    --> ae0.0
ge-0/0/2.0              down  up   aenet    --> ae0.0
ae0                     up    up
ae0.0                   down  down inet     25.0.0.1/30     
```

{% endcode %}

Теперь посмотрим как изменилась таблица маршрутизации на RT.SPB:

{% code title="# run show route" %}

```
inet.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

7.7.7.0/24         *[Static/5] 00:17:06
                    > to 15.0.0.2 via ae0.0
8.8.8.0/24         *[Direct/0] 00:53:28
                    > via ge-0/0/9.0
8.8.8.1/32         *[Local/0] 00:53:28
                      Local via ge-0/0/9.0
9.9.9.0/24         *[Static/6] 00:17:06
                    > to 15.0.0.2 via ae0.0
15.0.0.0/30        *[Direct/0] 00:53:25
                    > via ae0.0
15.0.0.1/32        *[Local/0] 00:53:28
                      Local via ae0.0
20.0.0.0/30        *[Static/5] 00:17:06
                    > to 15.0.0.2 via ae0.0
25.0.0.2/32        *[Local/0] 00:53:28
                      Reject
```

{% endcode %}

Видно, что хост 25.0.0.2 недоступен, так как мы отключили этот интерфейс. Теперь все пакеты с адресом назначения 25.0.0.2 будут отброшены, т.к. напротив маршрута стоит "Reject". А маршрут до подсети 9.9.9.0/24 пролегает через next-hop 15.0.0.2 c параметом Preference=6 (Preference - это административная дистанция в Cisco).

Проверим по какому маршруту будут теперь идти пакеты с 8.8.8.8 до 9.9.9.9:

{% code title="mtr 9.9.9.9" %}

```
                             My traceroute  [v0.86]
ubuntu (0.0.0.0)                                       Tue Sep 15 17:28:14 2020
Keys:  Help   Display mode   Restart statistics   Order of fields   quit
                                       Packets               Pings
 Host                                Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 8.8.8.1                           0.0%     3    3.0   2.1   1.4   3.0   0.7
 2. 15.0.0.2                          0.0%     3    4.7   4.6   3.2   5.9   1.2
 3. 20.0.0.2                          0.0%     3    4.9   9.5   4.9  16.6   6.2
 4. 9.9.9.9                           0.0%     3    7.6   6.8   6.0   7.6   0.0
```

{% endcode %}

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


---

# 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://netlabs.gitbook.io/juniper/3-lags-+-static-routing-linux-juniper-s-rezervirovaniem-+-syslog-+-ntp-+-ssh/nastroika-seti-na-servere.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.
