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

104

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

Саару Линдестёкке
источник

Ответы:

82

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

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

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

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

Дэвид
источник
1
Если Ethernet имеет более высокий приоритет, но отключен, а Wi-Fi включен и подключен, что произойдет, когда я подключусь к Ethernet? Буду ли я отключиться от сети и восстановить соединение? Или оставаться на связи через Wi-Fi?
anotherdave
1
→ AnotherDave: интерфейс Wi-Fi будет выключен (эквивалентно ifconfig en1 down), а интерфейс Ethernet будет включен (эквивалентно ifconfig en0 up). Если этот последний основан на DHCP, это вызовет запрос и ответ DHCP (<6 с). Если какой-либо из ваших интерфейсов имеет прерывистое пропадание, это приведет к бесконечному переключению интерфейсов и запросам DHCP.
Дан
2
Это не объясняет, как пользователь может узнать, какой интерфейс теперь используется для исходящего трафика, когда несколько интерфейсов активны и подключены.
Дан
1
Есть ли способ маршрутизации всего трафика ssh через wifi и отдыха через en0 (LAN)?
БТР Найду
70

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

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

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

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

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

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

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

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

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

sysctl -a | grep forwarding

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

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

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
Дан
источник
2
Все ответы объясняют это на другом уровне. Это лучший вариант, потому что вы можете видеть изменения, которые вносит компьютер при установке порядка через пользовательский интерфейс, как на скриншотах @plainclothes
J.Money
-1

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

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