Имею два сервера в одной подсети. Нужно, чтобы при падении/отключении одного из них, второй забирал у него виртуальный IP и поднимал его на своем интерфейсе. После отключения одного сервера и поднятия IP на другом, он становится доступным по этому IP не сразу, а с какой-то неопределенной задержкой, причем довольно длительной.
Ответ провайдера был таким:
Такое происходит из-за перестройки коммутирующего оборудования, так как перестройка коммутирующего оборудования не мгновенна, это нормально. Чтобы изменить это, должен либо истечь таймаут, либо должны прийти исходящие пакеты от сервера с нового порта, по другому никак.
На глупый вопрос «как отправить такой пакет?» меня отправили в Википедию читать про коммутаторы… статью я честно прочитал, но ответ не появился — в сетях я некомпетентен.
Подскажите, пожалуйста, что конкретно надо сделать, чтобы форсировать «перестройку коммутирующего оборудования», и чтобы IP из интернета стал доступным быстрее.
Имею два сервера в одной подсети. Нужно, чтобы при падении/отключении одного из них, второй забирал у него виртуальный IP и поднимал его на своем интерфейсе.
Если сервера в одной подсети и нормально видят друг друга, и, самое главное, требуется только переносить кластерный (виртуальный) IP — советую поставить vrrpd. Настройка простейшая и как раз для ваших нужд.
В данном конкретном случае, надо просто с сервера сделать ping в пару пакетов на любой адрес в сети, чтобы коммутатор увидел, что пакеты с таким адресом начали идти с другого порта и обновил таблицу.
Если IP не основной, то то делать надо примерно так:
ping -c 2 -I <перенесенный IP> example.com
если у вас есть доступ к оборудованию можно, на сервере можно менять mac адрес, правда это чревато, надо отключить интерфейс полностью на другом сервере
Валентин
@vvpoloskin Куратор тега Компьютерные сети
Инженер связи
Если поставишь роутер на своей границе с провайдером, а сервера уведешь в DMZ-зону, можно за NAT, порт если что пробросишь, то сможешь влиять и на ARP-таблицу, да и вообще можно резервирование настроить нормальное.