
У меня есть изготовленный на заказ инструмент для визуализации, к которому я подключаюсь с помощью кабеля Ethernet, и чтобы он заработал, мне нужно установить статический IP и шлюз на сетевом интерфейсе моего ноутбука, подключенного к устройству. Связь идет по UDP.
Теперь к проблеме. Чтобы использовать VPN, мне также нужно сменить шлюз. На этот раз на сетевом интерфейсе Wi-Fi.
Когда я это делаю, Windows показывает мне сообщение о том, что используется несколько шлюзов. Я не уверен, насколько это проблема. Однако иногда VPN, похоже, не работает.
Является ли наличие нескольких шлюзов проблемой?
Является ли шлюз «универсальным» для моего хоста или каждый сетевой интерфейс может иметь свой шлюз?
На самом деле это виртуальная машина 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.