> 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-layer.md).

# Network Layer

📦 Ссылка на файл GNS3 проекта:

{% embed url="<https://disk.yandex.ru/d/fXymkattGu_chw>" %}

### Настройка клиентской сети

🔧 <kbd>AGG01</kbd>: Настраиваем IP-адресацию

```
vlan 1
!
interface Gi0/0
  switchport mode access
  switchport access vlan 1
  no sh
!
interface vlan 1
  ip address 10.0.0.251 255.255.255.0
  no shutdown
```

🔧 <kbd>AGG02</kbd>: Настраиваем IP-адресацию

```
vlan 1
!
interface Gi0/0
  switchport mode access
  switchport access vlan 1
  no sh
!
interface vlan 1
  ip address 10.0.0.252 255.255.255.0
  no shutdown
```

Для отказоустойчивости строим протокол HSRP

🔧 <kbd>AGG01</kbd>: Настраиваем HSRP

```
interface vlan 1
  standby 1 ip 10.0.0.254
  standby 1 priority 120
  standby 1 preempt
```

🔧 <kbd>AGG02</kbd>: Настраиваем HSRP

```
interface vlan 1
  standby 1 ip 10.0.0.254
  standby 1 preempt
```

### Настройка IP-адресации на магистралях

🔧 <kbd>CORE01</kbd>: Настраиваем IP-адресацию

```
interface Gi0/0
  no switchport
  ip address 10.100.0.1 255.255.255.0
  no sh
!
interface Gi0/1
  no switchport
  ip address 10.101.0.254 255.255.255.0
  no sh
!
interface Gi1/0
  no switchport
  ip address 10.13.0.1 255.255.255.0
  no sh
!
interface Gi1/1
  no switchport
  ip address 10.14.0.1 255.255.255.0
  no sh
!
!
interface Loopback0
  ip address 10.1.1.1 255.255.255.255
```

🔧 <kbd>CORE02</kbd>: Настраиваем IP-адресацию

```
interface Gi0/0
  no switchport
  ip address 10.100.0.2 255.255.255.0
  no sh
!
interface Gi0/1
  no switchport
  ip address 10.102.0.254 255.255.255.0
  no sh
!
interface Gi1/0
  no switchport
  ip address 10.24.0.2 255.255.255.0
  no sh
!
interface Gi1/1
  no switchport
  ip address 10.23.0.2 255.255.255.0
  no sh
!
interface Loopback0
  ip address 10.2.2.2 255.255.255.255
```

🔧 <kbd>AGG01</kbd>: Настраиваем IP-адресацию

```
vlan 13,23
!
interface Gi1/0
  switchport mode access
  switchport access vlan 13
  spanning-tree portfast
  no sh
!
interface Gi1/1
  switchport mode access
  switchport access vlan 23
  spanning-tree portfast
  no sh
!
interface vlan 13
  ip address 10.13.0.3 255.255.255.0
  no shutdown
!
interface vlan 23
  ip address 10.23.0.3 255.255.255.0
  no shutdown
```

🔧 <kbd>AGG02</kbd>: Настраиваем IP-адресацию

```
vlan 14,24
!
interface Gi1/0
  switchport mode access
  switchport access vlan 14
  spanning-tree portfast
  no sh
!
interface Gi1/1
  switchport mode access
  switchport access vlan 24
  spanning-tree portfast
  no sh
!
interface vlan 14
  ip address 10.14.0.4 255.255.255.0
  no shutdown
!
interface vlan 24
  ip address 10.24.0.4 255.255.255.0
  no shutdown
```

🔧 <kbd>EDGE01</kbd>: Настраиваем IP-адресацию

```
interface Gi0/2
  ip address 10.101.0.1 255.255.255.0
  no sh
!
interface Gi0/3
  ip address 10.102.0.1 255.255.255.0
  no sh
!
interface Loopback0
  ip address 10.111.111.111 255.255.255.255
```

### Настройка динамической маршрутизации

🔧 <kbd>EDGE01</kbd>: Конфигурация OSPF

```
router ospf 1
  log-adjacency-changes
  router-id 10.111.111.111
  network 10.111.111.111 0.0.0.0 area 0
  network 10.101.0.0 0.0.0.255 area 0
  network 10.102.0.0 0.0.0.255 area 0
  default-information originate
```

🔧 <kbd>CORE01</kbd>: Конфигурация OSPF

```
router ospf 1
  log-adjacency-changes
  router-id 10.1.1.1
  network 10.101.0.0 0.0.0.255 area 0
  network 10.100.0.0 0.0.0.255 area 0
  network 10.13.0.0 0.0.0.255 area 0
  network 10.14.0.0 0.0.0.255 area 0
  network 10.1.1.1 0.0.0.255 area 0
```

🔧 <kbd>CORE02</kbd>: Конфигурация OSPF

```
router ospf 1
  log-adjacency-changes
  router-id 10.2.2.2
  network 10.102.0.0 0.0.0.255 area 0
  network 10.100.0.0 0.0.0.255 area 0
  network 10.23.0.0 0.0.0.255 area 0
  network 10.24.0.0 0.0.0.255 area 0
  network 10.2.2.2 0.0.0.255 area 0
```

🔧 <kbd>AGG01</kbd>: Конфигурация OSPF

```
router ospf 1
  log-adjacency-changes
  router-id 10.3.3.3
  network 10.13.0.0 0.0.0.255 area 0
  network 10.23.0.0 0.0.0.255 area 0
  network 10.0.0.0 0.0.0.255 area 0
```

🔧 <kbd>AGG02</kbd>: Конфигурация OSPF

```
router ospf 1
  log-adjacency-changes
  router-id 10.4.4.4
  network 10.14.0.0 0.0.0.255 area 0
  network 10.24.0.0 0.0.0.255 area 0
  network 10.0.0.0 0.0.0.255 area 0
```

### Настройка DHCP функционала

Настраиваем DHCP-сервера на коммутаторах ядра <kbd>CORE01</kbd> и <kbd>CORE02</kbd>, и так Cisco IOS не поддерживает отказоустойчивый кластер DHCP, то используем метод разделения адресного пространства между двумя коммутаторами.

🔧 <kbd>CORE01</kbd>: Конфигурация DHCP пула

```
ip dhcp excluded-address 10.0.0.1 10.0.0.49
ip dhcp excluded-address 10.0.0.150 10.0.0.254
ip dhcp remember
!
ip dhcp pool DHCP_LAN_POOL
  network 10.0.0.0 255.255.255.0
  default-router 10.0.0.254
  dns-server 8.8.8.8
  domain-name corp.example.local
  lease 0 12
  
```

🔧 <kbd>CORE02</kbd>: Конфигурация DHCP пула

```
ip dhcp excluded-address 10.0.0.1 10.0.0.149
ip dhcp excluded-address 10.0.0.250 10.0.0.254
ip dhcp remember
!
ip dhcp pool DHCP_LAN_POOL
  network 10.0.0.0 255.255.255.0
  default-router 10.0.0.254
  dns-server 8.8.8.8
  domain-name corp.example.local
  lease 0 12
```

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

🔧 <kbd>AGG01</kbd>: Настройка ретрансляции DHCP-запросов

```
interface vlan 1
  ip helper-address 10.1.1.1
  ip helper-address 10.2.2.2
```

🔧 <kbd>AGG02</kbd>: Настройка ретрансляции DHCP-запросов

```
interface vlan 1
  ip helper-address 10.1.1.1
  ip helper-address 10.2.2.2
```

⚙️ Для проверки получения адресов на клиентских машинах <kbd>PC1</kbd> ... используем команду

```
ip dhcp
```

### Настройка подключения к Интернету

🔧 <kbd>EDGE01</kbd>: Конфигурация адресации в сторону провайдеров

```
interface Gi0/0
  description "WAN-ISP1"
  ip address 203.0.113.2 255.255.255.0
  no sh
!
interface Gi0/1
  description "WAN-ISP2"
  ip address 198.51.100.2 255.255.255.0
```

🔧 <kbd>EDGE01</kbd>: Настройка "жестких" маршрутов до публичных ресурсов

```
ip route 8.8.8.8 255.255.255.255 203.0.113.1 permanent name WAN1-check
!
ip route 77.88.8.8 255.255.255.255 198.51.100.1 permanent name WAN2-check
```

&#x20;🔧 <kbd>EDGE01</kbd>: Настройка проб через механизм IP SLA&#x20;

```
ip sla 1
 icmp-echo 8.8.8.8 source-interface GigabitEthernet0/0
 frequency 5
 timeout 1000
!
ip sla schedule 1 life forever start-time now
!
!
ip sla 2
 icmp-echo 77.88.8.8 source-interface GigabitEthernet0/1
 frequency 5
 timeout 1000
!
ip sla schedule 2 life forever start-time now
```

* `ip sla <ID>` — ID операции (1–2147483647)
* `icmp-echo` — самый базовый и часто используемый тип
* `source-interface` — **настоятельно рекомендуется**, иначе возможны ложные срабатывания
* `frequency 5` — интервал (в секундах)
* `timeout 1000` — ожидание ответа (мс)

🔎 Проверка статуса проб осуществляется командой

```
show ip sla summary 
```

&#x20;🔧 <kbd>EDGE01</kbd>: Настройка track объектов с привязкой к пробам

```
track 1 ip sla 1 reachability
!
track 2 ip sla 2 reachability
```

🔧 <kbd>EDGE01</kbd>: Создание статических маршрутов с привязкой к проверкам

```
ip route 0.0.0.0 0.0.0.0 203.0.113.1 track 1
ip route 0.0.0.0 0.0.0.0 198.51.100.1 track 2 10
```

### Настройка NAT-трансляций

Маршруты есть, но клиенты сейчас не смогут выйти в Интернет, так как пакеты от компьютеров будут с полем отправитель - серый IP-адрес, который маршрутизаторы ISP отбросят.

🔧 <kbd>EDGE01</kbd>: Разметка интерфейсов

```
int gi0/0
  ip nat outside
!
int gi0/1
  ip nat outside
!
int gi0/2
  ip nat inside
!
int gi0/3
  ip nat inside
```

🔧 <kbd>EDGE01</kbd>: Создание правил трансляции

```
ip access-list extended NAT_SELECTOR
  permit ip 10.0.0.0 0.255.255.255 any
!
route-map RM-WAN1 permit 10
  match interface Gi0/0
  match ip address NAT_SELECTOR
!
route-map RM-WAN2 permit 10
  match interface Gi0/1
  match ip address NAT_SELECTOR
!
ip nat inside source route-map RM-WAN1 interface GigabitEthernet0/0 overload
!
ip nat inside source route-map RM-WAN2 interface GigabitEthernet0/1 overload
```

🔎 Проверим доступ компьютеров в Интернет c <kbd>PC1</kbd> ...&#x20;

```
ping 109.71.12.84
```


---

# 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-layer.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.
