среда, 5 октября 2011 г.

Проверка доступности удалённого сервера и обновление таблицы маршрутизации

Конфигурация может быть разной, но суть следующая. Имеется сервер на базе Windows 2008. К нему по удалённому доступу (VPN) подключается другой сервер. Чтобы пакеты с основного сервера шли в локальную сеть подключаемого сервера, необходимо изменить таблицу маршрутизации.

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

@echo off

rem Проверить связь с внешним интерфейсом сервера
:check134
echo Проверяем 192.168.11.134...
ping 192.168.11.134 > NUL
if errorlevel 0 goto check100
echo Адрес 192.168.11.134 недостижим!
timeout /t 60
goto check134

rem Проверить связь с VPN интерфейсом сервера
:check100
echo 192.168.11.134 OK. Проверяем 192.168.100.5...
ping 192.168.100.5 > NUL
if errorlevel 0 goto check200
echo Адрес 192.168.100.5 недостижим!
timeout /t 60
goto check134

rem Проверить связь с внутренним интерфейсом сервера
:check200
echo 192.168.100.5 OK. Проверяем 192.168.200.1...
ping 192.168.200.1 > NUL
if "%errorlevel%"=="0" goto ok
echo Адрес 192.168.200.1 недостижим! Обновляем таблицу маршрутов.
route delete 192.168.200.0
route -p add 192.168.200.0 mask 255.255.255.0 192.168.100.5
timeout /t 60
goto check134

:ok
echo 192.168.200.1 OK. Всё в порядке!
timeout /t 60
goto check134

Поясню некоторые адреса:
192.168.11.134 - внешний адрес подключаемого сервера
192.168.100.5 - локальный адрес внешнего сервера, когда установлено VPN соединение
192.168.200.1 - адрес внешнего сервера в его собственном локальной сети.

2 комментария:

  1. Все верно.Есть такой косяк. Решился как-то не знаете?

    ОтветитьУдалить
    Ответы
    1. Скорее всего нет. Можно поставить все последние обновления и проверить, но некоторое время назад ничего не изменилось. Сейчас я отошёл от администрирования, поэтому не могу сказать актуальную информацию.

      Удалить