Конфлікт IP адреси в мережі: виявлення і дозвіл
На форумах періодично піднімається питання по роботі мереж, що містять однакові IP адреси в одному фізичному сегменті. Виходить так званий конфлікт IP адреси в мережі. Після прочитання багатьох таких форумів стає зрозуміло, що не все правильно розуміють такий процес, тому багато хто починає видавати за факти різноманітні вигадки і припущення, які далекі від істини. Не так давно на одному прекрасному ресурсі системних адміністраторів бурхливо обговорювалося дане питання. У зв'язку з цим виникла необхідність якось прояснити назрілу ситуацію. Формат форумів - це обмін ланцюжками, що складаються з питань і відповідей на них, а в статті можна розповісти про все послідовно.
Конфлікт IP адреси в мережі і мережеві протоколи
Єдиною річчю, яка відповідає за контроль дублювання мережевих адрес, є протокол перетворення адрес ARP. Можна представити у певній формі все це взаємодія. При отриманні нового адреси IP вузол А відправляє спеціальний броакдаст добровільний запит у форматі ARP. Важливо розуміти, що на весь цей процес не робить ніякого впливу IP адреса DNS сервера. Запит є спеціальною формою передачі інформації, в якій поля SPA і TRA містять власні адреси. Якщо на цей запит була отримана відповідь, то це і є конфлікт IP адреси в мережі. Якщо відповіді немає, значить, і дублерів адреси теж немає, і він є в мережі унікальним. Набагато цікавіша ситуація, коли приходить відповідь, що ж у такому разі відбувається в мережі?
Вузол, що відправляє запит в мережу, набуває статусу так званого атакуючого вузла, а той, який дав відповідь на запит, отримує статус атакується вузла. Що ж відбувається з кожним з них в процесі виявлення даного конфлікту?
Розглянемо атакуючий вузол. Якщо у нього не був встановлений динамічний IP адресу, а настройка проводиться вручну, то після отримання відповіді скидається ініціалізація адреси, тобто вузол не може присвоїти конфліктує адреса інтерфейсу. Запис про це буде внесена в системний журнал, а на екрані висвітиться помилка. Якщо настройка адреси проводиться через DHCP, то клієнтом будуть перевіряється на конфлікт ту адресу, який був отриманий ним від DHCP-сервера в спеціальному пакеті DHCPOFFER. У тому випадку, якщо виявиться, що адреса з DHCPOFFER дублюючий, то після отримання клієнтом відповіді на запит буде відправлений спеціальний пакет DHCPDECLINE DHCP-серверу. Залежно від реалізації сервісу дану адресу буде позначений як несправний, після чого він повинен бути вилучений зі списку вільних адрес. Після цього клієнтом робитимуться нові спроби отримати ip адресу від сервера, відправляючи пакети DHCPDISCOVER.
Тепер можна розглянути конфлікт IP адреси в мережі з боку атакується вузла. Їм конфлікт визначається дуже просто, якщо поле SPA, то вузлом констатується конфлікт. Даний факт теж реєструється у спеціальному журналі подій, а користувач отримує повідомлення про помилку. При цьому з атакується вузла не знімається ip адресу, що став причиною конфлікту. Після констатації конфлікту до роботи приступає механізм вирішення конфлікту, що склався. Суть проблеми в даному випадку полягає в наступному: після відправлення одного добровільного запиту відбувається відправка запитів усіма клієнтами сегменту за певною схемою. Підсумком є отримання картини з послідовного обміну трійкою кадрів.
Важливо розуміти, що обмін даними запитами і відповідями проводиться тільки при ініціалізації адреси. Якщо, наприклад, вузол був налаштований на конфліктний адресу до свого підключення до мережі, то після його включення не відбуватиметься обмін даними добровільними запитами. У зв'язку з цим, обома вузлами мережі буде використовуватися даний конфліктний адресу, але при кожному новому ARP запиті обома вузлами буде генеруватися помилка про конфліктні адресах.