Вы можете добавить второй IP-адрес к правильному NIC, если NIC не установлен на DHCP.
Это означает, что вы либо:
- Нужно получить фиксированный IP для вашего рабочего ноутбука, чтобы вы могли это сделать.
- перейти к началу, настройки, панель управления, сетевые подключения
- Выберите ЛВС и перейдите в свойства
- Перейдите в раздел "Дополнительно", вкладка "Настройки IP" и добавьте второй IP
- Или еще надо:
- запишите текущий IP/ маску сети
- перейти к началу, настройки, панель управления, сетевые подключения.
- Выберите ЛВС и перейдите в свойства.
- Снимите флажок DHCP. Установите ручной IP как написано собственно на первом шаге.
- Перейдите в раздел "Дополнительно", вкладка "Настройки IP" и добавьте второй IP.
- Или используйте вторую сетевую карту для второго IP (обычно самый простой способ)
- Или установите дополнительное программное обеспечение для большего управления сетью.
Я предполагаю, что последнее не вариант в корпоративных сетях.
- Или вы можете установить виртуальную машину и настроить ее на альтернативный IP. (Вероятно, полезно, только если вы уже используете виртуальную машину и не хотите разрывать существующие соединения с вашего основного рабочего стола).
(В XP)
(В win7)
http://answers.microsoft.com имеет это как C Sharp решение для победы 7:
Однако у него нет объяснения, почему он работает, как он работает или как его использовать.
public class IPAdder
{
[DllImport("iphlpapi.dll", EntryPoint = "AddIPAddress", SetLastError = true)]
private static extern UInt32 MyAddIPAddress(UInt32 Address, 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;
// check network interfaces
foreach (NetworkInterface ni in 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;
IPInterfaceProperties ipip = ni.GetIPProperties();
bool found37 = false;
foreach (IPAddressInformation unic in ipip.UnicastAddresses)
{
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).