Протокол динамического конфигурирования сервера

Конфигурирование DHCP роутера

Если
настройки по умолчанию не устраивают, то можно изменить конфигурацию
параметров. В том же меню, где мы включили функцию раздачи адресов,
можно ввести диапазон раздачи IP-адресов, например 192.153.0.1 –
192.153.0.3. Для работы можно указать и всего два адреса, например, для
ноутбука и мобильного телефона. Это ограничивает количество одновременно
работающих устройств, что является самой простой защитой соединения.

Создав основные настройки, необходимо их сохранить и перезагрузить роутер. Сразу после перезагрузки параметры вступят в силу.

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

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

Мы даже не осознаём, как выполняется подключение к сети и абсолютно не принимаем участия в нём. Немного углубившись в тему мы поймём, что настройка – необходимый элемент подключения, критически важный для функционирования. Здесь всю работу выполняет DHCP сервер, он посылает запросы с клиента, формируя их, затем обрабатывая на сервере и посылая ответ. Это распространенная схема подключения, провайдеры активно её используют. Если сервер убрать, то вы столкнетесь с ручной настройкой доступа, а это сделать весьма сложно.

Во многих системах встречаются исчезновение интернета, при том, что физически он доступен. Нажав на «Диагностику сети», компьютеру удаётся исправить ситуацию и пишется, что проблема «Отсутствуют доступные IP-адреса» устранена. Это яркий пример, где применяется настройка DHCP, выполняя отправку и дешифровку запроса параметров.

Установка DHCP интересует пользователей по причине необходимости развернуть офисную/домашнюю сеть, таким образом, вы защитите себя от повторения параметров, перегруженности каналов и сбоев в сети. Наиболее простой представитель, который позволяет включить DHCP сервер без дополнительной траты ресурсов времени и легкий в применении – это Wi-Fi роутер. Он может выполнять все поставленные функции динамической раздачи адресов и ограничения.

Настройка на коммутаторе

Для примера использован DES-3526

Boot PROM Version : Build 5.00.009
Firmware Version  : Build 5.01.B52
Hardware Version  : 0A3G
# IPBIND
config address_binding ip_mac ports 1-24 state enable
config address_binding ip_mac ports 1-24 allow_zeroip enable
config address_binding ip_mac ports 1-24 forward_dhcppkt disable
disable address_binding acl_mode
disable address_binding trap_log
enable address_binding dhcp_snoop
config address_binding dhcp_snoop max_entry ports 1-26 limit 5

allow_zeroip enable — включить опцию пропускать пакеты с нулевым src-ip.
Без этой опции возникают проблемы с Вистой.

Обязательно запретить DHCP на всех портах кроме аплинковых.

# ACL

create access_profile ip udp src_port_mask 0xFFFF profile_id 10
config access_profile profile_id 10 add access_id 11 ip udp src_port 68 port 1 deny
config access_profile profile_id 10 add access_id 12 ip udp src_port 68 port 2 deny
config access_profile profile_id 10 add access_id 13 ip udp src_port 68 port 3 deny
config access_profile profile_id 10 add access_id 14 ip udp src_port 68 port 4 deny
config access_profile profile_id 10 add access_id 15 ip udp src_port 68 port 5 deny
config access_profile profile_id 10 add access_id 16 ip udp src_port 68 port 6 deny
config access_profile profile_id 10 add access_id 17 ip udp src_port 68 port 7 deny
config access_profile profile_id 10 add access_id 18 ip udp src_port 68 port 8 deny
config access_profile profile_id 10 add access_id 19 ip udp src_port 68 port 9 deny
config access_profile profile_id 10 add access_id 20 ip udp src_port 68 port 10 deny
config access_profile profile_id 10 add access_id 21 ip udp src_port 68 port 11 deny
config access_profile profile_id 10 add access_id 22 ip udp src_port 68 port 12 deny
config access_profile profile_id 10 add access_id 23 ip udp src_port 68 port 13 deny
config access_profile profile_id 10 add access_id 24 ip udp src_port 68 port 14 deny
config access_profile profile_id 10 add access_id 25 ip udp src_port 68 port 15 deny
config access_profile profile_id 10 add access_id 26 ip udp src_port 68 port 16 deny
config access_profile profile_id 10 add access_id 27 ip udp src_port 68 port 17 deny
config access_profile profile_id 10 add access_id 28 ip udp src_port 68 port 18 deny
config access_profile profile_id 10 add access_id 29 ip udp src_port 68 port 19 deny
config access_profile profile_id 10 add access_id 30 ip udp src_port 68 port 20 deny
config access_profile profile_id 10 add access_id 31 ip udp src_port 68 port 21 deny
config access_profile profile_id 10 add access_id 32 ip udp src_port 68 port 22 deny
config access_profile profile_id 10 add access_id 33 ip udp src_port 68 port 23 deny
config access_profile profile_id 10 add access_id 34 ip udp src_port 68 port 24 deny

Диагностика на стороне сервера

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

Запущен ли DHCP как сервис?

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

Приходят ли запросы от клиентов на DHCP-сервер?

Чтобы определить это, нужно снова запустить анализатор сетевого трафика. На этот раз на сервере. После запуска на сервере tcpdump, dhcpdump или Wireshark клиенту, у которого проблемы с получением адреса, необходимо попытаться получить его снова любым способом, описанным в начале статьи. Если DHCP-сервер работает в штатном режиме, то должны быть и запросы, и ответы. Но всё может быть иначе.

Нет ни запросов, ни ответов?

Предположим, что у нас есть по крайней мере один клиент, которому не удаётся получить настройки, и запрос от него точно должен был прийти на сервер. Если этого не произошло, очевидно, что клиент либо сам не отправляет запрос, либо запрос не доходит до сервера по разным причинам. Может, он блокируется на промежуточном сетевом оборудовании или в сети некорректно работает ретрансляция DHCP-запросов dhcp_relay. Чтобы это проверить, можно в первом случае вернуться к диагностике на стороне клиента и проследить с помощью анализатора сетевого трафика, что клиент отправляет DHCP-запрос. Во втором — проверить настройки на промежуточном сетевом оборудовании.

Запрос(ы) есть, ответа(ов) нет?

Самая простая и очевидная причина в этом случае — закончился пул свободных адресов. Это легко проверить на самом DHCP-сервере по списку выделенных IP-адресов (leases). Если причина действительно в этом — задумайтесь: возможно, пришло время для увеличения пула пригодных для использования IP-адресов на сервере. Чтобы решить проблему прямо сейчас, можно почистить список существующих адресов, выданных в аренду клиентам, уменьшить время аренды и перезапустить сервис DHCP. Но быстрые решения помогают не всегда, а причин может быть гораздо больше. В таком случае придётся детально просматривать логи, а также последние изменения в конфигурации на сервере.

Возможности сервера DHCP

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

  • Шлюзы по умолчанию. Если в вашей сети имеется несколько Интернет-каналов (для обеспечения бесперебойной работы), вы можете назначить хостам несколько шлюзов и порядок их предпочтения. В случае выхода одного из каналов из строя, переключение на резервный канал произойдет автоматически, без вашего вмешательства. Это же дает возможность организовать простейшую балансировку нагрузки между каналами, назначив по DHCP одной группе хостов один маршрутизатор в качестве шлюза, а другой группе – второй.
  • Статические маршруты. Если в вашей сети есть несколько подсетей, соединенных маршрутизаторами, то при помощи DHCP можно автоматически оповещать хосты о наличии маршрутов в другие подсети. Причем это, по желанию, можно сделать только для избранных – например, используя привязку к MAC. Эта же опция полезна при организации Что это такое VPN-доступа к корпоративной сети – VPN-клиентам можно сообщить маршруты лишь к нужным им подсетям, оставив другие подсети недоступными для подключающихся по VPN пользователей.
  • Смещение времени. Если ваши пользователи часто бывают в различных временных поясах (например, мотаются из Питера во Владивосток и обратно), то можно заставить системные часы их ноутбука адаптироваться к вашему местному времени при помощи DHCP.
  • Сервер синхронизации времени. Поскольку часы компьютеров славятся своей неточностью, их желательно синхронизировать с какими-то эталонными часами. Для этого используется служба NTP. Информацию о сервере Настройки времени systemd-timesyncd и запуск сервера NTP можно раздавать хостам при помощи DHCP.
  • Что такое DNS-серверы. С помощью этой опции вы можете назначать вашим клиентам DNS-серверы как внутри сети, так и за ее пределами. Причем, в отличие ручной настройки интерфейса, вы можете передать хосту обширный список доступных DNS-серверов.
  • Настройки сервера загрузки – настройки протокола TFTP/BOOTP, необходимые для бездисковой загрузки хостов. Эта возможность востребована при наличии в сети бездисковых терминалов, загружающихся по сети, и при организации дистанционной автоматической установки ОС на компьютеры пользователей (об этом поговорим отдельно)
  • Списки доступных SMTP — простой протокол передачи почты и POP серверов.
  • Настройки WINS и Netbios
  • Размер MTU, время жизни кэша Работа с ARP протоколом: очистка таблицы, размер TTL — Time to live и др.

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

Когда клиент загружается, начальные параметры определяются в соответствующем клиенту объявлении host, затем проверяется секция group (если она существует) которая содержит в себе host, далее проверяется секция subnet соответствующая подсети в которой находится клиент, после этого проверяется указаны ли какие-нибудь параметры в секции shared-network(если есть), содержащей нашу подсеть, ну и наконец проверяются глобальные параметры, которые могут быть указаны перед всеми объявлениями.

Когда dhcpd ищет секцию host для соответствующего клиента, он следует следующим правилам: сперва ищется объявление host где указан параметр fixed-address и секция subnet или shared network совпадает с подсетью в которой находится клиент. Если нет соответствующих записей, dhcpd ищет объявление host без параметра fixed-address. Если подходящих записей не найдено, то dhcpd считает что нет записей для этого клиента, даже если они есть для этого клиента в другой подсети.

Описание опций программы

Запуск без параметров:

Подробное описание:

— показывает help-сообщение.

— просмотр списка имён и индексов сетевых интерфейсов. Актуально в ОС Windows — см. пример ниже.

— Режим теста. В этом режиме dhcdrop не выполняет подавление сервера. Производится лишь посылка DHCPDISCOVER, если на него приходит ответ нелегального сервера, то программа заверается возвращаяя код 200 и выводя на экран строку вида DHCP SRV: 10.7.7.1 (IP-hdr: 10.7.7.1) SRV ether: 00:02:44:75:77:E4, YIP: 10.7.7.205 содержащую минимум информации о создающем проблему DHCP сервере.

— подразумевается ответ «yes» на любой вопрос программы.

— отключает рандомизацию MAC адреса источника. Каждый последующий MAC адрес источника увеличивается на 1.

— указывает на необходимость использования флага BROADCAST в отправляемых DHCP пакетах.

— всегда ожидать ответа сервера на порт DHCP клиента по умолчанию (68), даже если задано значение номера порта клиента отличное от значения по умолчанию.

— всегда ожидать ответа с порта DHCP сервера по умолчанию (67), даже если задано значение номера порта сервера отличное от значения по умолчанию.

— режим флуда запросами DHCPDISCOVER

ПРИМЕНЯТЬ С ОСТОРОЖНОСТЬЮ. Удобен для стресс-тестирования сервера

В случае указания опции -r все отправляемые пакеты имеют одинаковый MAC адрес.

— отправляет сообщение DHCPRELEASE с MAC адресом источника указанном при запуске программы и IP адресом указанным при помощи опции -F к серверу указанному опцией -s.

— «тихий» режим работы. Выводится минимум информации.

— максимальное число попыток получения ответа от сервера.

— максимальное число адресов арендуемых у сервера.

— значение DHCP опции HostName (по умолчанию — «DHCP-dropper»)

— значение DHCP опции Vendor-Class (по умолчанию — «DHCP-dropper»)

— порт используемый клиентом для отправки DHCP сообщений. По умолчанию — 68.

— порт сервера, на который отправляются DHCP сообщения. По умолчанию — 67.

— задаёт таймаут рестарта процесса получения IP адресов в случае использования агрессивного режима. По умолчанию — 60 секунд.

— устанавливает таймаут ожидания ответа сервера (в секундах). По умолчанию — 3 секунды.

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

— Ethernet адрес сервера который необходимо игнориновать при выполненении поиска ложных DHCP серверов в сети. В этой опции следует указать адрес DHCP сервера ответственного за раздачу адресов в данном сегменте сети. Может быть указано несколько адресов — каждый должен предваряться ключом -l.

— указывает легальную IP подсеть для выбранного интерфейса. Использование этой опции автоматически включает агрессивный режим получения IP адресов. Может быть указано несколько сетей — каждая должна предваряться ключом -L. Подробное описание смотрите ниже.

— ARP сканирование сети ‘сеть’ с использованием сетевой маски ‘маска’ в CIDR нотации. IP адрес источника задаётся опцией -F. Если IP адрес источника не задан — используется случайный адрес из диапазона указанной подсети. Пример использования смотрите ниже.

— указывает IP адрес источника для сканирования сети (опция -S), либо IP адрес DHCP клиента для отправки сообщения DHCPRELEASE (опция -R).

— задаёт IP адрес DHCP сервера. Используется с опцией -R.

— число порождаемых процессов-потомков. Совместим только с флагом -f. Используется для увеличения числа отправляемых пакетов за единицу времени. При значении этого параметра равном 30, 10000 пакетов генерировалось менее чем за 1,5 секунды.

— имя либо индекс сетевого интерфейса (см. ключ -D). Не может быть «any»! Единственный обязательный параметр программы.initial MAC address — задаёт MAC адрес источника используемый при отправке первого DHCP сообщения, либо используемый постоянно, в случае использования опции (flood) вместе с опцией . Если не указан, то используется случайный MAC адрес источника.

Включаем DHCP

Перед началом создания сети между вашими компьютерами необходимо включить на роутере либо модеме службу DHCP-сервера. В том случае, если вы не умеете этого делать, то обратитесь к инструкции по эксплуатации вашего устройства. После активации службы, его нужно перезагрузить. Далее нужно проверить, запущена ли служба DHCP-клиент на всех компьютерах. Сделать это достаточно легко. В ОС Windows Vista и Windows 7 всего лишь нужно набрать команду services.msc в поиске, который появляется над кнопкой Пуск после её нажатия. Нажимаем Enter. В открывшемся окне можно включить или отключить DHCP. Тип запуска службы должен быть автоматический, в противном случае его нужно сделать именно таким. Что касается Windows XP, то вышеупомянутую команду требуется ввести в поле ввода, вызвать которое можно нажатием Ctrl + R. Найдя соответствующую строку, нажмите на неё правой кнопкой мыши и выберите «Свойства», после чего в поле «Тип запуска» установите «Автоматически». Нажмите«ОК» и перезагрузите ПК. Кстати, выполняя такие же действия в обратном порядке, службу можно отключить.

На следующем шаге нужно найти упомянутую службу на сетевом адаптере в настройках подключений. Для этого используйте команду Ncpa.cpl в указанных выше полях в зависимости от операционной системы. Если вы не привыкли пользоваться такими командами, то настройку подключений вы найдёте в Панели управления. Сделайте правый клик мышью и зайдите в «Свойства» того подключения, которое имеет отношение к вашей локальной сети. Чтобы не запутаться, заведомо неиспользуемые в создании общего подключения сетевые адаптеры можно отключить. Выберите «TCP/IPv4» — «Свойства». Значения IP-адреса и DNS-устанавите на автоматическое получение и нажмите ОК. После всего этого рекомендуется перезагрузить компьютер.

Современному человеку жизнь не мила без всемирной паутины, а неполадки с интернет подключением — наши злейшие враги, с которыми ведется непримиримая борьба. Эта статья вооружит вас знаниями, как справиться с ситуацией, если при установке соединения выдается ошибка «DHCP не включен на сетевом адаптере».

Реализации

Компания 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 компьютерам под управлением не серверных версий данной ОС.

Securing Virtual LAN

In local networks, Virtual Local Area Networks (VLANs) are sometimes configured as a security measure to limit the number of hosts susceptible to layer 2 attacks. VLANs create network boundaries, over which broadcast (ARP, DHCP) traffic cannot cross.

Virtual Local Area Network

A network employing switch/es supporting VLAN capabilities can be configured to define multiple VLANs over a single physical LAN infrastructure.

The common form of VLAN is a port-based VLAN. In this VLAN structure, the switch ports are grouped into VLAN using switch management software. Thus a single physical switch can act as multiple virtual switches.

Employment of VLANs provide traffic isolation. It divides the large broadcast layer 2 network into smaller logical layer 2 networks and thus reduces the scope of attacks such as ARP/DHCP Spoofing. Data frames of one VLAN can move from/to within ports belonging to the same VLAN only. The frames forwarding between two VLANs is done through routing.

VLANs generally span multiple switches as shown in the diagram above. The link between trunk ports carry frames of all VLANs defined over multiple physical switches. Hence, VLAN frames forwarded between switches can’t be simple IEEE 802.1 Ethernet format frames. Since, these frame move on same physical link, they now need to carry VLAN ID information. IEEE 802.1Q protocol adds/removes additional header fields to plain Ethernet frames forwarded between trunk ports.

When the field following the two IP addresses fields is 0x8100 (> 1500), the frame is identified as 802.1Q frame. Value of 2-byte Tag Protocol Identifier (TPI) is 81-00. TCI field consist of 3-bit priority information, 1-bit Drop eligible indicator (DEI), and 12-bit VLAN ID. This 3-bit priority field and DEI field are not relevant to VLANs. Priority bits are used for provision of Quality of Service.

When a frame does not belong to any VLAN, there is a default VLAN id which the frame is considered to be associated with.

Attack on VLAN & Prevention Measures

In a VLAN hopping attack, an attacker on one VLAN can gain access to the traffic on other VLANs that would normally not be accessible. It would bypass a layer 3 device (router) when communicating from one VLAN to another, thus defeating the purpose of VLAN creation.

VLAN hopping can be performed by two methods; switch spoofing and double tagging.

Switch Spoofing

It can occur when the switch port, to which the attacker is connected, is either in ‘trunking’ mode or ‘auto-negotiation’ mode. The attacker acts as a switch and adds 802.1Q encapsulation headers with VLAN tags for target remote VLANs to its outgoing frames. The receiving switch interprets those frames as sourced from another 802.1Q switch, and forwards the frames into the target VLAN.

The two preventive measures against switch spoofing attacks are to set edge ports to static access mode and to disable auto-negotiation on all ports.

Double Tagging

In this attack, an attacker connected on native VLAN port of switch prepends two VLAN tags in the frame header. The first tag is of native VLAN and second is for target VLAN. When the first switch receives the attacker’s frames, it removes the first tag since frames of native VLAN are forwarded without tag on trunk port.

  • Since the second tag was never removed by the first switch, the receiving switch identifies the remaining tag as the VLAN destination and forwards the frames to the target host in that VLAN. The double tagging attack exploits the concept of native VLAN. Since VLAN 1 is the default VLAN for access ports and the default native VLAN on trunks, it’s an easy target.

  • The first prevention measure is to remove all access ports from the default VLAN 1 since the attacker’s port must match that of the switch’s native VLAN. The second prevention measure is to assign the native VLAN on all switch trunks to some unused VLAN, say VLAN id 999. And lastly, all switches be configured to carry out explicit tagging of native VLAN frames on the trunk port.

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

Для
настройки автоматической раздачи адресов домашним устройствам
необходимо подсоединить роутер к компьютеру (ноутбуку) сетевым кабелем. В
любом браузере прописываем адрес роутера (обычно это 192.168.0.1). В
предложенные поля запроса логина и пароля по умолчанию вводим «admin»
(часто эти данные указаны в руководстве по эксплуатации роутера). В
результате увидим меню настроек роутера. Заходим в разделы Lan или
Network (названия могу отличаться) и находим подменю с настройками DHCP.
Как включить на роутере раздачу адресов? Просто поставив галочку
напротив строчки enable DHCP и перезагрузим роутер.

IP адресация

Для работы по сети любому устройству требуется IP-адрес. В протоколе IPv4 это числовой идентификатор, состоящий из 4 разрядов, каждый из которых отделяется точкой, без него устройство не может быть определено в сетевой инфраструктуре. Зачастую маршрутизатор имеет IP-адрес 192.168.1.1, а подключённое к нему устройство, например, 192.168.1.2.

Клиенту должна быть присвоена определённая маска подсети, например, 255.255.255.0. Она позволяет определить к какой сети относится данный клиент.

Для связи между интернетом и сетью в любой сети должен быть определён IP-адрес основного шлюза. В роли шлюза выступает маршрутизатор, который предоставляет доступ в сеть всем устройствам в своей сети.

Ну и конечно же PoC.

Apple vs. DHCP

Как оказалось MacOS и iOS переплюнули всех в плане получения сетевых настроек по протоколу DHCP, когда эти операционные системы отправляют DHCPREQUEST DHCP-сервер отвечает им DHCPACK и они выставляют сетевые настройки из ответа сервера, вроде пока все как у всех:

Но проблема в том что DHCPREQUEST широковещательный и злоумышленник без особых проблем может его перехватить и ответить DHCPACK, но конечно позднее легитимного DHCP-сервера, то есть ответ злоумышленника приходит вторым. Все остальные DHCP-клиенты на других ОС просто проигнорируют второй DHCPACK, но не MacOS и iOS.

Как вы думаете какие настройки выставляют данные операционные системы? Ответ: те настройки которые будут содержаться в DHCPACK злоумышленника (во втором DHCPACK во втором DHCPACK Карл) !

Ну и конечно же видео:

Как Вы думаете баг это или фича? Я подумал баг и на всякий случай завел заявку на Apple Bug Reporter скоро этой заявке исполнится месяц, но ни одного комментария от специалистов Apple я так и не получил.

И еще, на всякий случай, отправил письмо, но на него тоже не ответили.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector