Моя топология такая ...

Сервер (ПК) с 2 сетевыми подключениями

  • 100.50.50.5 / Broadband Stick (Широкополосный доступ / доступ в Интернет)
  • 192.168.5.101 (подключение к локальной сети / нет доступа в Интернет)

Клиент (ПК)

  • 192.168.5.104 (подключение к локальной сети / нет доступа в Интернет)

Я создал пакетный файл, работающий на стороне клиента, который будет пинговать сервер, в частности IP-адрес 192.168.5.101. Если он обнаружит потерю, он отключится (программа Java).

То же самое на сервере, пакетный файл будет пинговать google.com (образец), чтобы проверить, есть ли подключение к Интернету. И если когда-либо ответ будет превышен по времени или недоступен, IP-адрес локального сетевого подключения (192.168.5.101) будет изменен с помощью NETSH на (192.168.5.106), так что клиент будет знать, что нет подключения к Интернету (и он будет не в сети).

Теперь проблема заключается в том, что для изменения IP-адреса потребуется время, и для перехода клиента в автономный режим потребуется более 30 секунд. Есть ли другой способ сделать это без изменения IP-адреса? Если нет, есть ли другой способ ускорить изменение IP-адреса. Благодарю вас.

1 ответ1

0

Вы можете использовать netsh для управления тем, как и если данная система отвечает на запросы ping. Следующие две команды netsh показывают, как можно заблокировать, а затем открыть брандмауэр Windows для проверки связи с запросами:

netsh advfirewall firewall add rule name="All ICMP V4" dir=in action=block protocol=icmpv4

netsh advfirewall firewall add rule name="All ICMP V4" dir=in action=allow protocol=icmpv4

(http://windowsitpro.com/windows-server/top-10-windows-firewall-netsh-commands)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .