Как Mac выбирает, какое соединение использовать, когда подключены и Wi-Fi, и Ethernet?

Когда я подключен к двум сетям с отдельными маршрутизаторами с использованием Wi-Fi и Ethernet, как мой Mac узнает, какое соединение использовать при посещении веб-сайта?

Ответы (6)

Из статьи базы данных поддержки Apple о приоритете сетевого подключения :

Если вы подключаетесь к Интернету или сети несколькими различными способами (например, с помощью Wi-Fi или Ethernet), вы можете изменить порядок конфигураций сетевых портов, которые ваш компьютер пытается подключить к Интернету или сети.

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

В этой статье поддержки также описано, как изменить порядок приоритета сетевых подключений в Системных настройках.

Если Ethernet имеет более высокий приоритет, но отключен, а Wi-Fi включен и подключен, что произойдет, когда я подключусь к Ethernet? Буду ли я отключаться от сети и снова подключаться? Или оставаться на связи через Wi-Fi?
→ Anotherdave: интерфейс Wi-Fi будет выключен (эквивалент ifconfig en1 down), а интерфейс Ethernet включен (эквивалент ifconfig en0 up). Если этот последний основан на DHCP, это вызовет запрос и ответ DHCP (< 6 с). Если какой-либо из ваших интерфейсов будет периодически отпадать, это приведет к бесконечному переключению интерфейсов и DHCP-запросам.
Это не объясняет, как пользователь может узнать, какой интерфейс сейчас используется для исходящего трафика, когда несколько интерфейсов активны и подключены.
Есть ли способ перенаправить весь ssh-трафик через Wi-Fi и оставить его через en0 (LAN)?
Просто обратите внимание. Поскольку инженеры Apple тупые, вы можете использовать только один интерфейс одновременно. И вам нужно заказать тот, который вы хотите использовать сверху. Если вы попытаетесь получить доступ к IP-адресу, который не находится на самом верхнем интерфейсе, это просто не сработает.
@JulianF.Weinert, не могли бы вы подтвердить это? Я делаю это регулярно.
это хорошая ветка. если вы подключены только через Wi-Fi, а затем подключаетесь по проводу (например, Thunderbolt к адаптеру Ethernet), и соединение Thunderbolt имеет приоритет, как реагирует macOS? Переключает ли он существующие соединения на соединение с более высоким приоритетом? он оставляет существующие там, где они есть, и только новые находятся на новом соединении? это настоящий вопрос.

Это в настройках сети . Вот скриншоты из 10.7.3.

Доступ к настройкам осуществляется с помощью шестеренки в нижней части боковой панели сетевого типа.

введите описание изображения здесь

Выберите «Установить порядок обслуживания...», чтобы перетащить их в нужный порядок.

введите описание изображения здесь

Это не объясняет, как пользователь может узнать, какой интерфейс сейчас используется для исходящего трафика, когда несколько интерфейсов активны и подключены. <br>При такой конфигурации значок Wi-Fi в строке меню может быть полностью черным, хотя на самом деле вся ваша сетевая активность идет через Ethernet ! Такая конфигурация может создать сетевую петлю, которую ни один пользователь никогда не сможет увидеть и отладить.
@danielAzuelos Конечно, но вопрос не в этом. Речь идет о том, как Mac выбирает систему, основанную на приоритетах. Если верхний работает, вы подключены. В основной сетевой панели вы можете увидеть, какие интерфейсы подключены и успешно ли это соединение. Сопоставьте это со своим списком приоритетов, и у вас должен быть ответ.
@ штатское а что если подключить/отключить сетевые интерфейсы? как ведет себя macOS? скажем, я подключен к Wi-Fi, а затем подключаюсь к Ethernet, так что теперь у меня есть и то, и другое. Что происходит с существующими и текущими соединениями? а если я сделаю наоборот? как приоритет играет во всем этом?

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

Это может привести к огромным трудностям при анализе даже самой простой проблемы в сети.

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

sysctl -a | grep forwarding

который покажет вам, проходит IPv4ли ваш Mac с одного интерфейса через другой без вашего ведома или контроля .IPv6

Насколько это возможно, определите места с интерфейсом, к которому вы хотите подключиться, и включите нужный по желанию:

Apple menu > Location > Home / AirPort
                      > Office / Ethernet
                      > outside / AirPort [unsecure]
                      > …


Когда 2 (или более) интерфейса (например , Ethernet и Wi-Fi ) помечены зеленым (подключено) внутри:

Apple menu > System Preferences… > Network

один из способов узнать, какой из них вы выбираете, чтобы выйти наружу, — это следующая команда строки (в окне Terminalили ):xterm

route get default | grep interface
Все ответы объясняют это на другом уровне. Это лучший, потому что вы можете видеть изменения, которые вносит компьютер при установке порядка через пользовательский интерфейс, как на скриншотах из @plainclothes.

Сервисный заказ не работает. Если вы проверите это, вы обнаружите, что Mac OS отдает приоритет Wi-Fi над Ethernet, даже если Ethernet установлен выше в заказе на обслуживание.

Один из способов проверить это — измерить пропускную способность (например, https://www.fast.com ) в следующих сценариях:

  1. Подключен к Wi-Fi, Ethernet отключен
  2. Подключен к Ethernet, Wi-Fi отключен
  3. Подключен к Wi-Fi и Ethernet

Вы обнаружите, что скорость №2 выше, чем у №1 и №3. Вы также обнаружите, что #1 и #3 имеют одинаковую скорость.

Единственное решение — отключить Wi-Fi при подключении через Ethernet и включить Wi-Fi при отключении Ethernet.

Этот скрипт делает это автоматически!

https://gist.github.com/albertbori/1798d88a93175b9da00b

Если у вас есть какие-либо проблемы, найдите в комментариях сообщение об ошибке, с которым вы столкнулись. Например, я получил Path had bad ownership/permissionsошибку, но решение написано в комментариях.

1. WLAN подключен -> все данные через WLAN 2. WLAN подключен + LAN подключен -> все новые данные через LAN, установленные соединения остаются WLAN.

Хотя это верно для некоторых приложений, то, что я испытал, когда подключил свой iMac к двум интернет-провайдерам — одному Wi-Fi, а другому через локальную сеть — такие приложения, как uTorrent и Games, очевидно, могли использовать обе сети одновременно. Я получил более высокую скорость загрузки, чем отдельные соединения, а в случае многопользовательских игр я мог подключаться к серверам с меньшими задержками и задержками.

BitTorrent был создан для нескольких подключений. Но почти все остальное использует только одно соединение, включая игры. Хотите доказательства? Следите за своими пакетами и за тем, какие интерфейсы они используют.

Когда мой M1 iMac прибудет, я буду подключаться к своему старому 27-дюймовому iMac 2013 года, который я храню до тех пор, пока 32-разрядная программа не будет преобразована в 64-разрядную бета-версию. Я мог бы использовать Wi-Fi или кабель Ethernet (Мой старый Mac имеет Thunderbolt-1) И я планирую передать некоторые данные с более новым iMac моей жены с кабелем Thunderbolt-3, неся свой Mac в комнату ее Mac.

Я полагаю, что Thunderbolt-3 самый быстрый, а Wi-Fi самый медленный.

Я предполагаю, что мне следует отключить Wi-Fi, пока я выполняю передачу, и это все, что мне нужно сделать. Это верно?

Привет, вы по ошибке нажали Post Your Answerкнопку, а у вас есть новый вопрос. Пожалуйста , задайте новый вопрос , описав, какая у вас проблема и что вы уже рассмотрели.