MBP(OS X 10.6.2)では、ルーターに同じ静的IPを使用するように有線イーサネットと無線空港の構成を設定しました(例: http://forums.macrumors.com /archive/index.php/t-708685.html )。有線接続が空港より上になるようにサービスオーダーを設定しました(例: イーサネットケーブルが接続されている場合、Mac OS Xは自動的に空港をオフにします )。
これは「機能」しているようです。イーサネットケーブルを接続したり取り外したりしても、リモートロケーションへのオープンssh接続は維持されます。ただし、有線接続が存在するかどうかに関係なく、Airportカードはライブ(およびルーターに接続)されたままなので、有線インターフェイスが使用可能なときに実際に「アクティブ」接続であることをどのように確認できますか? 両方のIPアドレスが同じであるため、これは無線インターフェースが使用できないことの保証ですか?このインターフェイスが使用中かどうかを確認する他の方法はありますか?
PS。これを投稿してすべての事実を確認するという行為からいくつかの洞察が得られるので、これを投稿したらすぐに(部分的な)回答を投稿します。 (より興味深く未回答の部分は上記の太字で示されています。)
これは、各状況でのifconfig -a
のダンプです(後で違いを強調します)。
イーサネットケーブルが接続されている:
lo0:flags = 8049 mtu 16384 inet6 :: 1 prefixlen 128 inet6 xxxx :: 1%lo0 prefixlen 64 scopeid 0x1 inet 127.0.0.1ネットマスク0xff000000 gif0:flags = 8010 mtu 1280 stf0:flags = 0 mtu 1280 en0:flags = 8863 mtu 1500 inet6 xxxx%en0 prefixlen 64 scopeid 0x4 inet 192.168.0.110 netmask 0xffffff00 broadcast 192.168.0.255 ether xx:xx:xx:xx:xx:xx media:autoselect(100baseTX)status:active サポートされるメディア:なしautoselect 10baseT/UTP 10baseT/UTP 10baseT/UTP 10baseT/UTP 100baseTX 100baseTX 100baseTX 100baseTX 1000baseT 1000baseT 1000baseT fw0:flags = 8863 mtu 4078 lladdr xx:xx:xx:xx: xx:xx media:autoselect status:inactive supported media:autoselect en1:flags = 8863 mtu 1500 inet6 xxxx%en1 prefixlen 64 scopeid 0x6 inet 192.168.0.110ネットマスク0xffffff00ブロードキャスト192.168.0.255 ether xx:xx:xx:xx:xx:xx media:autoselect status:active supported media:autoselect
イーサネットケーブルが接続されていません:
lo0:flags = 8049 mtu 16384 inet6 :: 1 prefixlen 128 inet6 xxxx :: 1%lo0 prefixlen 64 scopeid 0x1 inet 127.0.0.1ネットマスク0xff000000 gif0:flags = 8010 mtu 1280 stf0:flags = 0 mtu 1280 en0:flags = 8863 mtu 1500 ether xx:xx:xx:xx: xx:xx メディア:自動選択ステータス:非アクティブ サポートされるメディア:なし自動選択10baseT/UTP 10baseT/UTP 10baseT/UTP 10baseT/UTP 100baseTX 100baseTX 100baseTX 100baseTX 1000baseT 1000baseT 1000baseT fw0: flags = 8863 mtu 4078 lladdr xx:xx:xx:xx:xx:xx media:autoselect status:inactive supported media:autoselect en1:flags = 8863 mtu 1500 inet6 xxxx%en1 prefixlen 64 scopeid 0x6 inet 192.168.0.110 netmask 0xffffff00 broadcast 192.168.0.255 ether xx:xx:xx:xx:xx:xx メディア:自動選択ステータス:アクティブ サポートされるメディア:autoselec t
diff plugged unplugged
は、有線接続が利用可能な場合に有線接続がアクティブになることを示しています。
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
「どのインターフェイスを使用してホストw.x.y.zに到達するか」などの質問の決定的なリファレンス特定の時間または状況でルーティングテーブルを参照することです。
[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
En0とen1の両方を有効にしました。en0はサービス注文の最初です。私のイーサネットを取り外し、他の変更を行わず、同じコマンドで次のようになります:
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
私はこれを使います:
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
いくつかのこと。 Macは常に「ネットワーク接続」プロファイルにリストされている順序でネットワーク接続を使用します。たとえば、イーサネットがワイヤレスの上にある場合、イーサネットが引き継ぎます。
SSHがどのように機能するかはわかりませんが、私の経験からです。 1つの接続が失敗または切断すると、SSHは他の接続を使用します。
接続がアクティブかどうかを本当に確認したい場合は、帯域幅監視ユーティリティを使用する必要があります。すばらしいのはiStat( http://www.islayer.com/apps/istatmenus/ )です。
私はアドバイスを使用してイーサネットとWiFiのIPアドレスを同じにし、提案されたようにサービス注文を設定し、en0とen1でNetwork Utility> Infoを使用しました。
TimeMachineバックアップを開始したところ、ネットワークユーティリティ>情報> en0イーサネットで、ネットワーク接続>情報> en1 WiFi何も移動していないのに、数千のパケットがイーサネット接続を通過していることがわかりました。
私を正しい方向に向けてくれてありがとう。 TimeMachineのバックアップが完了したら、別のIPアドレスに戻し、Macがすべてを自動的にイーサネット経由で移動するかどうかを確認します。
元の質問は「自分のコンピューターが使用しているネットワークインターフェイスを確認するにはどうすればよいですか?」ネットワークユーティリティは私のために働いた。
Macbook Pro 17インチ2010年中期、マウンテンライオン