Несколько шлюзов по умолчанию в Windows

Несколько шлюзов по умолчанию в Windows

У меня есть изготовленный на заказ инструмент для визуализации, к которому я подключаюсь с помощью кабеля Ethernet, и чтобы он заработал, мне нужно установить статический IP и шлюз на сетевом интерфейсе моего ноутбука, подключенного к устройству. Связь идет по UDP.

Теперь к проблеме. Чтобы использовать VPN, мне также нужно сменить шлюз. На этот раз на сетевом интерфейсе Wi-Fi.

Когда я это делаю, Windows показывает мне сообщение о том, что используется несколько шлюзов. Я не уверен, насколько это проблема. Однако иногда VPN, похоже, не работает.

  1. Является ли наличие нескольких шлюзов проблемой?

  2. Является ли шлюз «универсальным» для моего хоста или каждый сетевой интерфейс может иметь свой шлюз?

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

Возврат route print -4:

===========================================================================
    Interface List
     12...00 1c 42 27 1c 2c ......Intel(R) 82574L Gigabit Network Connection
      1...........................Software Loopback Interface 1
    ===========================================================================
    
    IPv4 Route Table
    ===========================================================================
    Active Routes:
    Network Destination        Netmask          Gateway       Interface  Metric
              0.0.0.0          0.0.0.0      10.211.55.1     10.211.55.15     25
          10.211.55.0    255.255.255.0         On-link      10.211.55.15    281
         10.211.55.15  255.255.255.255         On-link      10.211.55.15    281
        10.211.55.255  255.255.255.255         On-link      10.211.55.15    281
            127.0.0.0        255.0.0.0         On-link         127.0.0.1    331
            127.0.0.1  255.255.255.255         On-link         127.0.0.1    331
      127.255.255.255  255.255.255.255         On-link         127.0.0.1    331
            224.0.0.0        240.0.0.0         On-link         127.0.0.1    331
            224.0.0.0        240.0.0.0         On-link      10.211.55.15    281
      255.255.255.255  255.255.255.255         On-link         127.0.0.1    331
      255.255.255.255  255.255.255.255         On-link      10.211.55.15    281
    ===========================================================================
    Persistent Routes:
      Network Address          Netmask  Gateway Address  Metric
              0.0.0.0          0.0.0.0      192.168.1.2      90
              0.0.0.0          0.0.0.0      192.168.1.2      90
              0.0.0.0          0.0.0.0     192.168.11.2      90
    ===========================================================================

Мне интересно, почему в конце две одинаковые строки:

     0.0.0.0          0.0.0.0      192.168.1.2      90
      0.0.0.0          0.0.0.0      192.168.1.2      90

решение1

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

Вы не делаете этого. Устройство уже находится в вашей локальной подсети и имеет правильныйсетевая маскауже дает вам маршрут к нему. (Например, ваш вывод имеет 10.211.55.0 / 255.255.255.0 / On-linkмаршрут.)

«Шлюз по умолчанию» используется только для доступа к устройствамнетв локальной подсети.

Является ли шлюз «универсальным» для моего хоста или каждый сетевой интерфейс может иметь свой шлюз?

"Шлюз" индивидуален для каждого маршрута. Я предполагаю, что вы на самом деле спрашиваете о "по умолчаниюшлюз», т.е. конкретно о шлюзах, подключенных к этим 0.0.0.0/0маршрутам.

Теоретически каждый интерфейс может иметь свой собственный шлюз по умолчанию,еслиОС имела дополнительную логику для выбора маршрутов, также учитываяисточникIP-адрес пакета.

Но обычно, как вы можете видеть в routeвыводе, маршруты сопоставляются только с их пунктом назначения, поэтому, если у вас есть несколько «маршрутов по умолчанию», они будут иметь приоритет на уровне всего хоста; один шлюз будет использоваться для всего (даже если в конечном итоге это будет неправильный выбор!), другие не будут использоваться вообще.

Могут быть исключения:

  • ядуматьWindows учитывает исходящий интерфейс при выборе того, какой из нескольких маршрутов по умолчанию использовать. Однако я не нашел никакой официальной документации по этому поводу и не проверял это экспериментально – только «слышал об этом».

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

  • То же самое касается и FreeBSD. Я уверен, что слышал о поддержке multihoming и выборе правильного интерфейса, по крайней мере для ответов, но у меня нет источников, подтверждающих это.

  • Между тем, Linux явно позволяет сопоставлять маршруты по источникуиdestination – но только для IPv6, а не для IPv4. Например, маршрут v6 по умолчанию в Linux на самом деле ::/0 from ::/0и вы можете добавить более конкретный, ::/0 from 2001:db8::/48который прокладывает маршруты через другой шлюз.

  • Linux также поддерживает «политическую маршрутизацию», которая добавляет дополнительный уровень логики сверху – может быть несколько маршрутовтаблицы, каждый со своим собственным 0.0.0.0/0 "маршрутом по умолчанию", и правила политики могут решить, какую таблицу использовать. Настройка этого обычно вызывает немного головной боли. (Но это работает так же для IPv6иIPv4.)

решение2

Если ваша проблема заключается в том, что «иногда VPN не работает», вы можете добавить статический маршрут к IP-адресу вашего VPN-сервера через интерфейс Wi-Fi.

Связанный контент