DHCPを使用してLANに接続しています。時々、DHCPを使用するように設定されていないオフィスに誰かが持ってきたラップトップに到達する必要があります。これまでのところ、私は次のことをする必要があります:
私の古いコンピューター(Windows XP)で、ネットワークカードを構成して2番目のIP /マスクを同時に使用するトリックを見つけたので、顧客のラップトップ設定をいじる必要はありません。残念ながら、リンクを失い、適切な検索語句が見つからないため、再度検索できません。
どうすればそれを達成できますか?
編集:リンク( 仮想IPアドレスの構成 )が見つかりましたが、Windows 7のボックスでは手順が機能しません:ipconfig /all
は新しいアドレスを表示せず、自分自身にpingすることもできません:(
2番目のIPを正気に追加できますNICifNIC is DHCPに設定されていません。
つまり、次のいずれかです。
(XPの場合)
(win7では)
http://answers.Microsoft.com はこれをwin 7のCシャープソリューションとして持っています:
しかし、それがなぜ機能するのか、どのように機能するのか、またはどのように使用する必要があるのかについては説明がありません。
パブリッククラスIPAdder { [DllImport( "iphlpapi.dll"、EntryPoint = "AddIPAddress"、SetLastError = true)] private static extern UInt32 MyAddIPAddress( UInt32アドレス、UInt32 IpMaskint、int IfIndex、 out IntPtr NTEContext、out IntPtr NTEInstance); public IPAdder() {} public static void AddIPAddress(String IPAddress、String SubnetMask、int ifIndex) { System.Net。 IPAddress IPAdd = System.Net.IPAddress.Parse(IPAddress ); System.Net。 IPAddress SubNet = System.Net.IPAddress.Parse(SubnetMask); unsafe { int MyNTEContext = 0; int MyNTEInstance = 0; IntPtr ptrMyNTEContext = new IntPtr(MyNTEContext); IntPtr ptrMyNTEInstance = new IntPtr(MyNTEInstance); UInt32 Result = MyAddIPAddress( (uint)IPAdd.Address、 (uint)SubNet.Address、ifIndex、out ptrMyNTEContext、out ptrMyNTEInstance); }; } } public IPAddress Get37() { IPAddress ipa = IPAddress.Any; //ネットワークインターフェイスを確認 foreach(NetworkInterface.GetAllNetworkInterfaces()) { if((ni.OperationalStatus!= OperationalStatus.Up)|| (ni.NetworkInterfaceType == NetworkInterfaceType.Loopback)|| (ni.NetworkInterfaceType = = NetworkInterfaceType.Tunnel)) continue; if((ni.Description.IndexOf( "virtual"、StringComparison.OrdinalIgnoreCase)> = 0)|| (ni.Name.IndexOf( "virtual"、StringComparison.OrdinalIgnoreCase)> = 0)) continue; if(ni.Description.Equals( "Microsoft Loopback Adapter "、StringComparison.OrdinalIgnoreCase)) continue; IPInterfacePr operties ipip = ni.GetIPProperties(); bool found37 = false; foreach(ipip.UnicastAddressesのIPAddressInformation unic) { string strip = unic.Address .ToString(); if(strip == "37.0.0.1") { ipa = unic.Address; found37 = true; break; } } if(!found37) { IPAdder.AddIPAddress( "37.0.0.1 "、" 255.255.255.0 "、 (int)(uint)ni.GetType()。GetField(" index "、System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(ni)); ipa = IPAddress.Parse( "37.0.0.1"); } break; } return ipa; }
[Edit2]
外部ソフトウェアが許可されている場合、 Win IP config がその仕事をしているようです。
(スクリーンショットはv2.7からのものでした。リンクがv4に変更されました)。
複数のネットワーク接続を確立するための代替構成機能。オフィスや自宅でモバイルコンピューターを使用している場合は、代替構成機能を使用できます。オフィスにいるときは、コンピューターはDHCPによって割り当てられたTCP/IP構成を使用します。自宅(DHCPサーバーにアクセスできない場所)にいるとき、コンピューターは自動的に代替構成を使用します。
代替構成機能の使用代替構成機能を使用するには:
Microsoft に触発されました
ルーティングテーブルを「完全に」編集することをお勧めします。このようにして、接続を変更せずにDHCP構成を変更せずに使用して、接続されたラップトップのルーティングオプションを追加することができます。
route -p ADD <the IP of the laptop> mask 255.255.255.255 <your PC's IP> <some metric value> <your PC IP>
もちろん、必要に応じて、ホストルートの代わりにサブネットルーティングを選択することもできます。
Windowsの手順XPレジストリの編集を含み、 仮想IPアドレスの構成 で説明されています。
ただし、スタックオーバーフローに関するこの質問によると( Windows7で仮想ネットワークインターフェイスを構成することは可能ですか? )、セキュリティ上の理由から、この機能はVistaでは無効になっています。どうやら、サードパーティのカスタマードライバーを使用しない限り、これを行う方法はありません。