garlp
@garlp
инженер-программист ООО "Quantor"

Как выставить приоритет между сетями с двумя шлюзами?

Добрый вечер.

У меня Windows 7
и
два интернет-соединения
- интернет предприятия
- 4g-модем Yota

Необходимо сделать так, чтобы в приоритете был интернет предприятия и лишь при его исчезновении трафик шел через модем.

C:\Users\Трансляционный зал 1>route print
===========================================================================
Список интерфейсов
 11...40 16 7e aa e4 83 ......Intel(R) Ethernet Connection (2) I218-V
 24...00 09 3b f0 1a 40 ......Modem Yota
  1...........................Software Loopback Interface 1
 12...00 00 00 00 00 00 00 e0 Адаптер Microsoft ISATAP
 17...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
 19...00 00 00 00 00 00 00 e0 Адаптер Microsoft ISATAP #3
 23...00 00 00 00 00 00 00 e0 Адаптер Microsoft 6to4
===========================================================================

IPv4 таблица маршрута
===========================================================================
Активные маршруты:
Сетевой адрес           Маска сети      Адрес шлюза       Интерфейс  Метрика
          0.0.0.0          0.0.0.0     31.13.133.97     31.13.133.98    266
          0.0.0.0          0.0.0.0         10.0.0.1        10.0.0.10    276
         10.0.0.0    255.255.255.0         On-link         10.0.0.10    276
        10.0.0.10  255.255.255.255         On-link         10.0.0.10    276
       10.0.0.255  255.255.255.255         On-link         10.0.0.10    276
     31.13.133.96  255.255.255.252         On-link      31.13.133.98    266
     31.13.133.98  255.255.255.255         On-link      31.13.133.98    266
     31.13.133.99  255.255.255.255         On-link      31.13.133.98    266
        224.0.0.0        240.0.0.0         On-link      31.13.133.98    266
        224.0.0.0        240.0.0.0         On-link         10.0.0.10    276
  255.255.255.255  255.255.255.255         On-link      31.13.133.98    266
  255.255.255.255  255.255.255.255         On-link         10.0.0.10    276
===========================================================================
Постоянные маршруты:
  Сетевой адрес            Маска    Адрес шлюза      Метрика
          0.0.0.0          0.0.0.0     31.13.133.97  По умолчанию
===========================================================================

IPv6 таблица маршрута
===========================================================================
Активные маршруты:
 Метрика   Сетевой адрес            Шлюз
 23   1110 ::/0                     2002:c058:6301::c058:6301
 17     58 2001::/32                On-link
 17    306 2001:0:5ef5:79fd:384e:2d85:e0f2:7a9d/128
                                    On-link
 23   1010 2002::/16                On-link
 23    266 2002:1f0d:8562::1f0d:8562/128
                                    On-link
 17    306 fe80::/64                On-link
 17    306 fe80::384e:2d85:e0f2:7a9d/128
                                    On-link
===========================================================================
Постоянные маршруты:
  Отсутствует


Эти команды мне не помогли =(

route -p add 10.0.0.0 mask 255.255.255.0 10.0.0.1 metric 2
route -p add 31.13.133.0 mask 255.255.255.252 31.13.133.97 metric 1

или

route -p add 10.0.0.10 mask 0.0.0.0 10.0.0.1 metric 2
route -p add 0.0.0.0 mask 0.0.0.0 31.13.133.97 metric 1

Просто у интернет предприятия после выставления метрик таким образом исчезает адрес шлюза и назначается какой-то альтернативный IP (DHCP на моем порту в предприятии отключили).

Подскажите, пожалуйста, мне чайнику в матчасти.
  • Вопрос задан
  • 14068 просмотров
Решения вопроса 1
@Proxopotamus
Дирижёр всея сети // Минск
Вы можете указать несколько шлюзов по умолчанию - в этом случае Windows будет перебирать их по очереди. Если отказал первый, трафик пойдёт через второй и т.д. Проблема здесь в том, что обратно трафик на первый шлюз также вернётся только в случае сбоев, то есть 3g/4g модемы не совсем подходят для такого сценария работы (а было бы так красиво), так как пока они в свою очередь не лягут, трафик так и будет идти через них независимо от того, поднялся "проводной" шлюз или нет.
Подробнее можете поискать про Dead Gateway Detection.
Других вариантов построить какое-то подобие отказоустойчивости стандартными средствами, насколько я знаю, в Windows нет.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@ldvldv
Можно так попробовать.
Уберите постоянные маршруты. И вручную назначьте метрики интерфейсам.

support.microsoft.com/kb/894564/ru
Как изменить метрики интерфейса на сетевом адаптере

или с картинками itpcnotes.blogspot.ru/2009/12/faq.html
Ответ написан
Комментировать
@slavbase
Автоматическое переключение между основным и резервным интернет каналом

У нас в конторе наконец то появился резервный интернет-канал. Но со всей очевидностью встала задача автоматического выбора канала интернет. Схема подключения такая: стоит сервер на винде, работающий, как шлюз (недавно переезжали с фрибсд, по никем не понятой причине - приказ гендира). В него входит один сетевой кабель из внутренней сети и уходит на свич, в который, в т.ч., воткнуто оборудование провайдера. Теперь там появилась еще одна железка, которая также находится в инете и раздает его (в простанародье - маршрутизатор).

Спустя какое то время я родил скрипт (batch-файл - он же .bat), который просто поместил в автозагрузку и запустил. Несомненно, это временное решение, но если надо сейчас или даже прямо сейчас, а работы другой непочатый край, то подойдет. Ниже исходники скрипт автоматического переключения на резервный канал:

## Author: Kostuchenko Vasiliy.

@echo off

:first_ping
Ping -n 4 -l 1 8.8.8.8>Nul
If "%ERRORLEVEL%"=="1" goto reserv
if "%ERRORLEVEL%"=="0" Echo First IP OK.
set Timer=60
ping -n %Timer% 127.0.0.1>nul
goto first_ping

:second_ping
Ping -n 4 -l 1 192.168.0.50>Nul
If "%ERRORLEVEL%"=="1" echo First IP is not response.
if "%ERRORLEVEL%"=="0" goto first
set Timer=60
ping -n %Timer% 127.0.0.1>nul
goto second_ping

:rezerv
net send Началось переключение сервера на резервный канал интернет.
echo Reserv IP configuring. Plese wait.
echo ==================================
netsh interface ip set address inet static 192.168.0.57 255.255.255.0 192.168.0.50 1 >nul # inet - имя сетевого подключения. Адреса: 1 - IP, 2 - маска, 3 - шлюз.
echo IP Reconfiguring OK
netsh interface ip set dns inet static 192.168.0.17 >nul # замена первичного DNS.
echo Reserv IP configure starting. Plese wait.
echo First DNS OK
netsh interface ip add dns inet 192.168.0.9 >nul # добавление вторичного DNS
echo Second DNS OK
echo Reserv IP configured.
echo Testing...
Ping -n 4 -l 1 8.8.8.8>Nul
If "%ERRORLEVEL%"=="1" net send Оба провайдера недоступны.
if "%ERRORLEVEL%"=="0" goto second_ping

:first
echo First IP configuring. Plese wait.
echo =================================
netsh interface ip set address inet static 192.168.0.58 255.255.255.0 192.168.0.51 1 >nul # inet - имя сетевого подключения. Адреса: 1 - IP, 2 - маска, 3 - шлюз.
echo IP Reconfiguring OK
netsh interface ip set dns inet static 192.168.0.9 >nul # замена первичного DNS.
echo Reserv IP configure starting. Plese wait.
echo First DNS OK
netsh interface ip add dns inet 192.168.0.17 >nul # добавление вторичного DNS
echo Second DNS OK
echo Reserv IP configured.
echo Testing...
Ping -n 4 -l 1 192.168.0.51>Nul
If "%ERRORLEVEL%"=="1" goto rezerv
if "%ERRORLEVEL%"=="0" goto first_ping

Хочу заметить, что проверка доступности происходит раз в 60 секунд. Вы можете это изменить на любое время, необходимое вам, изменив соответствующий параметр. Но слишком большое время сделает смену адреса не актуальной, а слишком маленькая задержка даст небольшую, но неприятную (возможно, при очень плохих или загруженных сетях) задержку. Смешно про байт конечно говорить, но все же.

dojuk.livejournal.com/1350.html
===============================================================================
Автоматически переключать раздачу интернета с одной линии на другую, когда сигнал ухудшается или пропадает возможно при помощи Kerio WinRoute Firewall
connfailover.png
===============================================================================
The NAT32 Software Router
nat32b.gif
v2.nat32.com/index.html
===============================================================================
Самый простой вариант использовать NetSetMan 4
AutoSwitch жми на лампочку она серая не активная сделай условие например на ping + при срабатывании можно повесить любой скрипт
nsm-free.pngd1_netsetman_5.jpgnsm-scripts.png
www.netsetman.com
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы