На сервере FreeBSD 3 сетевых карты:
1. смотрит во внутреннюю сеть 192.168.x.x
2. смотрит на провайдера X.X.X.X
3. смотрит на другого провайдера Y.Y.Y.Y
Сеть X.X.X.X – неограниченный трафик, широкий канал (Ethernet), но часто выпадает.
Сеть Y.Y.Y.Y – ограниченный трафик, узкий канал (тоже через Ethernet).
Необходимо реализовать следующие задачи:
1. Чтобы при выпадении соединения или задержках свыше 1500 мс, осуществлялся автоматический перевод с карты X.X.X.X на карту Y.Y.Y.Y. А при нормализации работы на соединении X.X.X.X (скажем 10 мин нормальной работы), всё возвращалось обратно на него (при этом соединение Y.Y.Y.Y должно закрываться полностью).
Понимаю, что это, как вариант, можно реализовать скриптом переключающим gateway и правила ipfw. Но как сделать это незаметным для пользователей (без разрыва соединений на машинах пользователей)?
2. Эта задачка кажется мне немного сложнее, так как её невозможно полностью реализовать на данном сервере. А именно есть 2 офиса сидящих у нас через службу терминалов. Так вот задача состоит в том, чтобы при переключении с карты X.X.X.X на карту Y.Y.Y.Y и обратно они тоже оставались подключенными.
Понимаю, что можно создать им 2 подключения с разными адресами, но это не выход, так как они должны работать постоянно (А при переключении в данном случае они будут просто вылетать).
Второй возможный вариант решения проблемы – рекурсивный DNS у провайдера и 2 Host(A) записи на мой сервер. Но здесь, мне кажется, возникнет загвоздка в DNS КЭШе Windows (он будет тупо отправлять запросы на 1 адрес, когда DNS уже будет возвращать 2-ой). И скорее всего обрыв соединения в терминале всё-таки грозит.
Вот такие вот две задачки. Буду очень благодарен если поможете мне их решить (или хотя бы дадите ссылку на умную статью).