DDNS и подобные решения мне не нравятся тем, что нужен клиент, который будет выполнять обновление записей. Ну и множество прочих недостатков.
Есть более интересное решение на основе ДНС. Разворачиваем внутри организации два NS-сервера для нашей зоны, каждый NS доступен только через свой канал и не доступен через другой. NS имеют разные А-записи для одной зоны, которые для одних и тех же хостов выдают разные ip-адреса в зависимости от канала, на котором висит конкретный NS. TTL для зоны 5 минут. При вырубке одного из каналов через 5 минут происходит очистка кэша и зона скачивается с выжившего NS, который сообщает актуальные IP на работающем канале.
Теперь вопрос — какое минимальное значение у TTL для зоны? Выставить можно любое, но провайдеры скорее всего будут игнорировать слишком низкое значение. Могут быть какие-то ещё проблемы у данной схемы?