Для настройки переключения интернет каналов между двумя провайдерами будем использовать маршруты (Routes) и встроенную утилиту Netwatch.
У нас будет два маршрута, через которые может идти интернет трафик. Весь трафик будет идти по умолчанию через 1-го провайдера.
Если вдруг пропадет связь с 1-ым провайдером, то мы активируем 2-ой маршрут, и весь трафик пойдет через 2-го провайдера.
Как только восстановится связь через 1-го провайдера, мы деактивируем 2-ой маршрут, и весь трафик пойдет через 1-го провайдера.
Утилита Netwatch поможет пинговать ip-адрес в интернете и выполнять скрипты, если ip-адрес перестал пинговаться или снова начал. Она будет выполнять активацию и деактивацию маршрута.
Сначала удалим маршрут через первого провайдера, который создался автоматически, поскольку мы не можем редактировать его свойства.
- Откройте меню IP - Routes;
- Кликните левой кнопкой мыши по маршруту первого провайдера со шлюзом 10.10.10.1 unrechable;
- Нажмите кнопку удалить (красный минус).
Теперь изменим параметры маршрута второго провайдера:
- Сделайте двойной щелчок левой кнопкой мыши по маршруту второго провайдера;
- В поле Gateway должен быть указан шлюз второго провайдера 20.20.20.1;
- В поле Distance ставим приоритет 2;
- Нажмите кнопку Comment;
- В поле напишите комментарий ISP2. Комментарий необходим для того, чтобы наши скрипты могли идентифицировать маршрут и активировать или деактивировать его.
- Нажмите кнопку OK и в следующем окне еще раз OK.
- Выберите маршрут второго провайдера, кликнув по нему левой кнопкой мыши, и деактивируйте, нажав кнопку с красным крестиком. После этого маршрут станет серого цвета.
Дальше нужно добавить маршрут первого провайдера заново, но прежде определим, какой IP-адрес шлюза выдает первый провайдер.
- Откройте меню IP - DHCP Client;
- Сделайте двойной щелчок левой кнопкой мыши на интерфейсе ether1;
- Перейдите на вкладку Status;
- Выпишите IP-адрес шлюза из поля Gateway. Он будет нужен при создании маршрута через первого провайдера.
Теперь добавляем маршрут через первого провайдера:
- Откройте меню IP - Routes;
- Нажмите кнопку добавить (синий плюсик);
- В поле Gateway укажите шлюз первого провайдера 10.10.10.1;
- В поле Distance ставим приоритет 3;
- Нажмите Comment;
- В поле напишите комментарий ISP1.
- Нажмите кнопку OK и еще раз OK в следующем окне.
3-й маршрут понадобится для того, чтобы сервер Google по умолчанию пинговался только через 1-го провайдера.
- Нажмите кнопку добавить (синий плюсик);
- В поле Dst. Address укажите IP-адрес сервера Google 8.8.4.4;
- В поле Gateway укажите шлюз первого провайдера 10.10.10.1;
- В поле Distance ставим приоритет 1;
- Нажмите Comment;
- Напишите комментарий GOOGLE.
- Нажмите кнопку OK и еще раз OK.
Также добавим в Firewall правило, которое запретит пинговать ip-адрес 8.8.4.4 через 2-го провайдера. Иначе утилита Netwatch подумает, что связь с 1-ым провайдером восстановилась, и будет постоянно переключать маршруты по кругу.
- Откройте меню IP - Firewall и перейдите на вкладку Filter Rules;
- Нажмите кнопку добавить (синий плюсик);
- В списке Chain выберите Output;
- В поле Dst. Address введите адрес сервера 8.8.4.4;
- В списке Out. Interface выберите ether2;
- Перейдите на вкладку Action;
- В списке Action выберите Drop;
- Нажмите кнопку OK.
Netwatch будет проверять связь с интернетом путем пингования сервера Google с IP-адресом 8.8.4.4. Как только сервер перестанет пинговаться, выполнится скрипт, который активирует 2-й маршрут и трафик пойдет через 2-го провайдера. Как только связь через 1-го провайдера восстановится, то выполнится другой скрипт, который деактивирует 2-й маршрут и трафик пойдет через 1-го провайдера.
- Откройте меню Tools - Netwatch;
- Нажмите кнопку добавить (синий плюсик);
- В поле Host укажите сервер Google 8.8.4.4, который утилита будет пинговать;
- В поле Interval укажите интервал времени 00:00:05, через который будет пинговаться сервер. Для отладки работы скриптов поставим небольшой интервал 5 секунд. После отладки переключения между двумя провайдерами увеличим интервал до 30 секунд.
- Перейдите на вкладку Down;
- На вкладке Down вставляем скрипт /ip route enable [find comment="ISP2"] Этот скрипт будет активировать маршрут через второго провайдера, если перестанет пинговаться сервер Google;
- Перейдите на вкладку Up;
- На вкладке Up вставляем скрипт /ip route disable [find comment="ISP2"] Этот скрипт будет деактивировать маршрут через второго провайдера, если восстановится связь через первого провайдера;
- Нажмите кнопку OK.