Использование двух провайдеров
Основная идея
Для того, чтобы эффективнее использовать преимущества двух провайдеров, к
которым подключено СДД, попробуем реализовать следующую идею.
Весь трафик на 8.8.8.8 будем отправлять через главного провайдера, а на 8.8.4.4 через запасного
Каждую минуту будем анализировать
состояние результата пингов до 8.8.8.8 и 8.8.4.4. Если нет пинга до
8.8.8.8, - лёг основной провайдер, нет пинга до 8.8.4.4, - лёг запасной
провайдер.
Если лёг основной провайдер, переходим на запасного, основной поднялся - возвращаемся на него.
Кроме того, некоторым пользователям явно укажем через какого провайдера выходить в интернет.
Прописываем маршруты
cat /etc/rc.d/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
# Опишем путь поиска команд
PATH='/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin'
# Пакеты к 8.8.8.8 отправляем через основного провайдера
GW1=62.16.92.233
# Пакеты к 8.8.4.4 отправляем через запасного провайдера
GW2=84.16.138.241
# Таблицы google1 и google2 были заранее внесены в файл /etc/iproute2/rt_tables
ip rule add to 8.8.8.8 table google1
ip rule add to 8.8.4.4 table google2
ip route add default via $GW1 dev eth5 table google1
ip route add default via $GW2 dev eth2 table google2
# Трафик от mihanik пустим через Стартел
# Таблица mihanik была заранее внесена в файл /etc/iproute2/rt_tables
ip rule add from 192.168.0.152 table mihanik
ip route add default via $GW2 dev eth2 table mihanik
# Очищаем кеш, изменения вступают в силу
ip route flush cache
|