Подробный гайд: Как сделать Динамический IP (DHCP)
DHCP (Dynamic Host Configuration Protocol) — протокол динамической настройки хоста. Он автоматически назначает IP-адреса и сетевые параметры устройствам в сети, устраняя необходимость ручной настройки каждого устройства.
Как работает DHCP (процесс DORA):
Клиент Сервер DHCP
| |
|--- 1. DISCOVER (поиск) ------->|
| |
|<--- 2. OFFER (предложение) ----|
| |
|--- 3. REQUEST (запрос) ------->|
| |
|<--- 4. ACK (подтверждение) ----|
| |
Что выдаёт DHCP:
- IP-адрес
- Маска подсети
- Шлюз по умолчанию
- DNS-серверы
- Время аренды (lease time)
Часть 1: Настройка клиента (получение динамического IP)
Windows 10/11
Способ 1: Через GUI
- Нажмите
Win + I→ Сеть и интернет - Выберите ваше подключение (Ethernet / Wi-Fi)
- Нажмите Изменить параметры адаптера (или
ncpa.cpl) - ПКМ по адаптеру → Свойства
- Выберите IP версии 4 (TCP/IPv4) → Свойства
- Отметьте:
- Получить IP-адрес автоматически
- Получить адрес DNS-сервера автоматически
- Нажмите ОК → ОК
Способ 2: Через командную строку (cmd от администратора)
:: Установить DHCP на интерфейсе
netsh interface ip set address "Ethernet" dhcp
:: Установить DNS через DHCP
netsh interface ip set dns "Ethernet" dhcp
:: Обновить аренду IP
ipconfig /release
ipconfig /renew
:: Проверить результат
ipconfig /all
Способ 3: Через PowerShell
# Установить DHCP на адаптере
Set-NetIPInterface -InterfaceAlias "Ethernet" -Dhcp Enabled
# Установить DNS через DHCP
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ResetServerAddresses
# Перезапустить адаптер
Restart-NetAdapter -Name "Ethernet"
# Проверить
Get-NetIPConfiguration -InterfaceAlias "Ethernet"
Linux (Ubuntu/Debian)
Способ 1: Netplan (Ubuntu 18.04+)
Создайте/отредактируйте файл /etc/netplan/01-dhcp.yaml:
network:
version: 2
renderer: networkd
ethernets:
eth0: # ← имя вашего интерфейса (ip a)
dhcp4: true
dhcp6: false # опционально
optional: true
Примените:
sudo netplan apply
Способ 2: NetworkManager (nmcli)
# Установить DHCP через nmcli
sudo nmcli connection modify "Wired connection 1" ipv4.method auto
sudo nmcli connection modify "Wired connection 1" ipv6.method auto
# Перезапустить подключение
sudo nmcli connection down "Wired connection 1"
sudo nmcli connection up "Wired connection 1"
# Проверить
nmcli device show eth0
Способ 3: /etc/network/interfaces (Debian, старый стиль)
sudo nano /etc/network/interfaces
auto eth0
iface eth0 inet dhcp
sudo systemctl restart networking
# или
sudo dhclient -r && sudo dhclient eth0
Проверка:
ip addr show eth0
cat /var/lib/dhcp/dhclient.leases
Linux (RHEL/CentOS/Rocky)
NetworkManager (nmcli):
sudo nmcli connection modify "System eth0" ipv4.method auto
sudo nmcli connection up "System eth0"
Файл конфигурации /etc/sysconfig/network-scripts/ifcfg-eth0:
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
TYPE=Ethernet
sudo systemctl restart NetworkManager
Часть 2: Настройка DHCP-сервера
Вариант A: DHCP-сервер на Linux (isc-dhcp-server)
Установка:
sudo apt update
sudo apt install isc-dhcp-server -y
Настройка интерфейса — /etc/default/isc-dhcp-server:
INTERFACESv4="eth0"
INTERFACESv6=""
Основная конфигурация — /etc/dhcp/dhcpd.conf:
# Глобальные параметры
option domain-name "example.local";
option domain-name-servers 8.8.8.8, 8.8.4.4;
default-lease-time 600; # 10 минут
max-lease-time 7200; # 2 часа
authoritative;
# Подсеть
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200; # Пул адресов
option routers 192.168.1.1; # Шлюз
option broadcast-address 192.168.1.255;
option subnet-mask 255.255.255.0;
option domain-name-servers 8.8.8.8, 1.1.1.1;
}
# Статическая привязка (резервирование)
host printer {
hardware ethernet 00:1A:2B:3C:4D:5E;
fixed-address 192.168.1.50;
}
Запуск:
sudo systemctl enable isc-dhcp-server
sudo systemctl start isc-dhcp-server
sudo systemctl status isc-dhcp-server
Логи:
sudo journalctl -u isc-dhcp-server -f
# или
cat /var/log/syslog | grep dhcpd
Вариант B: DHCP-сервер на Linux (dnsmasq — лёгкий)
sudo apt install dnsmasq -y
/etc/dnsmasq.conf:
interface=eth0
dhcp-range=192.168.1.100,192.168.1.200,255.255.255.0,12h
dhcp-option=3,192.168.1.1 # шлюз
dhcp-option=6,8.8.8.8,1.1.1.1 # DNS
dhcp-host=00:1A:2B:3C:4D:5E,192.168.1.50 # резерв
sudo systemctl restart dnsmasq
Вариант C: DHCP на роутере (общий случай)
- Откройте веб-интерфейс роутера:
http://192.168.0.1илиhttp://192.168.1.1 - Войдите (admin/admin или данные на наклейке)
- Найдите раздел: LAN / Локальная сеть / DHCP
- Включите DHCP Server: Enable
- Укажите:
- Начальный IP: 192.168.1.100
- Конечный IP: 192.168.1.200
- Маска: 255.255.255.0
- Шлюз: 192.168.1.1
- DNS: 8.8.8.8 / 1.1.1.1
- Время аренды: 86400 сек (24 ч)
- Сохраните и перезагрузите роутер
Вариант D: DHCP на Windows Server
# Установить роль
Install-WindowsFeature DHCP -IncludeManagementTools
# Создать scope (область)
Add-DhcpServerv4Scope -Name "Office" `
-StartRange 192.168.1.100 `
-EndRange 192.168.1.200 `
-SubnetMask 255.255.255.0 `
-State Active
# Настроить параметры
Set-DhcpServerv4OptionValue -ScopeId 192.168.1.0 `
-Router 192.168.1.1 `
-DnsServer 8.8.8.8, 1.1.1.1
# Авторизовать в AD (если домен)
Add-DhcpServerInDC -DnsName "dhcpserver.domain.local"
Часть 3: Диагностика и устранение неполадок
Полезные команды
| Задача | Windows | Linux |
|---|---|---|
| Посмотреть IP | ipconfig /all |
ip addr show |
| Освободить IP | ipconfig /release |
sudo dhclient -r |
| Получить новый | ipconfig /renew |
sudo dhclient eth0 |
| Сбросить кэш DNS | ipconfig /flushdns |
sudo systemd-resolve --flush-caches |
| Таблица маршрутов | route print |
ip route show |
| Проверить DHCP | netsh interface ip show config |
cat /var/lib/dhcp/dhclient.leases |
Типичные проблемы:
IP 169.254.x.x (APIPA) — DHCP-сервер недоступен:
# Проверить, поднят ли интерфейс
ip link set eth0 up
# Проверить кабель / Wi-Fi подключение
# Проверить, работает ли DHCP-сервер
sudo tcpdump -i eth0 port 67 or port 68 -n
Конфликт IP-адресов:
# Windows
arp -a
# Linux
sudo arping -I eth0 192.168.1.100
Сервер не выдаёт адреса:
# Проверить, слушает ли сервер
sudo ss -ulnp | grep :67
# Проверить firewall
sudo iptables -L -n | grep 67
sudo ufw allow 67/udp
sudo ufw allow 68/udp
Часть 4: Лучшие практики
| Рекомендация | Пояснение |
|---|---|
| Резервируйте IP для серверов/принтеров | dhcp-host по MAC-адресу |
| Не включайте весь диапазон в пул | Оставьте .1–.99 для статики |
| Время аренды 8–24 ч для офисов | Баланс между стабильностью и оборотом |
| Укажите 2 DNS-сервера | Отказоустойчивость |
| Ведите логи DHCP | Аудит и диагностика |
| Один DHCP на подсеть | Избегайте конфликтов |
Быстрый чек-лист
[ ] 1. Определите роль: клиент или сервер?
[ ] 2. Клиент → включите "получать автоматически"
[ ] 3. Сервер → установите DHCP-демон
[ ] 4. Сервер → настройте пул, шлюз, DNS
[ ] 5. Сервер → настройте firewall (UDP 67/68)
[ ] 6. Проверьте: клиент получает IP
[ ] 7. Проверьте: пингуется шлюз и интернет
Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.