Дублированный IP-адрес - какой из них выигрывает?


14

Если есть дублированный IP-адрес, какой из них "выигрывает"? Во-первых, наконец, закрылки, нет?


См. RFC 4862, раздел «Обнаружение повторяющихся адресов».
BatchyX

RFC5227 также может быть полезным ресурсом
ytti

Вам помог какой-нибудь ответ? Если это так, вы должны принять ответ, чтобы вопрос не появлялся вечно, ища ответ. Кроме того, вы можете предоставить и принять свой собственный ответ.
Рон Мопин

Ответы:


17

IPv4:

Это будет "хлопать". На отправляющем хосте (другом хосте или шлюзе / маршрутизаторе) будет запись ARP для IP-адреса, указывающего на MAC-адрес одного из хостов. Пакеты будут отправляться на один из хостов, где бы ни указывался вход ARP. Это эффективно нарушит связь для обоих хостов.

IPv6:

Протокол обнаружения соседей будет выполнять обнаружение повторяющихся адресов (DAD) перед настройкой / активацией нового адреса. Когда он обнаруживает, что новый предварительный адрес уже используется, он не будет активировать адрес, поэтому «первый» хост будет продолжать иметь подключение.


1
Примечание: (как и во всем IPv6) все еще есть дыра. DAD не будет работать, если два хоста не могут видеть друг друга при назначении адреса. Таким образом, вы все равно можете оказаться в той же дыре.
Рикки Бим

1
Да, когда хосты не видят друг друга, DAD не будет работать, но это не проблема IPv6 как таковая. Если у вас нет подключения, ни один протокол не может предотвратить это.
Себастьян Визингер

3
IPv4 может также выполнять DAD, DHCP-клиенты часто делают это. Но в среднем я бы согласился, что хост v6 с большей вероятностью это сделает. Режим сбоя практически одинаков в обоих случаях.
ytti

8

Если есть дублированный IP-адрес, какой из них "выигрывает"? Во-первых, наконец, закрылки, нет?

Я думал об этом вопросе в течение последних шести часов ... Я думаю, что самый подходящий ответ - "Никто не побеждает" .

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

Основное решение для предотвращения конфликтов IP

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

Упреждающее планирование может использовать:

  • DHCP для ПК
  • Статическое DHCP-резервирование для серверов
  • DHCP, отслеживающий на портах коммутатора
  • IP Source Guard на портах переключения
  • Динамическая проверка ARP на портах коммутации

В Cisco IOS конфигурация IP Source Guard и DHCP snooping будет выглядеть примерно так:

!! NOTE: Source guard requires DHCP Snooping global config
!! NOTE: Source guard requires DHCP Snooping on vlan
!! NOTE: Source guard *static* bindings REQUIRE DHCP snooping on the switch
!!     (even if you aren't using DHCP anywhere else)
ip dhcp snooping
ip dhcp snooping vlan 100,200
!
! static Source Guard binding for a non-DHCP device
ip source binding 0011.2233.4455 vlan 100 10.71.2.85 interface GigabitEthernet 5/48
!
interface GigabitEthernet 4/1
 description For DHCP_SERVER port
 switchport access vlan 200
 ! Trust DHCP server ports
 ip dhcp snooping trust
!
interface GigabitEthernet 5/20
 description For DHCP_PC port
 switchport access vlan 200
 no ip dhcp snooping trust
 ip verify source
!

Такое решение предотвратит конфликты IP до их запуска. Если у вас уже есть проблема, я бы начал строить план для ее решения. Это только одно из возможных решений.


5

Для IPv4 IP-пакеты, отправленные на дублирующий адрес, будут отправлены на MAC-адрес, который в данный момент находится в кэше ARP. Перехват происходит только в том случае, если оба хоста отправляют ARP-ответы отправителю, закрывая запись ARP. Если ответы ARP не получены, соединение будет нормальным с одним из владельцев дублированного IP.

Таким образом, последний хост, который ответит (или уже ответил) на запрос ARP, «победит». Этот конкурс будет проводиться для каждого нового хоста, который хочет общаться с дублированным IP.

Вы можете подстроить конкуренцию, регулярно отправляя бесплатные ARP.


4

Если нет записи ARP (другой хост хочет поговорить с дуплом), то тот, кто ответит первым, побеждает; и хосты (и многие маршрутизаторы) кэшируют записи ARP иногда в течение нескольких часов.


1
Разве последний ответ не победил? ARP можно кэшировать в течение длительного времени, но я думаю, что запись будет перезаписана при получении нового ответа ARP. Второй ответ перезапишет первый. Первый пакет (ы) может оказаться на хосте, который ответил первым, но после получения второго ответа вы переключитесь на отправку пакетов на этот хост.
Гербен

1

Обычно такие инциденты предотвращаются до того, как они вызовут конфликт.
Бесплатная ARP помогает хосту определить, использует ли другой хост определенный IP-адрес. Отправляющий хост не ожидает ответа, подразумевая, что данный адрес не используется другим хостом. Если получен ответ, отображается сообщение об ошибке «Duplicate IP address ...». Это предупреждающий сигнал для неправильной конфигурации. Это не дает никакой схемы реагирования для решения проблемы.

DHCP-серверы обычно выполняют обнаружение конфликтов адресов (ACD) [RFC5227], чтобы избежать таких конфликтов. Он состоит из ARP-зондов и пакетов объявлений ARP. Зонд ARP - это особый тип пакета ARP, в котором поле «Адрес протокола отправителя» установлено на 0. Это делается для того, чтобы избежать загрязнения кэша. С другой стороныОбъявление ARP аналогично проверке ARP, но заполнены поля «Адрес протокола отправителя» и «Адрес целевого протокола». Он используется для объявления о намерении отправителя использовать соответствующий IP-адрес.
Когда устанавливается новая интерфейсная связь, три пакета зонда ARP отправляются до ожидания случайного времени (диапазон 0-1). Во время отправки этих зондов узел может получать запросы ARP ИЛИ ответы . Ответ указывает на присутствие другого узла , используя данный IP - адрес. Запрос , содержащий один и тот же IP - адрес в его адресе целевого протокола поля подразумевает , что другой узел пытается получить тот же IP - адрес. В обоих случаях отображается сообщение об ошибке и используется альтернативный IP-адрес.Это рекомендуемое поведение, когда адреса назначаются DHCP . Если отправляющий узел не обнаружил никакого конфликта, он может запросить IP-адрес, который заполнил адрес протокола отправителя.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.