Андрей Смирнов
Время чтения: ~22 мин.
Просмотров: 0

Dhcp-сервер: установка, включение и настройка

Для чего нужен DHCP сервер на роутере?

Вернемся к локальной сети, так как настраивать DHCP сервер на собственном роутере придется именно вам. Мы выяснили, что у каждого компьютера, ноутбука, телефона, ТВ, приставки, камеры или любого другого девайса, подключенного к маршрутизатору по кабелю или беспроводному сигналу, имеется свой IP адрес для обмена информацией между собой. Зная IP, можно, например, с компьютера-клиента с Windows подключиться к ТВ приставке на Android и транслировать на нее видео, которое находится в папке на жестком диске ПК.

Также на использовании IP адресов построена простейшая система видеонаблюдения и много других более сложных конструкций. Наличие работающего DHCP сервера на роутере избавляет от необходимости вручную прописывать эти адреса для каждого устройства.

Представьте, что его бы не было — тогда каждый раз, когда бы мы подключались к wifi с ноутбука или любого другого гаджета, нужно было бы вручную задавать его в настройках. А если таких компьютеров десятки, сотни..? Плюс еще держать где-то всю информацию, какому компьютеру какой адрес назначен. Про гостевой доступ, когда к сети подключаются не зарегистрированные ранее девайсы, вообще можно было бы забыть. Не будут же ваши гости, ничего не понимающие в сетевых параметрах, сами настраивать свои ноутбуки и смартфоны на работу в вашей сети.

Если же на роутере включен DHCP сервер, то мы имеем то, к чему привыкли. Просто подключаемся к wifi, вводим пароль и пользуемся. А вся эта непонятная «кухня» с IP адресами и портами остается за кадром.

Иногда случается, что на Windows вылезает ошибка о том, что DHCP не работает. О том, как ее исправить, у нас есть отдельная инструкция.

Но бывают и такие ситуации, когда DHCP сервер нужно отключать или же даже при активной функции назначать адреса вручную. Сделать это можно не только на профессиональном дорогом оборудовании Cisco, но и на самом обычном домашнем роутере. Так что давайте разберемся вместе, что к чему.

Example setup

Let us consider that you have several IP networks ‘behind’ other routers, but you want to keep all DHCP servers on a single router. To do this, you need a DHCP relay on your network which relies DHCP requests from clients to DHCP server.

This example will show you how to configure a DHCP server and a DHCP relay which serve 2 IP networks — 192.168.1.0/24 and 192.168.2.0/24 that are behind a router DHCP-Relay.

IP Address Configuration

IP addresses of DHCP-Server:

 ip address> print
Flags: X - disabled, I - invalid, D - dynamic
 #   ADDRESS            NETWORK         BROADCAST       INTERFACE
 0   192.168.0.1/24     192.168.0.0     192.168.0.255   To-DHCP-Relay
 1   10.1.0.2/24	10.1.0.0	10.1.0.255	Public
 ip address>

IP addresses of DHCP-Relay:

 ip address> print
Flags: X - disabled, I - invalid, D - dynamic
 #   ADDRESS            NETWORK         BROADCAST       INTERFACE
 0   192.168.0.2/24     192.168.0.0     192.168.0.255   To-DHCP-Server
 1   192.168.1.1/24     192.168.1.0     192.168.1.255   Local1
 2   192.168.2.1/24     192.168.2.0     192.168.2.255   Local2
 ip address>

DHCP Server Setup

To setup 2 DHCP Servers on DHCP-Server router add 2 pools. For networks 192.168.1.0/24 and 192.168.2.0:

/ip pool add name=Local1-Pool ranges=192.168.1.11-192.168.1.100
/ip pool add name=Local1-Pool ranges=192.168.2.11-192.168.2.100
 ip pool> print
 # NAME                                         RANGES
 0 Local1-Pool                                  192.168.1.11-192.168.1.100
 1 Local2-Pool                                  192.168.2.11-192.168.2.100
 ip pool>

Create DHCP Servers:

/ip dhcp-server add interface=To-DHCP-Relay relay=192.168.1.1 \
   address-pool=Local1-Pool name=DHCP-1 disabled=no
/ip dhcp-server add interface=To-DHCP-Relay relay=192.168.2.1 \
   address-pool=Local2-Pool name=DHCP-2 disabled=no
 ip dhcp-server> print
Flags: X - disabled, I - invalid
 #   NAME         INTERFACE     RELAY           ADDRESS-POOL LEASE-TIME ADD-ARP
 0   DHCP-1       To-DHCP-Relay 192.168.1.1     Local1-Pool  3d00:00:00
 1   DHCP-2       To-DHCP-Relay 192.168.2.1     Local2-Pool  3d00:00:00
 ip dhcp-server>

Configure respective networks:

/ip dhcp-server network add address=192.168.1.0/24 gateway=192.168.1.1 \
   dns-server=159.148.60.20
/ip dhcp-server network add address=192.168.2.0/24 gateway=192.168.2.1 \
   dns-server 159.148.60.20
 ip dhcp-server network> print
 # ADDRESS            GATEWAY         DNS-SERVER      WINS-SERVER     DOMAIN
 0 192.168.1.0/24     192.168.1.1     159.148.60.20
 1 192.168.2.0/24     192.168.2.1     159.148.60.20
 ip dhcp-server network>

DHCP Relay Config

Configuration of DHCP-Server is done. Now let’s configure DHCP-Relay:

/ip dhcp-relay add name=Local1-Relay interface=Local1 \
   dhcp-server=192.168.0.1 local-address=192.168.1.1 disabled=no
/ip dhcp-relay add name=Local2-Relay interface=Local2 \
   dhcp-server=192.168.0.1 local-address=192.168.2.1 disabled=no
 ip dhcp-relay> print
Flags: X - disabled, I - invalid
 #   NAME                        INTERFACE      DHCP-SERVER     LOCAL-ADDRESS
 0   Local1-Relay                Local1         192.168.0.1     192.168.1.1
 1   Local2-Relay                Local2         192.168.0.1     192.168.2.1
 ip dhcp-relay>

Как исправить ошибку «DHCP не включен на сетевом адаптере. » в Windows 10?

Для Windows 8 и Windows 7 эти рекомендации так же должны подойти. Некоторые пункты меню и настройки могут немного отличатся. Я буду показывать все на примере Windows 10.

Решение №1: через диагностику сетей Windows

Если вам повезет, то сразу после запуска средства диагностики появится следующее сообщение: «Автоматически обновлять параметры сети. В системе поддерживается автоматическое определение параметров сети». Не задумываясь нажимайте на «Внести это исправление».

Или после того, как будет обнаружена проблема, например, «DHCP не включен на сетевом адаптере Беспроводная сеть» нажмите на пункт «Попробуйте выполнить восстановление от имени администратора».

Если системе удастся автоматически решить эту проблему, то напротив обнаруженной проблемы появится надпись «Исправлено» и интернет заработает.

Если не получится с первого раза, то перезагрузите компьютер и запустите диагностику неполадок повторно.

Решение №2: проверяем настройки DHCP вручную

Первым делом нам нужно открыть окно «Сетевые подключения». Сделать это можно с помощью команды ncpa.cpl. Нажмите сочетание клавиш Win+R, скопируйте эту команду в поле «Открыть» и нажмите «Ok».

Дальше нужно нажать правой кнопкой мыши и открыть «Свойства» того адаптера, при подключении через который у вас возникла эта ошибка. В случае с Windows 10: «Ethernet» – это подключение по кабелю, а «Беспроводная сеть» – подключение по Wi-Fi.

Дальше выделяем протокол «IP версии 4 (TCP/IPv4)» и нажимаем на кнопку «Свойства». Выставляем автоматическое получение IP и DNS адресов, как показано на скриншоте ниже и нажимаем «Ok».

Если подключение к интернет не появится и статус «Неопознанная сеть» возле адаптера не пропадает, то убедитесь, что вы меняли настройки именно того адаптера, через который выполняете подключение. Так же выполните перезагрузку компьютера.

Выше я показал два основных решения, с помощью которых чаще всего удается избавится от этой ошибки. Если у вас ничего не получилось – смотрите другие решения.

Дополнительные решения и подсказки

  1. Сделайте сброс настроек сети. Здесь инструкция для Windows 10, а здесь для Windows 7 и Windows 8.
  2. Если подключение через роутер – перезагрузит его. Проверьте, работает ли интернет на других устройствах (через этот же роутер) . Чтобы выяснит в чем причина, можете почитать статью Роутер перестал раздавать интернет. Как найти причину и устранить ее.
  3. Если кабель к компьютеру подключен напрямую от интернет-провайдера, то отключите его и подключите заново. Перезагрузите компьютер. Так же желательно позвонить в поддержку провайдера и выяснить, нет ли неполадок на их стороне. Или попробовать подключить интернет к другому компьютеру.
  4. Вспомните, что вы делали на компьютере перед появлением ошибки «DHCP не включен на сетевом адаптере». Возможно таким образом получится найти причину и устранить ее. Если перед этим вы что-то устанавливали или меняли настройки, и не знаете как все вернуть обратно – напишите в комментариях.
  5. Еще одна похожая ошибка: Сетевой адаптер не имеет допустимых параметров настройки IP. Посмотрите, возможно это ваш случай.
  6. Попробуйте прописать настройки IP вручную. Как это сделать, я показывал в этой статье.
  7. На всякий случай попробуйте полностью остановить работу антивируса. Если он установлен на вашем компьютере.
  8. Желательно выполнить переустановку сетевого адаптера. Для этого нужно зайти в диспетчер устройств и удалить сетевую карту, или Wi-Fi адаптер (в зависимости от того, с каким адаптером у вас проблемы) . После удаления и перезагрузки компьютера может понадобится повторная установка драйвера. Здесь вам может пригодится инструкция по установке драйвера для сетевой карты и инструкция по установке (обновлению) драйвера Wi-Fi адаптера.
  9. Не лишней будет проверка компьютера на разного рода вирусы и вредоносное ПО с помощью специальных антивирусных утилит. Можно использовать AdwCleaner, Dr.Web CureIt!, Kaspersky AVP Tool, CrystalSecurity, AVZ и другие.

Довольно большое количество людей, которые используют Wi-Fi сталкивались с тем, что при попытке подключиться к интернету возникает ошибка с текстом «DHCP не включен на сетевом адаптере».

В некоторых случаях такая ошибка также имеет место при попытке объединения нескольких машин в одну локальную сеть.

Довольно редко, но она может возникать и при подключении через кабель RJ45.

В любом случае, способы устранения этой ошибки во всех случаях одинаковые, хотя есть и некоторые, которые относятся только к Wi-Fi.

Мы рассмотрим все методы, которые помогают избавиться от проблемы, связанной с DHCP.

Модификация записей зоны

Зоны, которые обновляются динамически, можно модифицировать как при помощи специальных утилит, так и редактированием файлов, находящихся в .

Обновление динамических зон при помощи nsupdate

Утилита входит в пакет . Также в этом же пакете присутствует утилита , позволяющая получить выгрузку определённой зоны.

Установите пакет, выполнив:

emerge bind-tools

Чтобы получить содержимое зоны example.org, выполните:

dig -t axfr example.org.

; <<>> DiG 9.11.2-P1 <<>> -t axfr example.org.
;; global options: +cmd
example.org.        86400   IN  SOA ns1.example.org. root.example.org. 2018031402 10800 3600 604800 86400
example.org.        86400   IN  NS  ns1.example.org.
client.example.org. 3600    IN  A   192.168.50.100
client.example.org. 3600    IN  TXT "3173d9bec89af77517b8cff6e3c19edb9f"
dns.example.org.    86400   IN  A   192.168.50.3
gw.example.org.     86400   IN  A   192.168.50.1
localhost.example.org.  86400   IN  A   127.0.0.1
ns1.example.org.    86400   IN  A   192.168.50.3
example.org.        86400   IN  SOA ns1.example.org. root.example.org. 2018031402 10800 3600 604800 86400
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Чт мар 15 15:12:23 MSK 2018
;; XFR size: 9 records (messages 1, bytes 314)

Для получения содержимого обратной зоны выполните:

dig -t axfr 50.168.192.in-addr.arpa

; <<>> DiG 9.11.2-P1 <<>> -t axfr 50.168.192.in-addr.arpa
;; global options: +cmd
50.168.192.in-addr.arpa. 86400  IN  SOA ns1.example.org. root.example.org. 2018031402 10800 3600 604800 86400
50.168.192.in-addr.arpa. 86400  IN  NS  ns1.example.org.
1.50.168.192.in-addr.arpa. 86400 IN PTR gw.example.org.
100.50.168.192.in-addr.arpa. 3600 IN    PTR client.example.org.
3.50.168.192.in-addr.arpa. 86400 IN PTR ns1.example.org.
50.168.192.in-addr.arpa. 86400  IN  SOA ns1.example.org. root.example.org. 2018031402 10800 3600 604800 86400
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Чт мар 15 15:12:04 MSK 2018
;; XFR size: 6 records (messages 1, bytes 246)

Так как обновление зон настроено по ключу , то его необходимо указать утилите:

nsupdate -k /etc/bind/rndc.key

Выполнение команды запустит консоль для взаимодействия с DNS. Для получения полного перечня команд воспользуйтесь командой , для выхода — .

Для удаления записи client.example.org из зоны используйте следующую команду

nsupdate -k /etc/bind/rndc.key

del client.example.org
send
quit

Для добавления записи client.example.org в зону example.org используйте следующую команду:

nsupdate -k /etc/bind/rndc.key

nxdomain client.example.org
add client.example.org 3600 A 192.168.1.100
send
quit

Команда служит для проверки отсутствия записи client.example.org в DNS. Команда добавляет A-запись client.example.org соответствующую 192.168.1.100 с TTL 1 час (3600).

Вместо А-записи (соответствие доменного имени IP адресу) можно использовать для назначения псевдонима для зоны. Добавьте CNAME запись comp1.example.org на client.example.org:

nsupdate -k /etc/bind/rndc.key

nxdomain comp1.example.org
add comp1.example.org 3600 CNAME client.example.org
send
quit

Для удаления записи 192.168.50.100 из обратной зоны используйте следующую команду:

nsupdate -k /etc/bind/rndc.key

del 100.50.168.192.in-addr.arpa. 
send
quit

Для добавление обратной записи 192.168.50.100 на client.example.org в обратную зону используйте следующую команду:

nsupdate -k /etc/bind/rndc.key

nxdomain 100.50.168.192.in-addr.arpa 
add 100.50.168.192.in-addr.arpa. 3600 PTR client.example.org.
send
quit

Редактирование файлов, описывающих зоны

При редактировании файлов зон вручную необходимо сначала приостановить возможность динамического изменения и только после этого редактировать. После изменения файлов необходимо восстановить динамические изменения:

rndc sync

rndc freeze example.org

/var/bind/dyn/example.org.zone

rndc reload example.org

rndc thaw example.org

Где:

  • — перенесёт временные изменения из журнала в файл описания зоны;
  • — приостановит динамическое изменение;
  • — перечитает содержимое из файла описания;
  • — восстановит возможность динамического изменения.

При каждом редактировании зоны необходимо увеличивать серийный номер.

Пример

$ORIGIN .
$TTL 86400  ; 1 day
example.org     IN SOA  ns1.example.org. root.example.org. (
                2018031406 ; serial
                10800      ; refresh (3 hours)
                3600       ; retry (1 hour)
                604800     ; expire (1 week)
                86400      ; minimum (1 day)
                )
            NS  ns1.example.org.
$ORIGIN example.org.
$TTL 3600   ; 1 hour
client          A   192.168.50.101
            TXT "317e714be5304884a0829b791e1d79b481"
$TTL 86400  ; 1 day
dns         A   192.168.50.3
gw          A   192.168.50.1
localhost       A   127.0.0.1
ns1         A   192.168.50.3

DHCPRELEASE

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

Теперь, когда мы познакомились с различными сообщениями в DCHP, можно изучить весь процесс работы, чтобы получить более полное представление. Шаги ниже описываются исходя из того, что все настройки установлены по умолчанию.

  • Шаг 1.

    Когда клиент (компьютер или устройство) загружается или подключается к сети, серверу отправляется сообщение DHCPDISCOVER. Если нет никаких дополнительных данных о конфигурации, то сообщение отправляется с адреса 0.0.0.0 к 255.255.255.255. Если сервер DHCP находится в локальной подсети, то она напрямую получает сообщение, если он находится в другой подсети, то используется агент ретрансляции для передачи запроса к серверу DCHP. Используется протокол передачи UDP через порт 67. Клиент на данном этапе начинает стадию авторизации.

  • Шаг 2.

    В тот момент как сервер получил запрос DHCPDISCOVER, то он отправляет в ответ сообщение DHCPOFFER. Как говорилось ранее, в этом сообщении содержатся все необходимые параметры конфигурации, запрашиваемые клиентом. Например, IP-адрес, необходимый клиенту, а также значение маски подсети и информация о шлюзе. Также сервер сразу заполняет значения MAC-адреса в поле CHADDR. Сообщение отправляется клиенту от адреса 255.255.255.255 напрямую, а если сервер находится в другой подсети, то используются агенты ретрансляции, который отвечает за то, чтобы сообщение было доставлено. В этом случае для передачи применяется протокол UDP через порт 68. На этом этапе клиент начинает подбирать параметры.

  • Шаг 3.

    Клиент формирует сообщение DHCPREQUEST, которое служит ответом на DHCPOFFER от сервера, указав, что он принимает параметры конфигурации, отправленные ему. Если бы было несколько серверов DCHP, то клиент бы получил также несколько сообщений DHCPOFFER, но клиент отвечает только одному серверу, заполняя параметры конфигурации для настройки. Таким образом, он проходит авторизацию с получением IP-адреса от одного конкретного сервера DCHP. Все сообщение от других серверов блокируются. Сообщение DHCPREQUEST по-прежнему будет содержать адрес источника 0.0.0.0, если клиенту все еще нельзя использовать IP-адреса, полученные в сообщении DHCPOFFER. В течение этого этапа клиент получает ответы на свои запросы.

  • Шаг 4.

    Как только сервер получает DHCPREQUEST от клиента, он посылает DHCPACK сообщение о том, что теперь клиент может использовать IP-адрес, назначенный к нему. Клиент окончательно подключается к сети и с настроенными параметрами.

Концепция аренды

В дополнении к остальной необходимой информации о том, как работает DCHP, следует также знать IP-адрес, назначенный в DCHP сервером в аренду клиенту. После истечения срока аренды сервер DHCP может свободно присвоить этот IP-адрес другому компьютеру или устройству, запрашивающему то же самое. Например, сохранение срока аренды 8-10 часов полезно для компьютеров, которые обычно выключают в конце дня. Поэтому аренда должна продлеваться время от времени. После истечения половины срока аренды, DCHP клиент обычно пытается автоматически продлить данный срок. Это делается путем обмена DHCPREQUEST и DHCPACK сообщениями. Благодаря этому начинается стадия обновления данных для клиента. 

Реализации

Компания Microsoft впервые включила сервер DHCP в поставку серверной версии Windows NT 3.5, выпущенной в 1994 году. Начиная с Windows 2000 Server реализация DHCP-сервера от Microsoft позволяет динамически обновлять записи DNS, что используется в Active Directory.

Internet Systems Consortium выпустил первую версию ISC DHCP Server (для Unix-подобных систем) 6 декабря 1997 года. 22 июня 1999 года вышла версия 2.0, более точно соответствующая стандарту.

Компания Cisco включила сервер DHCP в Cisco IOS 12.0 в феврале 1999 года. (Sun) Sun Microsystems добавила DHCP-сервер в Solaris 8 в июле 2001 года.

В настоящее время существуют реализации сервера DHCP для ОС Windows в виде отдельных программ, в том числе открытых, позволяющих выполнять роль сервера DHCP компьютерам под управлением не серверных версий данной ОС.

Некоторые дополнительные параметры

option domain-name string;

Параметр задает доменное имя, которое клиенты используют при запросах к DNS, при разрешении имен.

option netbios-name-servers ip-address [, ip-address…];

Задает список серверов имен NetBIOS (NBNS), соответствующих RFC 1001/1002 Сервера должны быть перечислены в порядке предпочтительности. Сервера имен NetBIOS так же известны как сервера WINS.

option netbios-dd-server ip-address [, ip-address…];

Опция сервера распределения данных NetBIOS (NBDD) указывает список серверов RFC 1001/1002 NBDD. Серверы должны быть перечислены в порядке предпочтения.

option netbios-node-type INT;

Параметр позволяет сконфигурировать тип узла, т.е. способ разрешения имен клиентами NetBIOS поверх TCP/IP.

Возможные значения параметра:

1

B-node (Broadcast): Разрешение имен с помощью широковещательных запросов, WINS не используется.

2

P-node (Peer): Используется только WINS.

4

M-node (Mixed): Смешанный тип, сначала используется широковещательный запрос, затем в случае неудачи — WINS

8

H-node (Hybrid): Смешанный наоборот. WINS, а затем broadcast.

option netbios-scope string;

Опция области NetBIOS указывает параметр NetBIOS через TCP/IP для клиента, как указано в RFC 1001/1002. См. RFC1001, RFC1002 и RFC1035 для ограничения набора символов.

Протокол DHCP

Протокол DHCP (Dynamic Host Configuration Protocol — протокол динамического конфигурирования хостов) является протоколом клиент-серверной модели. То есть, есть сервер DHCP (демон dhcpd) отвечающий на запросы клиентов и есть клиент DHCP (dhclient) посылающий запросы и принимающий ответы от сервера. Передача данных производится при помощи протокола UDP, при этом сервер принимает сообщения от клиентов на порт 67 и отправляет сообщения клиентам на порт 68.

В общем случае, не размусоливая о структуре посылаемых пакетов, схему работы протокола можно представить следующим рисунком:

Градиентными овалами и стрелками на схеме обозначены широковещательные сообщения и направление сообщения соответственно. Линиями обозначены не широковещательные сообщения. Пунктиром обозначены, возможные сообщения (необязательные). На основании рисунка, рассмотрим пример процесса получения IP-адреса клиентом от параллельно работающих серверов DHCP. Предположим, клиент ещё не имеет собственного IP-адреса. Процесс состоит из следующих этапов:

1. Обнаружение DHCP (DHCPDISCOVER)

На первом этапе, клиент выполняет широковещательный запрос по всей физической сети с целью обнаружить доступные DHCP-серверы. Он отправляет сообщение типа DHCPDISCOVER, при этом в качестве IP-адреса источника указывается 0.0.0.0 (так как компьютер ещё не имеет собственного IP-адреса), а в качестве адреса назначения — широковещательный адрес 255.255.255.255. Кроме IP источника и назначения, клиент в данном сообщении  посылает: уникальный идентификатор запроса, свой MAC, и, возможно, прошлый присвоенный IP.

2. Ответ DHCP — сервера (DHCPOFFER)

Получив сообщение от клиента, сервера определяют требуемую конфигурацию клиента в соответствии со своими указанными в конфигурационном файле настройками. Все сервера, получившие запрос, формируют ответ (DHCPOFFER), содержащий конфигурацию клиента, и отправляют его клиенту на MAC-адрес. В ответе содержится следующая информация: IP, назначенный хосту, и прочие параметры (такие, как адреса маршрутизаторов и DNS-серверов). Клиент получает ответы от всех серверов DHCP, функционирующих в сети, из них он должен выбрать тот, который его «устраивает» (а устраивает его скорее всего тот, который пришел первым).

3. Запрос DHCP-сервера (DHCPREQUEST)

Выбрав одну из конфигураций, предложенных DHCP-серверами, клиент отправляет запрос DHCP (DHCPREQUEST). Он рассылается широковещательно. В сообщении содержится информация из сообщения DHCPDISCOVER + специальная опция — идентификатор сервера — указывающая адрес DHCP-сервера. При этом, сервер, который не выбран в качестве «устраивающего» тоже видит, что он не выбран.

4. Подтверждение от DHCP-сервера (DHCPACK)

Наконец, сервер подтверждает запрос и направляет это подтверждение (DHCPACK) клиенту. После этого клиент должен настроить свой сетевой интерфейс, используя предоставленные опции.

При этом, кроме указанных сообщений, возможны и другие (на схеме указаны пунктиром):

Отказ от настроек, предоставленных DHCP-сервером (DHCPDECLINE)

Если после получения подтверждения (DHCPACK) от сервера клиент обнаруживает, что указанный сервером адрес уже используется в сети, он рассылает широковещательное сообщение отказа DHCP (DHCPDECLINE), после чего процедура получения IP-адреса повторяется.

Отмена от DHCP-сервера (DHCPNAK)

Если по каким-то причинам сервер не может предоставить клиенту запрошенный IP-адрес, или если аренда адреса удаляется администратором, сервер рассылает широковещательное сообщение отмены DHCP (DHCPNAK). При получении такого сообщения соответствующий клиент должен повторить процедуру получения адреса.

Освобождение адреса DHCP (DHCPRELEASE)

Клиент может явным образом прекратить аренду IP-адреса. Для этого он отправляет сообщение освобождения DHCP (DHCPRELEASE) тому серверу, который предоставил ему адрес в аренду.

Информация DHCP (DHCPINFORM)

Сообщение информации DHCP (DHCPINFORM) предназначено для определения дополнительных параметров TCP/IP (например, адреса маршрутизатора по умолчанию, DNS-серверов и т. п.) теми клиентами, которым не нужен динамический IP-адрес (то есть адрес которых настроен вручную). Серверы отвечают на такой запрос сообщением подтверждения (DHCPACK) без выделения IP-адреса.

Установка и первоначальная настройка

Установка Debian Wheezy 7.0 происходит в текстовом режиме на русском языке и, как правило, не  вызывает сложностей. Отдельно стоит только остановится на списке ролей: из предложенного нас, пожалуй, может заинтересовать только OpenSSH, для удаленного доступа, однако воспользовавшись пунктом Manual package selection опытный пользователь может сразу установить необходимые ему пакеты.

Если же это ваш первый сервер, то лучше всего продолжить не выбирая никакого варианта, все необходимые пакеты мы доустановим позже. Это позволит иметь более четкое представлении о назначении того или иного пакета и позволит успешно справляться с возможными неполадками. По окончании установки система перезагрузится и встретит нас черным экраном командной строки. Непривычного к консоли Windows-администратора это может неприятно удивить, однако ситуация на сегодняшний день такова, что все серверные роли Linux настраиваются исключительно через консоль и файлы конфигурации.

В первую очередь настроим сетевые соединения. Вводим в консоли:

nano /etc/network/interfaces

Эта команда откроет в консольном редакторе nano конфигурационный файл с сетевыми интерфейсами, аналогичный рисунку ниже. 

Пока там прописан единственный интерфейс eth0, настроенный на работу по DHCP. К eth0 у нас подключен ADSL модем (или любая сеть провайдера), а eth1 смотрит во внутреннюю сеть. IP адрес на внешнем интерфейсе 192.168.1.2, шлюз (ADSL модем) 192.168.1.1, внутренняя сеть лежит в диапазоне 192.168.3.1 — 254. Тогда настройки будут выглядеть следующим образом:

auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1


auto eth1
iface eth1 inet static
address 192.168.3.1
netmask 255.255.255.0

Сохраняем изменения Ctrl+O и выходим Ctrl+X. Теперь нужно настроить DNS, для этого выполняем: 

nano /etc/resolv.conf

В этом файле необходимо указать адреса DNS серверов, лучше всего указать DNS провайдера или, как в нашем случае, Google DNS.

#Google DNS
nameserver 8.8.8.8
nameserver 8.8.4.4

Сохраняем. Теперь нужно перезапустить сетевые службы (либо перезагрузиться):

/etc/init.d/networking restart

Собственно сеть настроена, можно переходить к следующему этапу, однако мы рекомендуем установить еще несколько пакетов для удобства администрирования.  Сначала обновим список доступных пакетов:

aptitude update

Также рекомендуем обновить версии пакетов до актуальных:

aptitude upgrade

Теперь установим Midnight Commander (mc), файловый менеджер по образу и подобию Norton Commander или Far:

aptitude install mc

Для запуска Midnight Commander достаточно набрать в консоли его краткое имя: mc. Сразу рекомендуем включить встроенный редактор, более удобный чем nano: F9 — Настройки — Конфигурация — Встроенный редактор. 

Для удаленного управления сервером (не бегать же к нему каждый раз) установим OpenSSH, что позволит подключаться к нему из любого места, даже из дома, по защищенному протоколу:

aptitude install ssh

Для подключения с Windows станций можно использовать программу PuTTY (скачать), для корректного отображения символов перед подключением необходимо на закладке Window — Translation выбрать кодировку UTF8. 

Для ограничения доступа к серверу можно дописать в файл /etc/ssh/sshd_config параметр AllowUsers с указанием пользователя имеющего доступ по SSH, например для пользователя admin:

AllowUsers admin

Также можно разрешить доступ определенной группе пользователей используя параметр AllowGroups, либо запретить доступ определенным пользователям / группам использовав DenyUsers и DenyGroups.

Разрешаем доступ к DHCP на маршрутизаторе

Рассмотрим, как включить DHCP на роутере. Конфигурация сетевого протокола DHCP осуществляется посредством настроек роутера. Это означает, что юзеру необходимо предварительно войти в параметры маршрутизатора. Для того, чтобы попасть в веб-интерфейс роутера, придётся набрать в поисковой строке любого браузера 192.168.0.1.

Данный адрес является стандартным для всех моделей маршрутизаторов. В нашем случае, при создании локальной сети, роутер будет являться источником сети «Интернет» и одновременно выполнять роль сервера. Дальнейшие действия предполагают включение службы DHCP на роутере

Войдя в его параметры пользователю нужно обратить внимание на соответствующий раздел и убедиться в том, что доступ разрешён

Следует учесть, что если по каким-то причинам юзер хочет осуществить действия, предполагающие ни что иное, как отключить DHCP на роутере, то ему придётся всего лишь закрыть доступ указанной службе на маршрутизаторе. Затем необходимо сохранить проделанные действия для того, чтобы при следующем входе в веб-интерфейс настроек модема, они вступили в силу.

Распределение IP-адресов

Протокол DHCP предоставляет три способа распределения IP-адресов:

  • Ручное распределение. При этом способе сетевой администратор сопоставляет аппаратному адресу (для Ethernet-сетей это MAC-адрес) каждого клиентского компьютера определённый IP-адрес. Фактически данный способ распределения адресов отличается от ручной настройки каждого компьютера лишь тем, что сведения об адресах хранятся централизованно (на сервере DHCP), и потому их проще изменять при необходимости.
  • Автоматическое распределение. При данном способе каждому компьютеру на постоянное использование выделяется произвольный свободный IP-адрес из определённого администратором диапазона.
  • Динамическое распределение. Этот способ аналогичен автоматическому распределению за исключением того, что адрес выдаётся компьютеру не на постоянное пользование, а на определённый срок. Это называется арендой адреса. По истечении срока аренды IP-адрес вновь считается свободным, и клиент обязан запросить новый (он, впрочем, может оказаться тем же самым). Кроме того, клиент сам может отказаться от полученного адреса.

Additional parameters

DHCP relay agent options

# set service dhcp-relay relay-options hop-count count

Set the maximum hop count before packets are discarded. Range 0…255, default 10.

# set service dhcp-relay relay-options max-size size

Set maximum size of DHCP packets including relay agent information. If a DHCP packet size surpasses this value it will be forwarded without appending relay agent information. Range 64…1400, default 576.

set service dhcp-relay relay-options port port

Set the port used to relay DHCP client messages. Range 1…65535, default 67. After setting a different port, requests are still accepted on port 67 but replies are forwarded to 255.255.255.255 port 0 instead of 68.

set service dhcp-relay relay-options relay-agents-packet policy

Four policies for reforwarding DHCP packets exist:
append: The relay agent is allowed to append its own relay information to a received DHCP packet, disregarding relay information already present in the packet.
discard: Received packets which already contain relay information will be discarded.
forward: All packets are forwarded, relay information already present will be ignored.
replace: Relay information already present in a packet is stripped and replaced with the router’s own relay information set.

DHCPv6 relay agent options

# set service dhcpv6-relay listen-port port

Set listening port for DHCPv6 requests. Default: 547.

# set service dhcpv6-relay max-hop-count count

Set maximum hop count before packets are discarded. Default: 10.

set service dhcpv6-relay use-interface-id-option

Что делать, если DHCP не включен на Windows при подключении сетевого адаптера Ethernet или WiFi через роутер

Теперь рассмотрим ситуацию, когда вы подключили к интернету роутер, а компьютер уже через него. Здесь работает то же правило — после того, как включили DHCP сервер на роутере, нужно точно так же настроить сетевой адаптер компьютера с операционной системой Windows 10, или 7, 8. Опять же, по умолчанию любая версия Windows заточена под работу именно по DHCP, то есть автоматическое получение IP адреса от роутера.

Однако, бывает, что при попытке подключения к wifi выдаётся ошибка, что DHCP не включен на сетевом адаптере. Это означает, что параметры подключения были когда-то и кем-то назначены вручную, и теперь их нужно сменить. Делаем это по уже описанной в предыдущем разделе схеме.

Но поскольку в данном примере мы имеем еще одно дополнительное звено в видео маршрутизатора, который подключен к интернету, то для доступности сети следует также проверить его настройки. Чтобы был правильно выбран тип соединения с провайдером и введены корректные данные.

  • Для Динамического IP — ничего вводить не нужно
  • Для Статического IP — надо указать адрес, маску и шлюз
  • Для PPPoE — имя пользователя и пароль для подключения
  • PPTP/L2TP — логин, пароль и адрес сервера

Ниже приведены примеры выбора данных параметров в панелях управления разных моделей — TP-Link, Keenetic, Tenda, Netis. О том, какой именно используется у вас необходимо посмотреть в договоре на оказание услуг или позвонить в техподдержку.

Не помогло

Рейтинг автора
5
Материал подготовил
Максим Иванов
Наш эксперт
Написано статей
129
Ссылка на основную публикацию
Похожие публикации