На сервере 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-ой). И скорее всего обрыв соединения в терминале всё-таки грозит.Вот такие вот две задачки. Буду очень благодарен если поможете мне их решить (или хотя бы дадите ссылку на умную статью).
>На сервере 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-ой). И скорее всего обрыв
>соединения в терминале всё-таки грозит.
>
>Вот такие вот две задачки. Буду очень благодарен если поможете мне их
>решить (или хотя бы дадите ссылку на умную статью).может быть не правильно но
нельзя ли поднять у тебя DHCP и сделать два шлюза ?
если один не будет доступен то юзера будут ходить через другой ?
1. Поскольку 1 шлюзом является эта машина, то шлюз всегда будет доступен (а DHCP поднят совсем на другом сервере).
2. Поскольку DHCP обновляется не очень часто, то возможен (и скорей всего будет) разрыв соединений.
3. DHCP не решает 2 задачу, а она для меня наиболее важна.Так, что пока сижу и думаю.
>1. Поскольку 1 шлюзом является эта машина, то шлюз всегда будет доступен
>(а DHCP поднят совсем на другом сервере).
>2. Поскольку DHCP обновляется не очень часто, то возможен (и скорей всего
>будет) разрыв соединений.
>3. DHCP не решает 2 задачу, а она для меня наиболее важна.
>
>
>Так, что пока сижу и думаю.не я возможно не прав , сам так никогда не делал - но
на внутренний интерфейс можно ведь несклько айпи дать
в дхцп сервере несколько разных адресов роутеров..
если упал один канал быстро опускаеш интерфейс а пользователи - поскольку уже получили ранее по дхцп адреса нескольких роутеров будут ломится на другой ?
В теории да. На практике:
1. Канал не выпадает полностью а даёт задержки порядка 1700-2000 мс (шлюз при этом работает).
2. Шлюз нашего провайдера не выпадает никогда, а проблема у вышестоящего провайдера.
3. У Windows-а есть кэш и он просто первое время может игнорировать новый шлюз (так же как он игнорирует и подмену записей в DNS).