web-dev-qa-db-fra.com

Comment savoir quelle interface réseau mon ordinateur utilise?

Sur un MBP (OS X 10.6.2), les configurations Ethernet câblé et aéroport sans fil sont configurées pour utiliser la même adresse IP statique sur mon routeur (par exemple, comme décrit à l’adresse http://forums.macrumors.com /archive/index.php/t-708685.html ). J'ai également défini l'ordre de service de sorte que la connexion filaire soit au-dessus de l'aéroport (par exemple, comme décrit à la section Mac OS X éteint automatiquement l'aéroport si un câble Ethernet est branché ).

Cela semble "fonctionner": une connexion ssh ouverte vers un emplacement distant reste active tant que je branche et débranche le câble Ethernet. Cependant, étant donné que la carte Airport reste active (et connectée au routeur), que la connexion filaire soit présente ou non, comment puis-je savoir que l'interface filaire est réellement la connexion "active" lorsqu'elle est disponible? Puisque l'adresse IP est la même pour les deux, est-ce une garantie que l'interface sans fil ne peut pas être utilisée? Existe-t-il un autre moyen de savoir si cette interface est utilisée?

PS Je vais poster une réponse (partielle) dès que je posterai ceci, car l'acte de l'écrire et de vérifier tous mes faits m'amène à un aperçu. (La partie la plus intéressante et sans réponse est en gras ci-dessus.)

24
Ether

Voici un dump de ifconfig -a dans chaque situation (je soulignerai les différences par la suite):

Le câble Ethernet est branché:

 lo0: drapeaux = 8049 mtu 16384 
 inet6 :: 1 préfixlen 128 
 inet6 xxxx :: 1% lo0 préfixlen 64 scopeid 0x1 
 inet 127.0.0.1 masque de réseau 0xff000000 
 gif0: drapeaux = 8010 mtu 1280 
 stf0: drapeaux = 0 mtu 1280 
 en0: drapeaux = 8863 mtu 1500 
 inet6 xxxx% en0 préfixe 64 scopeid 0x4 
 inet 192.168.0.110 masque de réseau 0xffffff00 diffusion 192.168.0.255 
 ether xx: xx: xx: xx: xx: xx: xx 
 média: sélection automatique (100baseTX): actif 
 supports pris en charge: aucun autoselect 10baseT/UTP 10baseT/UTP 10baseT/UTP 10baseT/UTP 100baseTX 100baseTX 100baseTX 100baseTX 1000baseT 1000baseT 1000baseT 
 fw0: flags = 8863 mtu 4078 [.____.:. xx: xx 
 support: sélection automatique du statut: inactif 
 support pris en charge: sélection automatique 
 en1: drapeaux = 8863 mtu 1500 
 inet6 xxxx% en1 prefixlen 64 scopeid 0x6 
 inet 192.168.0.110 masque de réseau 0xffffff00 broadcast 192.168.0.255 
 Ether xx: xx: xx: xx: xx: xx 
 Support: statut de sélection automatique: actif 
 Support pris en charge: sélection automatique 

Le câble Ethernet est débranché:

 lo0: drapeaux = 8049 mtu 16384 
 inet6 :: 1 préfixlen 128 
 inet6 xxxx :: 1% lo0 préfixlen 64 scopeid 0x1 
 inet 127.0.0.1 masque de réseau 0xff000000 
 gif0: drapeaux = 8010 mtu 1280 
 stf0: drapeaux = 0 mtu 1280 
 en0: drapeaux = 8863 mtu 1500 
 éther xx: xx: xx: xx: xx: xx 
 support: auto-sélectionner statut: inactif 
 support pris en charge: aucun auto-sélectionner 10baseT/UTP 10baseT/UTP 10baseT/UTP 10baseT/UTP 100baseTX 100baseTX 100baseTX 100baseTX 1000baseT 1000baseT 1000baseT 1000baseT. flags = 8863 mtu 4078 
 lladdr xx: xx: xx: xx: xx: xx: xx 
 support: statut auto sélectionné: inactif 
 support pris en charge: sélection automatique 
 en1: drapeaux = 8863 mtu 1500 
 Inet6 xxxx% en1 prefixlen 64 scopeid 0x6 
 Inet 192.168.0.110 masque de réseau 0xffffff00 diffusé 192.168.0.255 
 Ether xx: xx: xx: xx: xx: xx: xx: xx 
 support: statut de sélection automatique: actif 
 support pris en charge: sélection automatique t 

diff plugged unplugged indique que la connexion filaire devient active lorsqu'elle est disponible:

8,9d7
<   inet6 xxxx%en0 prefixlen 64 scopeid 0x4 
<   inet 192.168.0.110 netmask 0xffffff00 broadcast 192.168.0.255
11c9
<   media: autoselect (100baseTX <full-duplex,flow-control>) status: active
---
>   media: autoselect status: inactive
8
Ether

La référence définitive pour des questions telles que "Quelle interface sera utilisée pour atteindre l'hôte w.x.y.z?" pour un moment donné ou une situation est de se référer à la table de routage.

[mini-nevie:~] nevinwilliams% route get 10.10.10.10
   route to: 10.10.10.10
destination: default
       mask: default
    gateway: 192.168.2.1
  interface: en0
      flags: <UP,GATEWAY,DONE,STATIC,PRCLONING>
 recvpipe  sendpipe  ssthresh  rtt,msec    rttvar  hopcount      mtu     expire
       0         0         0         0         0         0      1500         0 

J'ai activé en0 et en1, et en0 est le premier dans l'ordre de service. En débranchant mon ethernet, sans autre changement, la même commande donne:

mini-nevie:~] nevinwilliams% route get 10.10.10.10
   route to: 10.10.10.10
destination: default
       mask: default
    gateway: 192.168.2.1
  interface: en1
      flags: <UP,GATEWAY,DONE,STATIC,PRCLONING>
 recvpipe  sendpipe  ssthresh  rtt,msec    rttvar  hopcount      mtu     expire
       0         0         0         0         0         0      1500         0 
26
Nevin Williams

J'utilise ceci:

if=$(route -n get 0.0.0.0 2>/dev/null | awk '/interface: / {print $2}')

if [ -n "$if" ]; then
    echo "Default route is through interface $if"
else
    echo "No default route found"
fi
12
mivk

Un certain nombre de choses. Mac utilisera toujours les connexions réseau dans l'ordre indiqué dans votre profil "Connexions réseau". Par exemple, si Ethernet est au-dessus de Sans fil, Ethernet prendra le relais.

Je ne suis pas sûr de la façon dont fonctionne SSH, mais de mon expérience. Si une connexion échoue ou se déconnecte, SSH utilisera alors l’autre connexion.

Si vous voulez vraiment voir si les connexions sont actives, vous devez utiliser un utilitaire de surveillance de la bande passante. Un excellent est iStat ( http://www.islayer.com/apps/istatmenus/ ).

6
Steven Lu

J'ai utilisé ces conseils pour que les adresses IP soient identiques pour Ethernet et WiFi, définissez l'ordre de service comme suggéré et utilisez simplement Utilitaire de réseau> Informations sur en0 et en1.

J'ai lancé une sauvegarde TimeMachine et, sous Utilitaire de réseau> Info> en0 Ethernet, j'ai constaté que des milliers de paquets se déplaçaient via la connexion Ethernet, tandis que Utilitaire de réseau> Info> en1 WiFi ne bougeait plus.

Merci de m'avoir orienté dans la bonne direction. Lorsque la sauvegarde TimeMachine est terminée, je reviens à des adresses IP distinctes et vérifie si Mac continue de tout déplacer via Ethernet.

La question initiale était "Comment puis-je savoir quelle interface réseau mon ordinateur utilise?" Utilitaire de réseau a fonctionné pour moi.

Macbook Pro 17 "mi-2010, Mountain Lion

0
Gigapig