Моя машина с Windows имеет две сетевые карты, у обеих есть шлюзы по умолчанию. Как Windows определяет, к какому шлюзу следует обращаться при отправке пакета на удаленную конечную точку?
Точнее, вот моя таблица маршрутизации:
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.0.0.1 10.0.0.191 10
0.0.0.0 0.0.0.0 192.168.1.254 192.168.1.38 20
10.0.0.0 255.255.255.0 10.0.0.191 10.0.0.191 10
10.0.0.191 255.255.255.255 127.0.0.1 127.0.0.1 10
10.255.255.255 255.255.255.255 10.0.0.191 10.0.0.191 10
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.1.0 255.255.255.0 192.168.1.38 192.168.1.38 20
192.168.1.38 255.255.255.255 127.0.0.1 127.0.0.1 20
192.168.1.255 255.255.255.255 192.168.1.38 192.168.1.38 20
224.0.0.0 240.0.0.0 10.0.0.191 10.0.0.191 10
224.0.0.0 240.0.0.0 192.168.1.38 192.168.1.38 20
255.255.255.255 255.255.255.255 10.0.0.191 10.0.0.191 1
255.255.255.255 255.255.255.255 192.168.1.38 192.168.1.38 1
Default Gateway: 192.168.1.254
Когда я отправляю пинг на 10.0.0.180, он отправляет arp через сетевую карту, связанную с 10.0.0.191, а когда я пингую www.google.com, он проходит через 192.168.1.254. Как это решает?
Посмотри на этот:
Использование нескольких шлюзов
Если у вас несколько интерфейсов и вы настраиваете шлюз по умолчанию для каждого интерфейса, TCP / IP по умолчанию автоматически вычисляет метрику интерфейса, основанную на скорости интерфейса. Метрика интерфейса становится метрикой маршрута по умолчанию в таблице маршрутизации для настроенного шлюза по умолчанию. Интерфейс с максимальной скоростью имеет самую низкую метрику для маршрута по умолчанию. В результате всякий раз, когда на нескольких интерфейсах настроено несколько шлюзов по умолчанию, для пересылки трафика на свой шлюз по умолчанию будет использоваться самый быстрый интерфейс.
Если несколько интерфейсов с одинаковой скоростью имеют одинаковую самую низкую метрику интерфейса, то в зависимости от порядка привязки используется шлюз по умолчанию первого сетевого адаптера. Шлюз по умолчанию для второго сетевого адаптера используется, когда первый недоступен.
В предыдущих версиях TCP / IP для нескольких шлюзов по умолчанию была установлена метрика маршрута по умолчанию, равная 1, а используемый по умолчанию шлюз зависел от порядка интерфейсов. Иногда это вызывало трудности с определением шлюза по умолчанию, используемого протоколом TCP / IP.
Ваш пинг до 10.0.0.180 переходит в 10.0.0.191 на основе третьего правила
Эта проблема возникает при одновременном подключении Wi-Fi и Ethernet. Согласно предыдущему сообщению, Ethernet работает быстрее, поэтому по умолчанию ПК хочет отправлять данные через шлюз Ethernet и не балансирует нагрузку и не использует оба пути, если один путь не ведет в Интернет.
Я хотел иметь доступ к Wi-Fi при настройке стендовых устройств. Итак, я вошел в расширенные настройки TCP для каждого адаптера, снял флажок с автоматической метрики - установил Ethernet на 15. Установите WiFi на 1. Проблема исчезла. Точно так же, как метрика OSPF для выбора предпочтительного пути.