Если я вас правильно понял, с сервера необходимо иметь доступ к ресурсу, доступному через два глобально маршрутизируемого IP-адреса. Предлагаемое решение представлено на схеме:
Суть в следующем - нужен еще один сервер/vps с глобально маршрутизируемым ("белым") IP-адресом. На схеме адрес указан как C.C.C.C. На этом сервере необходимо установить балансировщик нагрузки, который будет отслеживать доступность целевого компьютера через разные адреса (A.A.A.A, B.B.B.B) и соответственно проксировать соединения/датаграммы (если используется протокол TCP/UDP). Подобную схему я реализовывал при помощи "железного" балансировщика нагрузки (F5 LTM), но, насколько мне известно, в вашем случае поможет бесплатный
haproxy. Кроме этого, на ближайших к целевому компьютеру маршрутизаторах необходимо соответственно настроить port-forwarding ("проброс портов").
Другим решением может быть
скрипт на сервере, отслеживающий доступность адресов A.A.A.A/B.B.B.B и соответственно меняющий статические DNS-записи на сервере же. Программе целевой хост необходимо будет указать заданием имени (hostname). Тогда в различных ситуациях (в смысле работоспособности каналов) это имя будет по-разному транслироваться в IPv4-адрес.