Xpoint
   [напомнить пароль]

Как вручную задать gateway при включенном DHCP?

Метки: [без меток]
2009-05-21 12:54:30 [обр] Алексей Севрюков(42/1292)[досье]
Имеется подключение к сети (WiFi(, у которой есть два выхода в инет. Клиент получает адрес по DHCP, но вместе и с адресом получает так же дефолтовый gateway. Можно ли оставить полученный с помощью DHCP адрес, но руками поменять шлюз, используя, например, командную строку? Совсем замечательно если операция будет происходить без разрыва соединения.
Используемые ОС: XP и Vista.
спустя 46 минут [обр] Дмитрий Кучкин(8/236)[досье]
route add 0.0.0.0 mask 0.0.0.0 <new-default-gateway-ip>
route delete 0.0.0.0 mask 0.0.0.0 <old-default-gateway-ip>
Посмотреть, что получилось
route print
спустя 14 минут [обр] Алексей Севрюков(42/1292)[досье]
Прямо в точку. А предпочитаемый DNS можно тоже сменить как-то?
спустя 30 минут [обр] Дмитрий Кучкин(8/236)[досье]
netsh interface ip delete dns "Подключение по локальной сети" all
netsh interface ip set dns "Подключение по локальной сети" static <dns1-ip>
netsh interface ip add dns "Подключение по локальной сети" <dns2-ip>

Вообще netsh очень мощный инструмент.
Можно его запустить без параметров и в интерактивном режиме полазить по помощи.

netsh>?
...
netsh>interface
interface>?
...
interface>ip
interface ip>?
...
interface ip>set ?
...
interface ip>set dns ?

и т.д.

спустя 1 час 1 минуту [обр] Алексей Севрюков(42/1292)[досье]
Для полного счастья еще бы автоматическое переключение на нужный канал сделать бы (по приоритету ессно, один главный, если он не работает - запасной) и иконку в трей какой шлюз используется. Может быть и такое есть? )))
спустя 49 минут [обр] Дмитрий Кучкин(8/236)[досье]
Не, я иссяк :)
спустя 57 секунд [обр] Алексей Севрюков(42/1292)[досье]
Да я тоже думаю что встроенных средств нет. Возможно есть какой-нибудь сторонний софт.
спустя 40 минут [обр] Алексей Севрюков(42/1292)[досье]
Дмитрий Кучкин[досье], еще один вопрос появился, мне кажется Вам по силам: а можно ли проверить работоспобен ли интернет на одном шлюзе, если в данный момент используется другой? Почитал маны по ping и tracert, пробовал прописывать адрес шлюза с помощью флага -j, но видимо это неправильное решение, т.к. ни трассировка, ни пинг не выпоняется.
спустя 2 часа 25 минут [обр] Дмитрий Кучкин(8/236)[досье]

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

route -p add <ip-адрес-провайдера> <ip-адрес-своего-шлюза-для-этого-провайдера>

и точно так же пинговать шлюз провайдера.

Можно прописать маршрут на какой-нибудь ip за провайдером. Так можно определять, есть ли интернет у самого провайдера. То есть, дать tracert на какой нибудь адрес в интернет и вместо <ip-адрес-провайдера> подставить в команду второй или третий хоп из выдачи tracert. Но это может давать ложный результат, если у провайдера несколько линков и отвалился тот, который мы пытаемся пинговать.

спустя 6 минут [обр] Дмитрий Кучкин(8/236)[досье]
P.S. При опции -p маршрут сохраняется при перезагрузках системы, чтобы его отменить надо дать команду route delete ...
Без этой опции маршрут сохранится только до очередной перезагрузки.
спустя 19 часов [обр] Алексей Севрюков(42/1292)[досье]

Не, такой вариант мне не очень подходит, т.к. как IP адрес провайдера - динамический (это Yota), а определять наличие интернета мне нужно через свой шлюз, не имея при этом больше никакой информации. Я предполагал что есть утилиты, специально предназначенные для этого, которым можно скормить только шлюз и ничего более.

Шлюз - действительно свой собственный.

спустя 2 дня 18 часов [обр] Дмитрий Кучкин(8/236)[досье]
Можно пинговать DNS этого провайдера, его адрес не должен меняться.
route -p add <ip-адрес-DNS-провайдера> <ip-адрес-своего-шлюза-для-этого-провайдера>
спустя 4 часа 59 минут [обр] Алексей Севрюков(42/1292)[досье]
Дмитрий Кучкин[досье] А если у меня включен в этот момент другой интернет? Или route умный и поймет что к тому DNS нужно стучаться жестко через тот шлюз, который я укажу?
спустя 2 часа 5 минут [обр] Дмитрий Кучкин(8/236)[досье]

Ну у каждого провайдера свой ДНС-сервер. При помощи команды route мы явно задаем статический маршрут, то есть указываем системе, что на ip-адрес ДНС-сервера каждого провайдера нужно всегда ходить через шлюз этого провайдера.

Допустим, для первого провайдера шлюз 192.168.1.254 ДНС-сервер 11.11.11.11
Для второго шлюз 10.0.0.254 ДНС-сервер 22.22.22.22
Тогда нужно дать команды

route -p add 11.11.11.11 192.168.1.254
route -p add 22.22.22.22 10.0.0.254
спустя 3 минуты [обр] Дмитрий Кучкин(8/236)[досье]
Рано кнопку нажал...
Теперь на адрес 11.11.11.11 система всегда будет ходить через шлюз 192.168.1.254, а на адрес 22.22.22.22 через шлюз 10.0.0.254 независимо от того, какой шлюз задан по умолчанию.
Powered by POEM™ Engine Copyright © 2002-2005