Прохожий Posted April 6, 2006 Posted April 6, 2006 Народ! Кто у нас тут очень хорошо ARP знает, подскажите! Ситуация: по ходу работы у одного и того же IP меняется MAC (происходит подхват IP-адреса резервным сервером), при этом возникает проблема - на всех других устройствах в сегменте в ARP таблицах остается старый МАС, и нифига никакого подхвата не происходит - ибо все долбятся по МАС на мертвый сервер. Надо как-то обновить все ARP таблицы в сегменте... Есть возможность в этот момент пустить скрипт на линухе. Подскажите, как правильно сделать? Заранее боагодарен! Вставить ник Quote
Mancubus Posted April 6, 2006 Posted April 6, 2006 1.Есть такая утилитка называеться arprelease она обнуляет таблицу маршрутизатора. Вроде работает только для cisco, но думаю, есть варинаты 2.Уменьшить ARP_AGE 3.Очищять запись для IP, по snmp на всех устройствах. PS: подскажите на каких устройствах необходимо выполнять "обнуление"? Вставить ник Quote
puh Posted April 6, 2006 Posted April 6, 2006 а может, при подхвате ip менять и мак? как это обычно и делают... виртуальный ip + виртуальный мак, которые занимает активный сервер Вставить ник Quote
Barsick Posted April 6, 2006 Posted April 6, 2006 Нет, наоборот - МАС менять не надо, пусть у обоих серверов он одинаковый будет Вставить ник Quote
Mancubus Posted April 6, 2006 Posted April 6, 2006 А данные дублироваться не будут? Вставить ник Quote
ayamb Posted April 6, 2006 Posted April 6, 2006 Для этих целей используют Server Load Balancing. Эта технология распределит нагрузку, при форс-мажоре скроет отказы, в т.ч. и искусственные. Обновить насильно MAC у всех прямых destination можно послав кому-либо ARP-запрос, в котором уже содержится MAC-IP отправителя. 000000-000000(83.25.29.54)<00152c-95f819(83.25.29.1) Ситуация упрощается следующим ARP-ответом без запроса, если приемник дружелюбно относится к BroadCast'у. 0000cd-014180(83.25.29.54)>ffffff-ffffff(255.255.255.255) По-умолчанию, все хосты подсетки, кроме одного, получившие такой запрос, или все хосты, получившие такой ответ, отзываться не будут, но у себя таблицу поправят. Если правила, запрещают это делать без "персонального" обращения, то нужно просто "обзвонить" всех "соседей" ARP-запросами новому обладателю "популярного" ip. :) Вставить ник Quote
Mancubus Posted April 6, 2006 Posted April 6, 2006 А какова физика процесса? Достаточно послать такой ARP запрос, чтобы всюду обнулился кэш? Вставить ник Quote
repa Posted April 7, 2006 Posted April 7, 2006 Нет, наоборот - МАС менять не надо, пусть у обоих серверов он одинаковый будет Тогда, надо чтобы на резервном сервере сетевая с дублирующим маком ничего не отправляла. Иначе таблица коммутации на коммутаторах будет портится. Вставить ник Quote
Nailer Posted April 7, 2006 Posted April 7, 2006 Народ! Кто у нас тут очень хорошо ARP знает, подскажите! Ситуация: по ходу работы у одного и того же IP меняется MAC (происходит подхват IP-адреса резервным сервером), при этом возникает проблема - на всех других устройствах в сегменте в ARP таблицах остается старый МАС, и нифига никакого подхвата не происходит - ибо все долбятся по МАС на мертвый сервер. Надо как-то обновить все ARP таблицы в сегменте... Есть возможность в этот момент пустить скрипт на линухе. Подскажите, как правильно сделать? Заранее боагодарен! Правильное решение будет не со стороны сети, а со стороны сервера. Самым правильным будет ввести третий (вирутальный mac), который будет брать вместе с IP работающий сервер. Можно попробовать сделать это через скрипт.. Вставить ник Quote
repa Posted April 7, 2006 Posted April 7, 2006 Правильное решение будет не со стороны сети, а со стороны сервера. Самым правильным будет ввести третий (вирутальный mac), который будет брать вместе с IP работающий сервер. Можно попробовать сделать это через скрипт.. Потдерживаю. Вставить ник Quote
ayamb Posted April 7, 2006 Posted April 7, 2006 Там было три варианта. :) Ты рассмотрел только первый (самый простой). Так поступает совершенно точно FreeBSD, Linux, Cisco. Ко второму варианту не относится. На искусственно сгенерированный пакет "нетрадиционной ориентации" ARP-ответа без запроса с BroadCast назначением (в стандартном ARP-res пакете, ip-dest того, кто спрашивал) они ответят, если они "спокойно" относятся к этому варианту ARP-флуда. Третий вариант достаточно простой, но результат при его применении тоже не так однозначен. А вот винда поступат так как вы говорите. Это легко увидеть если в одной физической сети (VLAN-е) имеются несколько IP подсетей. Нужно дать команду arp -a и будет видно, что в арп-таблице находятся адреса и из подсети в которой нет интерфейса. Это происходит немного по другому поводу. Если на Cisco разрешить GRAtuitousARP с интерфейса и немного подшаманить с настройками, - результат будет такой же. :) P.S. Повторюсь, что самым правильным решением, (IMHO) является использование сервиса Server Load Balancing. Вставить ник Quote
repa Posted April 7, 2006 Posted April 7, 2006 Там было три варианта. :) Ты рассмотрел только первый (самый простой). Там были варианты 1. Server Load Balancing Его я не кометировал потому, что надо сперва смотреть как он реализуется. Я предполагаю, что это не стандарт, а чья то реализация? Чья? 2. Стандартный ARP запрос конкретному хосту. Его я как раз и прокоментировал. 3. Нестандартный бродкаст ARP-ответ. Уверен, что для определеныго вида оборудования это сработает. Но способ не универсальный и с каждым оборудованием надо проверять отдельно. Ко второму варианту не относится. На искусственно сгенерированный пакет "нетрадиционной ориентации" ARP-ответа без запроса с BroadCast назначением (в стандартном ARP-res пакете, ip-dest того, кто спрашивал) они ответят, если они "спокойно" относятся к этому варианту ARP-флуда. Третий вариант достаточно простой, но результат при его применении тоже не так однозначен. ayamb, ARP-ответ не предполагает отправки каких-либо последующих пакетов/собщений. Чем они будут отвечать? Это происходит немного по другому поводу. Если на Cisco разрешить GRAtuitousARP с интерфейса и немного подшаманить с настройками, - результат будет такой же. :)P.S. Повторюсь, что самым правильным решением, (IMHO) является использование сервиса Server Load Balancing. Попытался найти описание понимания GRAtuitousARP на сайте кошки, но поиск не дал результата. Нет ли тут ошибки? Вставить ник Quote
ayamb Posted April 7, 2006 Posted April 7, 2006 1. LB (ATi) Это не стандарт, это реализация равномерного распределения нагрузок по множественным магистралям (и их горячее резервирование), и как его подмножество, - распаралеливание нагрузки по хостам, выполняющим идентичные задачи (и их горячее резервирование). 3. Ошибся. Вместо <ответят> читать <среагируют>. По Cisco cмотри комманды: ip arp gratuitous (none) (no) ip gratuitous-arps Вставить ник Quote
repa Posted April 7, 2006 Posted April 7, 2006 По Cisco cмотри комманды:ip arp gratuitous (none) (no) ip gratuitous-arps Читая это и учитывая пояснения термина Gratuitous ARP здесь, у меня закрадываются сомнения, что это поможет кошке обновить свою арп-таблицу когда она получит Gratuitous ARP пакет от резервоного сервера. Как вы посоветуете, стоит это проверить на реальном железе? Вставить ник Quote
Mancubus Posted April 7, 2006 Posted April 7, 2006 Как я уже писал, попробуйте arprelease который в портах FreeBSD. Я бы проверил, только кошек нет =) Вот дискрипшн пакета: This program sends out a custom ARP REQUEST packet with the hardware and protocol address information of the sending host to flush the arp cache for a given IP on Cisco routers. Вставить ник Quote
repa Posted April 7, 2006 Posted April 7, 2006 Как вы посоветуете, стоит это проверить на реальном железе? Сам же отвечаю на свой же вопрос. Нашел на сайте кошки следующее When a router becomes active the virtual IP address is moved to a different MAC address. The newly active router sends a gratuitous Address Resolution Protocol (ARP) response, but not all host implementations handle the gratuitous ARP correctly. Можно быть увереным, что кошка коректно отрабатывает gratuitous ARP пакет. Вставить ник Quote
ayamb Posted April 7, 2006 Posted April 7, 2006 это поможет кошке обновить свою арп-таблицу Аналогично. Так же есть огромные "сомнения". И проверять, думаю, не стоит. :)...в арп-таблице находятся адреса и из подсети в которой нет интерфейса... Эта фраза спровоцировала вопрос Gratuitous ARP. :) Вставить ник Quote
repa Posted April 7, 2006 Posted April 7, 2006 ayamb, непарься. Конкретно для кошки Gratuitous ARP поможет. Все таки он плотно завязан на работу HSRP. Трактовку windows arp-ответов и Gratuitous ARP-ответов, как нибудь между делом, я посмотрю внимательней. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.