> 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/dhcp.md).

# DHCP

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

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

#### Описание полигона:

В качестве DHCP-сервера у нас выступает маршрутизатор <kbd>R01</kbd>. На нём настроить DHCP-пул со следующими параметрами:

* пул адресов: 192.168.1.11 - 192.168.1.253
* шлюз по умолчанию: 192.168.1.254
* DNS-сервер: 192.168.0.1
* доменный суффикс: specialist.lab
* время аренды: 2 часа 30 мин

#### Выполнение

Особенность DHCP на Cisco IOS, что исключения для выдачи адресов настраиваются независимо от настроек самого DHCP-пула, и не являются дочерним объектов, как на многих других DHCP-серверах.

🔧  <kbd>R01</kbd>: Настройка адресов исключений исключений

```
ip dhcp excluded-address 192.168.1.254
ip dhcp excluded-address 192.168.1.1 192.168.1.10
```

🔧  <kbd>R01</kbd> : Настройка DHCP-пула

```
ip dhcp pool HERE_MUST_BE_NAME
  network 192.168.1.0 255.255.255.0
  default-router 192.168.1.254
  dns-server 192.168.0.1
  domain-name specialist.lab
  lease 0 2 30
```

Давайте попробуем получить адрес на одном из клиентов (PC). Для получения адреса через DHCP  в консоли используем команду

```
ip dhcp
```

Но, в консоли мы увидим только Discover запросы, а весь нюанс кроется в логике работы DHCP. Клиент ищет сервер с помощью широковещательных пакетов, а <kbd>R01</kbd> находится не в одном широковещательном домене.&#x20;

Для того, чтобы клиенты смогли получить адреса, нужно на коммутаторе L3SW01 необходимо настроить ретрансляцию DHCP-запросов на R01

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

```
configure terminal
!
interface Vlan1
 ip helper-address 192.168.0.1
```

Теперь, когда ретрансляция готова, давайте еще раз попробуем получить адрес

```
ip dhcp
```

#### Настройка резервации для Printer

Для того, чтобы всегда выдавать определённый заранее адрес устройству, можно использовать DHCP резервации

⌨️  <kbd>Printer</kbd>: Поиск MAC-адреса

```
show ip
```

🔧  <kbd>R01</kbd> : Настройка DHCP-пула

```
ip dhcp pool PRINTER
   host 192.168.1.100 255.255.255.0
   client-identifier 0100.5079.6668.02
```

⌨️  <kbd>Printer</kbd>: Получение адреса по DHCP

```
ip dhcp
```

И теперь проверяем, что адрес корректный...

⌨️  <kbd>Printer</kbd>: Проверка сетевых настроек

```
show ip
```

#### Настройка DNS-сервера

🔧  <kbd>R01</kbd>: Настройка DNS сервера

```
ip domain lookup
ip dns server
ip host dns.google 8.8.8.8
```

Пробуем на <kbd>PC1</kbd> пропинговать Google DNS по имени

⌨️  <kbd>PС1</kbd>: Пинг dns.google (8.8.8.8)

```
ping dns.google
```


---

# 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/dhcp.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.
