[25552]  NICにLANケーブルが刺さっていない状態で有効に用いる事は可能?
投稿者:くん さん   2003-05-05 19:31:22
こんにちは、くんです。
Windows上の VMWare Workstation を利用して 仮想PCを構築し
他のOSを入れて各種動作検証・実験 を行って勉強しています。
以前は 自宅にいる時間がそこそことれたのでよかったのですが、
現在はほとんど自宅にいられない状態なので、
携帯性に富んだ Let's Note Light T1 @ WinXP Pro SP1 にて
細かい空き時間を使って学習しています。

本体の10Base-T/100Base-TXの内臓LAN(Realtek 8139互換)に対し
実際にケーブルがささっていない状態だと、
静的指定IPアドレス指定で 192.168.0.x 等としておいても、
IPConfig.exe で Media disconnected 扱いとなってしまい、
有効に利用できない状態になってしまいますよね。

これ自体は別に、理論的に考えてもしごく正常な結果なのですが、
自分のPCの内部にある仮想PC とTCP/IPで通信する事も
できなくなってしまうので、結局自宅や会社などLANケーブルが
接続できる所でしか仮想PCと通信できずちょっと困っています。

ここからが本題なのですが、
NICの状態をどうにかして、ケーブルがささっていなくとも
TCP/IP通信が有効に行える状態に騙す方法・設定などないでしょうか?

あくまで目的は、自分のPC内の仮想PCとのTCP/IP通信であって、
実際に外部とLANケーブルを通ってデータ通信する訳ではないので、
ケーブルが抜けていても、内部では有効に通信できたら…という感じです。
# Windows上でのNICの "有効/無効" という表記レベルでいえば、
# デバイスとしてはケーブルが抜けていても"有効"なので
# 上手く言葉で表現できなくて申し訳ないのですが。。

しかしOSI参照モデル的に考えると、ケーブルの検知機能といった
物理層レベルの問題は、ソフトウェア的に上位層で小細工しても
やっぱり無理なのでしょうか(--;)

# または違ったアプローチで、NIC用のターミネータのような感じの小物で、
# 装着すると擬似的にNICが有効扱いになるアイテムとかないでしょうか(^^;)

最悪は、もともと興味がある Air"H" あたりを導入して 常時有効な
ネットワークアダプタを用意すれば、とかも考えましたが、自PC内の
仮想PCとやりとりするのに馬鹿らしいし最後の手段という事で...

もし、どなたか何らかの案がありましたら教えて下さると助かります。
すみませんが、どうぞよろしくお願いいたします。
  1. さかいK さん   2003-05-06 02:46:42
    1.http://homepage2.nifty.com/winfaq/w2k/network.html#1159を参考に、ケーブル抜き挿し検出をオフにする
    2.デバイスマネージャで、MicrosoftのLoopback Adapterをインストールする(MSのサポートなし(だったような)で提供している仮想NICみたいなもん)
    3.ストレートLANケーブルのコネクタから5cmくらいでぶった切って、クロスケーブルの構成を参考にしてループバックアダプタを自作する

    動作が確実なのは3>1>2の順番、お手軽なのは1>2>3の順番だと思います。
    お約束ですが、自己責任で。
  2. くん さん   2003-05-11 14:13:09
    さかいKさん、有用な情報をどうもありがとうございます。
    多忙によりお返事が遅れてしまって大変申し訳ありません。

    3. はまだ試していないのですが、
    1. と 2. については試させていただきました。

    1. のレジストリの DisableDHCPMediaSense だけでも
    質問させていただいた、LANケーブルが抜けていても
    TCP/IPを有効にしておく事はできました。

    また、2. のループバックアダプタを導入し、
    こちらに静的IPを割り振り、DHCPサーバソフトをたて、
    本来のNIC側 を自動取得(DHCP Client)にしてIPを受け取り、
    LANケーブルが抜けている状態でも、実NICのIPとループバック
    仮想NICとの間でお互いにPingが通る事を確認できました(^^)

    しかし VMWare 3.2内の仮想PCでは1. 2.どちらをやっても
    仮想PC起動時に有効な NIC として働いてくれませんでした。
    ( WinNT4、WinME、RedHat7.3 どれもだめで、eth0 bring upでfailed )
    ( VMWare側の仮想ネットワーク設定は Bridge、Host Only、NATどれも試済 )
    もしかすると VMWare側が Windows側の NICのTCP/IPの有効/無効ではなく、
    直接NICにつながるケーブルの検知を行っているのかもしれません。
     細かい検証をする時間がないので、あくまでただの憶測ですが、
    その場合は さかいKさんが示してくださった 3. を組み合わせる事で
    なんとかできそうな気がします。

    私の読み違いで、本来の目的は達成されていませんが、
    質問させていただいた「ケーブルを抜いた状態でのTCP/IP有効化」は
    さかいKさんのおかげで実現する事ができました、
    どうもありがとうございます(^^)

    今後もし何らかの方法で、解決する事ができましたら
    また報告させていただきます。
  3. SILPHEED さん   2003-05-18 11:54:03
    #前にその状態で使ってたよなぁ…と試してみてもうまくいかない。30分
    #ほど悩んでNortonInternetSecurityのせいだと気が付いた瞬間の脱力感ったら…
    んで、ケーブル挿してなくても大丈夫ですよ。以下の環境でping通って
    [ネットワークコンピュータ]が見れる(SMB程度なら通る)とこまでは
    確認してます。

    ○SONY PCG-Z1/P
    VMware 4.0 for Windows
    HOST OS WindowsXP Pro (SP1)
    Guest OS Windows98(非SE)+SP1
    NICは3つあって、うち2つは「ハード未接続&[ネットワーク接続]無効で
    全く役立たず。後の一つはケーブル抜きっぱなしでマシンを起動したため
    「ケーブル未接続」で×状態。他にはダイヤルアップ接続が存在してるけ
    ど、当然繋げてない(@FreeDのカードを挿してない)のでこれは特に関係
    ないはず。んで、生き残ってるのはVMwareのNetworkAdapter関連で、これ
    はHostOnly(VMnet1)もMAT(VMnet8)も有効。
     この状態でVMware側はVMnet1にして、GuestのWin98はIPアドレスが
    192.168.59.××、default gatewayが192.168.59.1、プライマリDNSも同
    じく192.168.59.1。
     …ってとこです。
    #HOST OS側のVMnet1のIPアドレスとか変えれば192.168.59.0/24以外でも使えたはず

     前は、VMware3.1あたり+HostOS Win2K+GuestOS FreeBSDってので仕事
    に使ってたのでHostOSがLinux(or FreeBSD)でもない限り大丈夫だと思
    います。
    #その時にやってたのが、ftpで入って中のファイル根こそぎ拾ってから
    #消しまくるってのだったんで、あぶなくてケーブル繋いだ状態ではテス
    #トできんかった(--;。
  4. SILPHEED さん   2003-05-18 11:56:11
    >MAT(VMnet8)
    言うまでもないような気がしますが、「NAT(VMnet8)」です