![]() |
Вывести Номер интерфейса и прописать маршрут с его использованием
Добрый день.
Помогите, пожалуйста, извлечь номер интерфейса из результата команды route print, если известно имя интерфейса. Партнер предоставил exe-утилиту автонастройки VPN. Создается стандартное L2TP соединение встроенными средствами Windows для доступа до их локального хоста c ip 10.Х.Y.Z/32 с именем интерфейса, допустим, PARTNER VPN. Однако в организации уже есть маршрутизация до другой сети 10/8 и доступ к хосту 10.Х.Y.Z/32 по этому L2TP соединению не работает, так как весь трафик идет по уже имеющемуся маршруту. Выход - прописать маршрут до хоста явно, аля route add 10.Х.Y.Z/32 0.0.0.0 IF X где X - номер интерфейса PARTNER VPN из результата вывода route print, при подключенном PARTNER VPN. После этого доступ к хосту 10.Х.Y.Z/32 работает. Такие подключения были автоматом настроены на большом количестве машин и естественно номер интерфейса PARTNER VPN на каждой машине разный. Отсюда вопрос - как написать BAT/CMD, который извлекал бы номер интерфейса, зная его имя, и следующей строкой прописывал бы маршрут, подставляя ранее извлеченное значение номера интерфейса? 6...2c ff 55 e4 35 0c ......Realtek PCIe GBE Family Controller 27...........................PARTNER VPN 1...........................Software Loopback Interface 1 route add 10.Х.Y.Z/32 0.0.0.0 IF <номер извлеченный из таблице выше> P.S. Прошу оффтоперов, пожалуйста, не комментировать зачем всю сеть 10ю (/8) на той стороне заняли (это сеть за другим туннелем и не моя) и так далее. Вот такая реальность.. |
Может что-нибудь типа такого?
Код:
@echo off |
Огромное спасибо.
конечный вариант в итоге такой получился: @echo off SetLocal EnableExtensions for /f "tokens=1" %%i in ('route print ^| findstr /c:"PARTNER VPN" 2^> nul') do set nroute=%%i SET AIF=%nroute:~0,2% route -p add 10.X.Y.Z/32 0.0.0.0 if %AIF% |
Время: 17:22. |
Время: 17:22.
© OSzone.net 2001-