На форумах периодически поднимается вопрос о работе сетей, содержащих одни и те же IP-адреса в одном и том же физическом сегменте. Получается так называемый конфликт IP-адресов в сети. Прочитав многие из этих форумов, становится ясно, что не все правильно понимают этот процесс, поэтому многие люди начинают выдавать за факты различные выдумки и догадки, далекие от истины.
Не так давно на одном отличном ресурсе системных администраторов этот вопрос бурно обсуждался. В связи с этим возникла необходимость как-то прояснить возникшую ситуацию. Формат форумов-это обмен цепочками, состоящими из вопросов и ответов на них, и в статье вы можете говорить обо всем последовательно.
Конфликтующие IP-адреса в сети и сетевые протоколы
Единственное, что отвечает за управление дублированием сетевых адресов, - это протокол преобразования ARP-адресов. Все это взаимодействие можно представить в определенной форме. Когда получен новый IP-адрес, узел A отправляет специальную рассылку на добровольный запрос в формате ARP. Важно понимать, что весь процесс не зависит от IP-адреса DNS-сервера. Запрос представляет собой специальную форму передачи информации, в которой поля SPA и TRA содержат свои собственные адреса. Если на этот запрос был дан ответ, то это конфликт IP-адреса в сети. Если ответа нет, значит, дубликата адреса нет, и он уникален в сети. Ситуация гораздо интереснее, когда приходит ответ, что происходит в сети в этом случае?
Узел, отправляющий запрос в сеть, приобретает статус так называемого атакующего узла, а тот, который ответил на запрос, получает статус атакуемого узла. Что происходит с каждым из них в процессе обнаружения этого конфликта?
Рассмотрим атакующий узел. Если у него не было динамического IP-адреса, и настройка выполняется вручную, то после получения ответа инициализация адреса сбрасывается, то есть узел не может назначить интерфейсу конфликтующий адрес. Запись об этом будет внесена в системный журнал, и на экране появится сообщение об ошибке. Если адрес настроен через DHCP, клиент проверит на наличие конфликта адрес, полученный им от DHCP-сервера в специальном пакете DHCPOFFER. В случае, если окажется, что адрес от DHCPOFFER дублируется, после того, как клиент получит ответ на запрос, на DHCP-сервер будет отправлен специальный пакет DHCPDECLINE. В зависимости от реализации услуги этот адрес будет помечен как неисправный, после чего его необходимо удалить из списка свободных адресов. После этого клиент предпримет новые попытки получить ip-адрес с сервера, отправив пакеты DHCPDISCOVER.
Теперь вы можете рассмотреть конфликт IP-адресов в сети с атакуемого узла. Их конфликт очень прост, если поле является SPA, то конфликт устанавливается узлом. Этот факт также регистрируется в специальном журнале событий, и пользователь получает уведомление об ошибке. В то же время ip-адрес, вызвавший конфликт, не удаляется с атакуемого узла. После того, как конфликт установлен, начинает работать механизм разрешения возникшего конфликта. Суть проблемы в данном случае заключается в следующем: после отправки одного добровольного запроса все клиенты сегмента отправляются по определенной схеме. Результатом является получение изображения в результате последовательного обмена тремя кадрами.
Важно понимать, что обмен данными по запросам и ответам производится только при инициализации адреса. Если, например, узел был настроен на конфликтующий адрес до подключения к сети, то после его включения не будет обмена данными по добровольным запросам. В связи с этим оба узла сети будут использовать этот конфликтующий адрес, но при каждом новом запросе ARP оба узла будут генерировать ошибку о конфликтующих адресах.