Удаление и добавление маршрутов в таблицу маршрутизации
Добрый день!
Система WinServer2003R2 Sp2 На ней три сетевых интерфейса: 1. Локальная сеть, адрес сервера - 192.168.0.5. 2. Подключение к интернету №1 PPPoE(радиоканал) 194.44.77.5 -> 194.44.32.213. 3. Подключение к интернету №2 через SHDSL модем в режиме моста (т.е. без всяких PPP) Адрес 195.5.31.95 шлюз провайдера 195.5.31.94. Поднята служба маршрутизации и удаленного доступа RRAS. Подключение к интернету №1 используется как подключение по требованию. На обоих интерфейсах(подключенных к интернету) включен NAT. Проблема следующяя(выполняем команды ручками): route add 74.125.77.104 mask 255.255.255.255 194.44.32.213 metric 1 if 0x20006 (т.е. добавляю маршрут к 74.125.77.104 через подключение № 1) route delete 74.125.77.104 отвечает "Не найден указанный маршрут." route print - и этот маршрут есть в таблице Активные маршруты: Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика 74.125.77.104 255.255.255.255 194.44.32.213 194.44.77.5 1 Т.е. не удаляется маршрут, который однажды прописался на интерфейс. Программа route говорит такого маршрута нет, и в то же время показывает его в таблице маршрутизации На интерфейсе 195.5.31.95 такого не наблюдается, все работает так как должно. Зачем такой глупый маршрут? Для того чтобы эхо запрос пошел именно через этот интерфейс, даже в том случае если шлюз по умолчанию 195.5.31.94. Пишу скрипт для автопереключения каналов интернета. На тестовом компе с двумя PPP подключениями(WindowsXP) работал прекрасно. На боевом столкнулся с такой проблемой. Помогите решить, отблагодарю и выложу скрипт на форум. Спасибо! |
Присоединяюсь. У меня была подобная проблема. И так же по-дебильному прописывался if 0x20006 в таблице. Но у меня этот маршрут к тому же и не отрабатывал. Начинало работать только после route change, он цеплял нормальный интерфейс, а не хекс, и начинал работать. Подозреваю, что, конечно, проблема в моих кривых клешнях) Но всё же правда интересно.
|
Пробовал манипулировать маршрутами (на интерфейсе WAN (PPP/SLIP) Interface) командой версии 5.1.2600.0 (с Windows Xp)
и версия route 5.2.3790.0(Win2003) - говорят одинаково: маршрут в таблице есть, а удалить его от туда невозможно так как "он не найден"... Цитата:
|
Есть решение:
netsh routing ip add rtmroute // добавляет маршрут netsh routing ip set rtmroute // изменяет маршрут netsh routing ip delete rtmroute // удалеят маршрут netsh routing ip show rtmroute // показывает маршруты netsh routing ip show interface // показывает интерфейсы Тестим скриптик... |
Вложений: 1
Даю скрипт для работы с двумя и более каналами интернет, как обещал.
Скрипт поддерживает: 1. Смену default маршрута от основного интерфеса и обратно, при востановлении основного. Основной необходимо указать в переменной. 2. Список Интерфесов задается в массиве, сами понимаете не ограниченого количества. 3. Дополнительные маршруты(через не основные каналы) с указанием желаемого интерфеса для маршрута и дополнительного интерфейса для маршрута. При неработоспособнисти них, ставит маршрут на один из рабочих. 4. Перезапись дополнительных маршрутов при падении интерфеса. (смена с основного интерфеса для маршрута на дополнительный и обратно по возможности). 5. Количество серверов для теста эхо-запросом не ограничено. 6. Количесвто доп. маршрутов не ограничено, заносится в массив. 7. Поддержка вывода лога в системный ЛОГ(создает журнал Scripts). Два режма логирования - отладочный и рабочий. 8. Поддержка вывода статистики по интерфесам каждые n тестов. 9. Два скрипта для работы с RRAS сервером и без него (разница в командах управления маршрутами, для RRAS используется netsh, для обычного режима route). 10. Поддержка автополучения номера интерфеса в обычном режиме. (см. вывод команды route print) . 11. Псевдобалансировка нагрузки на каналы. P.S. после неудачного поиска такой вещи в инете (нашел батник бедный на возможности) решил собраться и написать такую вещь. Так что радуйтесь кто искал. У кого есть уже, делитесь идеями и мона мою критиковать. По крайней мере пока что это то что нужно было мне с учетом возможности узменения/расширения и т.д. :oszone: |
По теме скрипта:
Делаю балансировку методом изменения метрики основных маршрутов. Правильно ли это, не будут ли путаться соединения и т.п. (имеется ввиду типа соединения аськи, скайпа и другие). |
Вложений: 1
по просьюе alexpebody
"Собственно задача такова, есть 2 шлюза скажем 192.168.0.1 и 192.168.0.2 нужно если инет упал на 1 переключить на 2й, если упал на 2, переключить на 1й... Это вообще возможно? Скачал скрипт, после запуска получил множество cmd окон и все (( с периодичностью запуска в 10 сек примерно... как настроить скрипт? " ПОЯСНЕНИЯ находятся в самом скрипте, скрипт запускает стандартные команды управления маршрутами, поэтому выскакивают "cmd окна".. периодичность также настраиватся Все настройки описаны в самом скрипте с коментариями настроить его можно и на пять шлюзов... настроить можно и статические маршрутыи методы их перезаписи при пропадание одного из каналов Код:
//также поменять тут значения |
Помогите пожалуйста со скриптом (или CMD bat файлом), который бы в одном случае прописывал DNS 192.168.43.1 для Ethernet карты, а в другом делал бы параметры полностью DHCP на том же адаптере Ethernet
|
Время: 21:35. |
Время: 21:35.
© OSzone.net 2001-