У меня есть локальная сеть, соединяющая все компьютеры в офисе в подсети 10.0.1.0/24, и беспроводная карта USB с маршрутизатором WIFI в качестве альтернативного способа доступа в Интернет. Оба адаптера используют DHCP с предоставленным шлюзом по умолчанию. Я хочу иметь возможность переключать маршрутизацию между двумя шлюзами по умолчанию, чтобы можно было легко переключать трафик с одного провайдера на другого в случае возникновения проблем у одного из них. Я написал скрипт Powershell, который выполняет корректировку метрики, которая работает правильно, как показано в выводе на route print . Проблема в том, что даже если я назначу метрику для маршрутов шлюза по умолчанию или для самих интерфейсов, вывод tracert прежнему показывает трафик, направляемый через один интерфейс, а не через другой.

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

Как изменить активный маршрут без перезагрузки ПК?

1 ответ1

0

Я обнаружил, что перезапуск службы DHCP заставляет сетевую подсистему пересчитывать метрики для маршрутов по умолчанию и впоследствии использовать маршрут с наименьшим набором метрик. Поэтому, если кто-то хочет на лету изменить шлюзы по умолчанию в Windows, он должен сделать то же самое. Это приводит к потере подключения к сети на пару секунд, поэтому это не должно выполняться в интерактивном режиме.

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