Меню

Как настроить метрику маршрута

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Как в Windows выбрать подключение, используемое для Интернета

Оглавление

Если у вас Linux, то смотрите статью «Практика настройки сетевых маршрутов: выбор подключения, используемое для Интернета; одновременное использование нескольких подключений для разных целей». В ней же вы найдёте дополнительные трюки для манипуляции сетевыми маршрутами, которые будут работать, в том числе, и на Windows.

Выбор подключения к Интернету

Компьютер может быть подключён сразу к нескольким сетям: например, к проводной сети и к беспроводной; или к двум Wi-Fi сетям; или использовать телефон в качестве модема через Bluetooth и при этом быть подключённым к проводной и Wi-Fi сети; или быть подключённым к четырём Wi-Fi сетям – да что угодно!

Если вы выходите в Интернет, как операционная система выбирает, какое именно из нескольких подключений использовать? Система действует очень мудро – она не пренебрегает ни одним из подключений. И в случае потери связи с одним из них – использует другое.

Но ведь ей в любом случае нужно выбрать, какое подключение использовать в данный момент! И система опять поступает мудро – она использует лучшее подключение. Чтобы узнать, какое подключение является лучшим, для каждого из них вычисляется так называемая Метрика – условное значение, которое учитывает сразу несколько параметров – скорость сети, потери пакетов и другое.

Рассмотрим реальный пример. Мой компьютер подключён к двум Wi-Fi сетям. Чтобы узнать характеристики маршрутов, откроем командную строку Windows, для этого нажмите Win+x, и выберите Windows PowerShell (Администратор). В открывшемся окне командной строки наберите команду

Особое внимание обратите на строки:

Сетевой адрес 0.0.0.0 и маска сети 0.0.0.0 это обозначение маршрута по умолчанию (default route). Это тот маршрут, куда отправляется трафик, для которого явно не прописан другой маршрут.

Например, там же мы можем увидеть строку

В ней есть сетевой адрес 192.168.56.0 с маской подсети 255.255.255.0 – то есть это любые IP адреса в диапазоне 192.168.56.0-192.168.56.255. Так вот, для этих адресов явно прописан маршрут – они будут отправлены в 192.168.56.1.

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

Для выбора Интернет-подключения по умолчанию нужно изменить маршрут по умолчанию.

Изменение маршрута по умолчанию в Windows

Вернёмся к ранее полученным данным о маршруте по умолчанию:

Из него следует, что у одного из моих интерфейсов IP адрес 192.168.0.49 и у него метрика равна 55, у другого сетевого интерфейса IP 192.168.1.43 и метрика равна 70. Выигрывает тот маршрут, у которого значение метрики меньше (чем меньше метрика, тем лучше подключение).

Таким образом, если я будут выходить в Интернет, то будет использоваться сетевой интерфейс 192.168.0.49.

Убедимся в этом сразу несколькими способами. Запомним наши IP адреса, как их видят внешний сервисы. Для этого перехожу на https://suip.biz/ru/?act=myip:

Я получил, что мой IP 109.126.249.183, а мой локальный IP 192.168.0.49. В командной строке Windows делаю трассировку:

Как можно увидеть по первой строке, я действительно выхожу в интернет через шлюз 192.168.0.1.

Итак, способов изменить маршрут по умолчанию сразу несколько. Например, можно изменить значение метрики так, чтобы приоритетным стал другой маршрут. Второй вариант – удалить другие маршруты, оставив только один.

Как установить метрику для сетевых подключений в Windows

Чтобы было понятно, покажу на конкретном примере. У меня два сетевых интерфейса с IP адресами:

  • 192.168.0.49 (имеет шлюз 192.168.0.1) – используется по умолчанию
  • 192.168.1.43 (имеет шлюз 192.168.1.1) – хочу чтобы он использовался по умолчанию

Для этого удаляю все маршруты по умолчанию:

Теперь добавляю тот, который я хочу сделать маршрутом по умолчанию, командой вида:

В ней ШЛЮЗ нужно заменить на IP адрес шлюза (роутера) того интерфейса, через который вы хотите выходить в Интернет. Для меня это:

На данном этапе уже вернулось Интернет-подключение и если вам достаточного одного подключения, то можно не продолжать.

Читайте также:  Блютуз как настроить в маке

Тем не менее, я хочу чтобы в качестве резервного у меня было активно и второе подключение, но чтобы оно по умолчанию не использовалось.

Для его добавления используется команда следующего вида:

Обратите внимание, что вместо ШЛЮЗ нужно вписать IP адрес шлюза «резервного» интерфейса. Также значение является не абсолютным, а относительным. Помните об этом, что указанная величина ДОБАВЛЯЕТСЯ к тому значению метрики, которое рассчитывает операционная система. Значение 100 можно поменять на другое (например, 50). Но выбирайте его так, чтобы значение в сумме с рассчитанной метрикой было больше, чем метрика подключения, которое мы хотим использовать по умолчанию.

Как видим, в маршрутах по умолчанию по-прежнему доступно два сетевых интерфейса. Но теперь интерфейс 192.168.0.49 имеет очень большое значение метрики, поэтому по умолчанию будет применяться сетевой интерфейс 192.168.1.43.

Как видим, поменялся и внешний IP (был 109.126.249.183, а стал 213.167.219.207) и локальный (был 192.168.0.49, а стал 192.168.1.43).

В командной строке Windows делаю трассировку:

Как можно увидеть по первой строке, я действительно выхожу в интернет через шлюз 192.168.1.1.

Особенности применения команды route CHANGE в Windows

Необходимо отметить пару моментов в поведении команды route, которые является контринтуитивными (мы ждём одного результата, а получаем другой, неожиданный результат).

Маршруты, в том числе маршрут по умолчанию, можно не удалять/добавлять, а изменять с помощью команды route CHANGE. Но помните об особенности этой команды, если у вас установлено два или более маршрута по умолчанию: она удалит ВСЕ маршруты и впишет один новый, который указан с этой командой! На первый взгляд это неочевидно, но если подумать, то становится понятно, почему она действует именно таким образом.

Хотя об этом уже было сказано выше, значение метрики является ОТНОСИТЕЛЬНЫМ! То значение, которое вы устанавливаете для метрики, добавляется к рассчитываемому системой значению. При этом оно постоянно плавает: то есть система регулярно пересчитывает значения метрики, но к каждому полученному числу добавляет то, которое вы указали с командой route ADD.

Создание постоянных маршрутов, сохраняющихся после перезагрузки

По умолчанию, все прописанные маршруты, в том числе значения метрик, будут сброшены при перезагрузке компьютера.

С помощью ключа -p можно создавать постоянный маршруты, которые будут сохранены после перезагрузке.

Пример команды добавления постоянного маршрута:

Часть if является опциональной для всех команд.

Номера интерфейсов можно посмотреть командой route print (в самом верху вывода):

Номера интерфейсов идут в первом столбике – перед MAC-адресами.

Кроме опции -p, команда route имеет ещё несколько опций, рассмотрим их.

Источник

Windows 7 и метрика маршрутов

На днях нужно было воспользоваться статической маршрутизацией на компьютере под Windows 7 с двумя сетевыми картами.

Первая сетевая карта получает IP настройки (IP адрес, шлюз по умолчанию, днс и пр.) от DHCP сервера.

На второй сетевой карте IP задан вручную и шлюз по умолчанию не указан.

Мне необходимо было прописать на определенную сеть маршрут через вторую карту.

Однако, когда я прописал новый маршрут командой: «route add …», пакеты отправляемые в сеть назначения всё равно шли через основной шлюз (получаемый по DHCP), через первую сетевую карту, а не через вторую.

Посмотрев таблицу маршрутизации, командой «route print«, оказалось, что метрика у маршрута по умолчанию (основной шлюз) стоит меньше, чем у моего статического маршрута. Следовательно пакеты отправлялись на основной шлюз через первый интерфейс.

Я попытался, удалить статический маршрут, и прописать его заново с явным указанием метрики. Но посмотрев опять таблицу маршрутизации, выяснилось, что метрика у моего маршрута не та, что я указал, а больше указанного значения на 30.

Оказывается по умолчанию в Windows 7 (в XP и Vista не проверял, не знаю) метрика интерфейса назначается автоматически, и к указанной явно метрике, при создании маршрута (командой «route add …») прибавляется это автоматическое число.

Что бы отключить автоматическое назначение метрики на интерфейсе, и задать своё значение, нужно:

— Зайти в свойства сетевого подключения (интерфейс на котором нужно отключить автоматическое назначение метрики)

— На вкладке «Сеть» выбрать «Протокол Интернета 4 (TCP/IPv4)» и нажать на кнопку «Свойства»

Читайте также:  Как настроить настройки в bluestacks

— В появившемся окне нажать кнопку «Дополнительно…»

— Во вкладке «Параметры IP» снять галочку с «Автоматическое назначение метрики». А в поле «Метрика интерфейса» ввести своё число (например 2), тогда к заданной метрике в команде «route add…» прибавится только двойка.

После выполнения вышеописанных действий, станет возможным задать статический маршрут с метрикой ниже метрики основного шлюза (у меня метрика на основном шлюзе равна 10).

Источник



Что такое Метрика сети или маршрута

В локальный сетях есть такое понятие Метрика сетевого интерфейса или Метрика Сети — это специальное цифровое значение, означающее число переходов (так называемых «хопов» или «прыжков»), которое влияет на выбор маршрута в сети. В таблице маршрутизации из двух одинаковых предпочтительным является тот маршрут, у которого лучшая метрика маршрута.

На сегодняшний день в операционных системах Windows, Linux, MAC OSX, Android, iOS по умолчанию используется автоматическое назначение метрики сетевого интерфейса. В Windows 10 эту опцию можно отключить или включить в Дополнительных параметрах протокола TCP/IP v4.

Посмотреть текущие значения этого параметра для каждого динамического маршрута можно через командную строку, введя команду route print. Пример вывода директивы Вы можете видеть ниже:

При использовании статической маршрутизации возможно прописать значения параметра вручную при указании статического маршрута.

При этом все устройства в локальной сети считаются одним промежуточным звеном, а маршрутизатор, который встретится на пути к точке назначения — дополнительным устройством.

Метрика сети может выставляться не только исходя из числа переходов, но и на основе информации о скорости соединения сетевых интерфейсов.

У самого медленного интерфейса будет самое большое значение параметра и низший приоритет, а у самого быстрого — наименьшее и высший приоритет.

Скорость интерфейса Значение метрики сети
Менее 500 Кбит/с 50
от 500 Кбит/с до 4 Мбит/с 40
от 4 Мбит/с до 20 Мбит/с 30
от 20 Мбит/с до 80 Мбит/с 25
от 80 Мбит/с до 200 Мбит/с 20
от 200 Мбит/с до 2 Гбит/с 10
от 2 Гбит/с и выше 5

Кстати, надо учитывать что в операционных семействах на основе UNIX (Linux, Android и т.п.) метрика сети используется только для протоколов динамической маршрутизации и особо замарачиваться не стоит, так как при выборе маршрута ядро Линукса игнорирует этот параметр.

Источник

Описание функции автоматической метрики для маршрутов IPv4

В этой статье описывается функция автоматической метрики, используемая в маршрутах IPv4 для Windows для протокола IPv4.

Исходная версия продукта: Windows 10 — все выпуски, Windows Server 2019, Windows Server 2012 R2, Windows Server 2008 R2 Пакет обновления 1
Исходный номер КБ: 299540

Дополнительные сведения

Метрика — это значение, назначенное IP-маршруту для определенного сетевого интерфейса. Он определяет стоимость, связанную с использованием этого маршрута. Например, метрика может быть оценена с точки зрения скорости связи, количество прыжков или задержки времени. Автоматическая метрика — это новая функция Windows, которая автоматически настраивает метрику для локальных маршрутов, основанных на скорости связи. Функция автоматической метрики включена по умолчанию, и ее также можно вручную настроить для назначения определенной метрики.

Функция «Автоматическая метрика» может оказаться полезной, если таблица маршрутов содержит несколько маршрутов для одного места назначения. Например, если у вас есть компьютер с сетевым интерфейсом 10 мегабит (МБ) и сетевым интерфейсом 100 МБ, а на компьютере есть шлюз по умолчанию, настроенный в обоих сетевых интерфейсах, функция автоматической метрики назначает более высокую метрику более медленному сетевому интерфейсу. Эта функция может заставить весь трафик, предназначенный для Интернета, использовать самый быстрый доступный сетевой интерфейс.

Как правило, Корпорация Майкрософт не рекомендует добавлять шлюзы по умолчанию в несоединяемых сетях. Например, такие серверы, как NAT и прокси-серверы, обычно настраиваются для подключения двух или более несогласоваемых сетей: общедоступный Интернет и одна или несколько частных интрасетей. В этой ситуации не следует назначать шлюзы по умолчанию на частных интерфейсах, так как это может привести к неправильной маршрутике в сети.

В следующей таблице описаны критерии, используемые Windows для назначения метрик для маршрутов, привязанных к сетевым интерфейсам различных скоростей.

Скорость связи Метрика
Больше или равно 2 ГБ 5
Более 200 МБ 10
Больше 20 МБ и меньше или равно 200 МБ 20
Больше 4 МБ и меньше или равно 20 МБ 30
Более 500 килобит (КБ) и не более 4 МБ 40
Меньше или равно 500 КБ 50

В следующей таблице перечислены скорости ссылок и присвоенные метрики для компьютеров с Windows XP Пакет обновления 2 и более новых версиях операционных систем Windows.

Скорость связи Метрика
Больше или равно 2 ГБ 5
Более 200 МБ 10
Больше 80 МБ и меньше или равно 200 МБ 20
Больше 20 МБ и меньше или равно 80 МБ 25
Больше 4 МБ и меньше или равно 20 МБ 30
Более 500 КБ и меньше или равно 4 МБ 40
Меньше или равно 500 КБ 50

В следующей таблице перечислены скорости ссылок и присвоенные метрики для компьютеров с Windows 10 и более новыми версиями операционных систем Windows:

Для интерфейсов с физическими средними типами NdisPhysicalMediumWirelessLan, NdisPhysicalMediumWirelessWan, NdisPhysicalMediumNative802_11:

Скорость связи Метрика
Больше или равно 2 ГБ 25
Больше или равно 500 Мб и меньше 2 ГБ 30
Больше или равно 200 МБ и менее 500 МБ 35
Больше или равно 150 МБ и менее 200 МБ 40
Больше или равно 80 МБ и менее 150 МБ 45
Больше или равно 50 МБ и менее 80 МБ 50
Больше или равно 20 МБ и менее 50 МБ 55
Больше или равно 10 МБ и меньше 20 МБ 60
Больше или равно 4 МБ и менее 10 МБ 65
Больше или равно 2 МБ и меньше 4 МБ 70
Больше или равно 500 КБ и менее 2 МБ 75
Больше или равно 200 КБ и менее 500 КБ 80
Менее 200 Кб 85

Для других типов интерфейсов:

Скорость связи Метрика
Больше или равно 100 ГБ 5
Больше или равно 40 ГБ и меньше 100 ГБ 10
Больше или равно 10 ГБ и меньше 40 ГБ 15
Больше или равно 2 ГБ и меньше 10 ГБ 20
Больше или равно 200 МБ и менее 2 ГБ 25
Больше или равно 80 МБ и менее 200 МБ 35
Больше или равно 20 МБ и меньше 80 МБ 45
Больше или равно 4 МБ и меньше 20 МБ 55
Больше или равно 500 КБ и менее 4 МБ 65
Менее 500 Кб 75

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

Кроме того, метрику, назначенную определенным шлюзам по умолчанию, можно настроить независимо для каждого шлюза. Эта настройка обеспечивает дополнительный уровень контроля за метрикой, используемой для локальных маршрутов. Например, можно включить функцию автоматической метрики для настройки маршрутов, которые назначены сетевому интерфейсу. В то же время можно вручную настроить метрику, назначенную шлюзам по умолчанию.

Если метрика указана на уровне сетевого интерфейса, но шлюз добавлен и настроен для функции автоматической метрики, шлюз может наследовать метрику, назначенную сетевому интерфейсу. Например, если назначить метрику 5 на уровне сетевого интерфейса, а затем добавить шлюз и оставить для шлюза функцию автоматической метрики проверенной, шлюзу также назначается метрика 5. Для полудуплексных интерфейсов, таких как беспроводная связь, эффективная скорость составляет половину объявленной скорости.

Функция автоматической метрики отличается от функции обнаружения мертвого шлюза, которая может заставить сеть переключить шлюзы по умолчанию, основанные на ретрансляции TCP. Кроме того, функция маршрутов и удаленного доступа не активирует функцию обнаружения мертвого шлюза. Эта активация выполняется стеком TCP/IP на компьютере, который инициирует сеанс TCP.

Чтобы настроить функцию автоматической метрики:

  1. На Панели управления дважды щелкните Сетевые подключения.
  2. Щелкните правой кнопкой мыши сетевой интерфейс и выберите «Свойства».
  3. Щелкните протокол Интернета (TCP/IP), а затем выберите «Свойства».
  4. На вкладке «Общие» выберите «Дополнительные».
  5. Чтобы указать метрику, на вкладке «Параметры IP», с помощью этого параметра сведите в поле «Метрика интерфейса» нужный показатель.

—>

Источник