У некоторых Интернет-провайдеров иногда возникает необходимость дополнительно прописать статический маршрут. Например, для работы файлообменных сетей DC++ и torrent. Если Вы подключены через роутер, то все настройки маршрутизации делаются на нём, а на компьютере ничего дополнительно указывать не нужно.
А вот если кабель провайдера подключен напрямую в компьютер или через модем в режиме «мост»(Bridge), тогда может возникнуть необходимость прописать статический маршрут, добавив его в таблицу маршрутизации Windows. Чтобы это сделать, Вы должны запустить командную строку с правами Администратора. Для этого надо нажать кнопку «Пуск» и выбрать пункт меню «Программы» -> «Стандартные» -> «Командная строка», либо нажать комбинацию клавиш Win+R и ввести команду «cmd».
В открывшемся черном окне консоли нужно прописать маршруты используя команду route.
Параметры команды: -f Очистка таблиц маршрутов от записей всех шлюзов. При указании одной из команд таблицы очищаются до выполнения команды. -p При использовании с командой ADD задает сохранение маршрута при перезагрузке системы. По умолчанию маршруты не сохраняются при перезагрузке. Пропускается для остальных команд, изменяющих соответствующие постоянные маршруты. -4 Обязательное использование протокола IPv4. -6 Обязательное использование протокола IPv6. Одна из следующих команд: PRINT Печать маршрута ADD Добавление маршрута DELETE Удаление маршрута CHANGE Изменение существующего маршрута destination Адресуемый узел. MASK Указывает, что следующий параметр интерпретируется как маска сети. netmask Значение маски подсети для записи данного маршрута. Если этот параметр не задан, по умолчанию используется значение 255.255.255.255. gateway Шлюз. interface Номер интерфейса для указанного маршрута. METRIC Определение метрики, т.е. цены для адресуемого узла.
Для примера рассмотрим три основных подсети, используемые как локальные:
192.168.0.0/16 10.0.0.0/8 172.16.0.0/16
Соответственно, Вам надо будет прописать 3 вот такие строки:
Забавно, но начиная с win7 вроде бы пропала возможность запломбировать IP добавлением в таблицу маршрутизации неправильного destination для этого IP. Смотрите: пробуем добавить маршрут для yandex.net (77.88.21.11) с destination=example.ru (82.98.86.174).
Первый пинг проваливается с ответом default gateway-я: Dest Host Unreachable. Но далее винда, кажется, начинает игнорить «ведущий вникуда» маршрут и восстанавливает привычное положение вещей, пинги начинают проходить.
Pinging example.ru [82.98.86.174] with 32 bytes of data: Reply from 82.98.86.174: bytes=32 time=63ms TTL=128
Pinging yandex.net [77.88.21.11] with 32 bytes of data: Reply from 77.88.21.11: bytes=32 time=33ms TTL=128
Pinging 93.184.216.119 with 32 bytes of data: Reply from 192.168.144.133: Destination host unreachable. Reply from 93.184.216.119: bytes=32 time=154ms TTL=128 Reply from 93.184.216.119: bytes=32 time=155ms TTL=128
1. Убирать галку Auto metric в настройках Advanced в окне настроек Tcp/ip протокола в свойствах подключения — пробовал, не помогает.
2. Использовать дефолтную metric при добавлении маршрута пробовал. Не помогает.
3. Гуглить — пробовал! не помогает!!
Хотя при этом в таблице маршрутизации роут «вникуда» висит
Добавлено 23.12.13, 13:03 Профит можно достичь иным путем.
Конечно висит, видимо, это всё магия драйвера tcp/ip стека.
How?
^D^ima
Я понимаю, что фича, поэтому и написал: «забавно, . «, а не «какого хрена!?» Кто-нибудь знает как отключить эту фичу?
Akina
А какая цель такого «затыкания»? Зачем исправлять одну ошибку созданием второй?
Кстати, не приходилось сталкиваться с тем, что сервер, имеющий вполне определённый адрес, прекрасно отвечает на запросы APIPA-станций?
Цель затыкания — unit-test к одной программе, долго объяснять зачем именно.
Akina
Попробуй сам — можно указать любой destination, но если пакеты он маршрутить не будет (мертвый таймаут — это тоже считается за «не будет») — винда его проигнорит и выберет рабочий маршрут.
Хз, а как понять, лежит шлюз в одной сети с интерфейсом или нет, если маска, задающая эту самую подсеть и, следовательно, необходимая для сравнения двух IP-адресов задается только в отношении хоста («destination», то, что я пытаюсь заблокировать), а не в отношении адреса интерфеса или гейтвея ?
Akina
Нет, не подделка. Не знаю, как так получилось. Попробуй сделать это сам и убедишься. Win7 Sp1 x64 english.
А в у MS написано, что маска используется для ip хоста (destination). В чем соль?
Akina
Речь не о маске, которая в команде, а о маске в настройках протокола рабочей станции.
C:\Users\administrator>route add 77.88.21.11 mask 255.255.255.255 metric 1 82.98 .86.174 ОК
Обмен пакетами с 77.88.21.11 по с 32 байтами данных: Ответ от 10.10.1.9: Заданный узел недоступен. Ответ от 77.88.21.11: число байт=32 время=12мс TTL=51 Ответ от 77.88.21.11: число байт=32 время=12мс TTL=51 Ответ от 77.88.21.11: число байт=32 время=13мс TTL=51