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

# DHCP

В рамках лабораторной работы попрактикуемся с настройкой DHCP сервера на операционной системе Cisco IOS, а также настроим ретрансляцию 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
```
