|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - пинг узла через альтернативный шлюз |
|
|
CMD/BAT - пинг узла через альтернативный шлюз
|
Новый участник Сообщения: 13 |
Доброго. Такая задача. Локалка, пусть будет 192.168.0.0/24
Допустим в локалке два шлюза/два интернета: 192.168.0.1 и 192.168.0.2 Допустим в локалке машина с winОС. Пусть будет со статикой 192.168.0.10 и шлюз по-умолчанию 192.168.0.1 Задача, периодически (разумеется ч-з планировщик решу вопрос, без проблем) пинговать узел, например 1.2.3.4 на предмет меньшего пинга (вопрос с доступностью/недоступностью интернета не стоит, но как промежуточный вариант можно и это, но это не цель). В общем надо пинговать периодически и переключать основной шлюз в конкретной WinОС на тот, у которого в данный момент меньшее время пинга. ============ В идеале вижу как это. 1. Пингуем узел ч-з один шлюз, записываем в переменную среднее время пинга (можно число хопов увеличить с 4-х, до 10, например для более точного результата). 2. Пингуем узел ч-з другой шлюз. Результат пишем в другую переменную. 3. Сравниваем переменные, и в результате переключаем основной шлюз на другой или остаёмся на текущем. Как альтернатива просто прописываем маршрут до узла ч-з определённый шлюз, а основной шлюз остаётся прежним. ps Казалось бы можно ч-з те же промежутки времени периодически менять шлюз и пинговать узел, но при этом будет прерываться интернет/соединение, а это критично. Интернет крайне желательно чтобы не прерывался ни на секунду. Собственно засада в том, как пропинговать узел через другой шлюз не переключаясь на него. Пробовал играться с ключом ping -k, только что-то не вышло = вообще пинги не идут. |
|
Отправлено: 11:33, 12-12-2020 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать Цитата daledale:
он выставляет флаг Strict Source Route в IP-заголовке, такие пакеты все современные маршрутизаторы по умолчанию отбрасывают Цитата daledale:
|
||
Отправлено: 12:29, 12-12-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать Цитата Busla:
ps С Микротиками, как ни пытался, так и не подружился) |
|
Отправлено: 15:22, 12-12-2020 | #3 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата daledale:
Цитата daledale:
Цитата daledale:
Цитата daledale:
|
||||
Отправлено: 16:14, 12-12-2020 | #4 |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать Цитата alpap:
- Видимо малой кровью не получится. Хорошо, немного упрощу задачу. Пусть будет со сменой интернета/шлюза=прерыванием и пингованием как обычно. Итак исходные данные в первом посте. Батники смены шлюза (ч-з netsh) уже готовые и есть. Схема, я так понимаю теперь такая. 1. Пингуем узел с текущего шлюза (шлюз1) - среднее время пинга в переменную1. 2. Запускаем батник смены шлюза (шлюз2). 3. Пингуем узел ч-з второй шлюз. Результат в переменную2. 4. Сравниваем переменные, если время меньше у второй переменной - остаёмся на втором шлюзе (ведь мы его на шаге 2 сменили - иначе возвращаемся на первый шлюз=запускаем батник смены на шлюз1). Вот реализацию этого, если не затруднит можно сделать? ps Неплохо б в алгоритм добавить пункт проверки текущего шлюза, чтобы скрипт до момента начала проверки знал, ч-з какой шлюз "сейчас" комп ходит в инет. |
||
Последний раз редактировалось daledale, 12-12-2020 в 16:42. Отправлено: 16:33, 12-12-2020 | #5 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать нееет, статистика тут гораздо обширнее нужна.
а если в пределах 6-ти часов преобладает по пингу один потом другой, через 1 час картина меняется, на следующие сутки в точности до наоборот, а на следующей неделе четко только один шлюз победитель. или ситуация меняется каждые 1,5 часа, будете скакать туда-сюда из-за небольшого выигрыша в скорости, оно действительно настолько того стоит? Да еще все переходные процессы с батниками и переподключениями. к тому же чтобы выявить разницу если она небольшая надо идеализировать ОС как-то, в разные моменты пинга при разных загрузках (обновление чего-то, движ антивируса, планировщика-MS) показания наверняка будут различаться. |
Отправлено: 17:59, 12-12-2020 | #6 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать Цитата daledale:
Цитата daledale:
при ваших запросах всё равно придётся углубиться в устройство сетей можете взять какой-нибудь keenetic, но два провайдера в нём настроить - ближе к шаманству: нужно нагуглить конкретные заклинания для консоли если вас устраивает поочерёдное снятие метрик, можете прописать маршрут к конкретному хосту, пинговать его, переключать этот конкретный маршрут на другой шлюз и снова пинговать в качестве цели можете взять шлюз целевого сервиса (pathping или tracert покажут вам маршрут) |
||
Последний раз редактировалось Busla, 12-12-2020 в 19:33. Причина: + вариант решения Отправлено: 19:15, 12-12-2020 | #7 |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать Цитата alpap:
Цитата alpap:
Цитата alpap:
Цитата alpap:
Цитата Busla:
Делал так или исходные дынные - выходит в инет ч-з шлюз 0.1 Пингую как обычно с дефолтного шлюза - время 15 мс. Добавляю маршрут: route add 1.2.3.4 mask 255.255.255.255 192.168.0.2 пингую - получаю те же 15 мс. Хотя по факту, если явно переключиться на шлюз 0.2 - время стабильно 22 мс. |
|||||
Отправлено: 23:04, 12-12-2020 | #8 |
Ветеран Сообщения: 547
|
Профиль | Сайт | Отправить PM | Цитировать Цитата daledale:
|
|
------- Отправлено: 10:08, 14-12-2020 | #9 |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать Ребят, столько оффтопа! Зачем это? Был вопрос, если есть ответы по существу - велкам. Нет, лучше ничего не отвечать. Сорри.
ps Разумеется понимаю, что никто никому ничем не обязан, пришёл на форум для помощи, ибо есть пробелы в написании виндовых скриптов. |
Отправлено: 16:37, 14-12-2020 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2008 R2 - [решено] Через один шлюз подключается, через другой - нет. | grey_ink | Windows Server 2008/2008 R2 | 2 | 23-10-2015 06:59 | |
FreeBSD - Помогите начинающему. Шлюз не пропускает пинг. | varyym | Общий по FreeBSD | 3 | 20-05-2010 13:54 | |
Proxy/NAT - vmware через прокси шлюз ? | AAA7 | Сетевые технологии | 1 | 12-05-2009 09:09 | |
[решено] Пинг через проксю | clin | Microsoft Windows NT/2000/2003 | 10 | 11-12-2008 16:19 | |
Route/Bridge - Интернет через шлюз NetBSD | ran01 | Сетевые технологии | 2 | 12-03-2008 17:57 |
|