Форум компании Ритм - НПО «Ритм»

Резервирование Каналов связи и АРМ Оператора

Поиск  Пользователи  Правила  Войти  
Страницы: 1
RSS
Резервирование Каналов связи и АРМ Оператора, резервные каналы и сервера
Поделитесь у кого как реализовано резевное рабочее место.
Уменя два роутера на в случае если отваливается один канал оператор вручную перетыкает пачкорд в другой роутер.
В роутерах прописан проброс портов.
в панелях IP ххх.ххх.ххх.ххх:3058- основной и ууу.ууу.ууу.ууу:3085- резервный сервера.
соответственно проброс портов с ххх.ххх.ххх.ххх:3058 на 192.168.1.2:3058 и с ууу.ууу.ууу.ууу:3085 на 192.168.1.2:3058
Но если возникнет проблема с ПК хотелось бы иметь полностью рабочий АРМ с актуальной БД.
Как это можно реализовать.
Поднятие отдельного msql сервера пцн6 и IS не помагает. обьекты горят красным. IS пишет что нет подключений.
в роутере настроено ууу.ууу.ууу.ууу:3085 на 192.168.1.3:3085. Тестирование пота с инета показывает что порт открыт.
основной канал 2 линии оптики разных провайдеров в dfl860 в режиме failover, переключение с канала на канал в случае аварии не более 3х минут. как резерв приемная станция ритм по каналам csd, и на всякий случай еще и модем для смсок. + резервный сервер с актуальной базой, подтыкается вручную если с боевым авария
Настроил два роутера в одну локаль.
Ростелеком 192,168,1,1 с включеным DCHP сервером
Чебнет 192,168,1,50 DCHP сервер выключен.
проброс портов с обоих внешних WAN-ов на один сервер.
переключение профелей NetsetMan. Заодно всем в локали поменял провайдера, а то с пультом на одном IP.
Теперь нет необходимости в ручную перетыкать пачкорды. Будем тестить.
Нашол в интернете скрипт переключения каналов на резервные каналы, который в исходном виде не работает.

@echo off
:first_ping
Ping -n 4 -l 1 8.8.8.8>Nul
If "%ERRORLEVEL%"=="1" goto rezerv # если не пингуется контрольный адрес переходим на резерв
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 8.8.4.4>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.1.3 255.255.255.0 192.168.1.50 1 >nul # inet - имя сетевого подключения. Адреса: 1 - IP, 2 - маска, 3 - шлюз.
echo IP Reconfiguring OK
netsh interface ip set dns inet static 8.8.8.8 >nul # замена первичного DNS. работает
echo Reserv IP configure starting. Plese wait.
#netsh interface ip add dns inet 8.8.8.8 >nul # добавление вторичного DNS не работае проблемы с синтаксисом
echo First DNS OK
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.1.3 255.255.255.0 192.168.1.1 1 >nul # inet - имя сетевого подключения. Адреса: 1 - IP, 2 - маска, 3 - шлюз.
echo IP Reconfiguring OK
netsh interface ip set dns inet static 8.8.8.8 >nul # замена первичного DNS.
echo Reserv IP configure starting. Plese wait.
echo First DNS OK
netsh interface ip add dns inet 8.8.4.4 >nul # добавление вторичного DNS
echo Second DNS OK
echo Reserv IP configured.
echo Testing...
Ping -n 4 -l 1 8.8.4.4>Nul
If "%ERRORLEVEL%"=="1" goto rezerv
if "%ERRORLEVEL%"=="0" goto first_ping

Для меня это все темный лес был.
после нескольких прогонов и изучения документации выяснилось что имеется критическая ошибка.
Ошибка в следующем если не пингуется первый тестовый адрес преключаемся на резервный канал. и проверяем доступность другого контрольного адреса и если он пингуется скрипт переключается на шаг :second_ping
который пингует другой контрольный адрес и если он доступен скрип меняет настройки обратно и мы сваливаемся в рекурсию. Я так думаю автор хотел реализовать возврат на основной канал.
в Итоге у меня получился скрипт:

@echo off
:first_ping
Ping -n 4 -l 1 ya.ru >Nul
If "%ERRORLEVEL%"=="1" goto rezerv # если не пингуется контрольный адрес переходим на резерв
if "%ERRORLEVEL%"=="0" Echo Интернет канал в норме.
set Timer=30
ping -n %Timer% 127.0.0.1>nul
goto first_ping
:rezerv
echo Идет переключение на резервный канал. Ждите.....
echo ==================================
netsh interface ip set address inet static 192.168.1.11 255.255.255.0 192.168.1.50 1 >nul # inet - имя сетевого подключения. Адреса: 1 - IP, 2 - маска, 3 - шлюз.
echo Идет смена настроек. Ждите ....
netsh interface ip set dns inet static 8.8.8.8 >nul # замена первичного DNS. работает
echo Идет смена DNS.
echo DNS OK
echo Настройки резервного канала установленны.
echo Проверяем...
Ping -n 4 -l 1 ya.ru >Nul
If "%ERRORLEVEL%"=="1" echo Оба провайдера недоступны.
if "%ERRORLEVEL%"=="0" goto first_ping

Канал преключается на резерв. А обратно уже придется ручками. Если кто в этом разбирается прошу коментировать и дополнять.
Страницы: 1