Додайте статичний псевдонім IP до інтерфейсу DHCP в Windows 8 (і вище)


16

У мене є машина Windows 8, яка має лише один порт Ethernet. Він повинен використовувати DHCP, а також потребує статичного IP. Кожен IP знаходиться в іншій підмережі, і кожен служить різній, несумісній цілі.

Ця машина повинна використовувати DHCP, оскільки адміністратор мережі сайту каже, що це єдиний підтримуваний спосіб отримати 192.168.x.yадресу. Або його мережева схема не має статичного блоку IP всередині цієї підмережі, або він не призначить одну з них цій машині.

Я не можу ризикувати статичним IP-адресом, призначеним DHCP, ставку, що він не буде перепризначений після закінчення терміну оренди. Це дозволило б мені використовувати здатність Windows призначати декілька статичних IP-адрес інтерфейсу, але це сервер виробництва, а не те, що я можу ризикувати відскочити від мережі через години чи дні.

Я усвідомлюю, що деякі сервери DHCP дозволяють вам встановлювати статичний MAC для призначення IP, так що DHCP IP моєї машини ніколи не буде перепризначений, але, оскільки я не знаю жодного сервера DHCP, який видав би два різних IP-адреси, кожен в іншій підмережі, це не допомогти тут. (І якщо є такий сервер DHCP, мій клієнт, ймовірно, не використовує його і не перейшов би на нього, якщо б я попросив.)

Оскільки я не можу це зробити повністю з DHCP, мені потрібен статичний IP, оскільки ця машина також діє як сервер для 10.x.y.zпідмережі. Адміністратори локальних мереж вже дали мені статичний IP в цій схемі, але це недостатньо , тому що мені також потрібно поговорити з 192.168.x.yбоку мережі.

Я знаю подібне питання тут . Я знову прошу, тому що:

  1. Це інше питання було поставлено, коли Windows 7 була поточною. Можливо, Microsoft використала ці 2+ роки, щоб виправити цю слабкість у реалізації мережевого стека Windows 8?

    (Так, слабкість : Linux дозволяє мережевий інтерфейс і з DHCP, і з статичним IP. Нічого про TCP / IP, що не дозволяє Microsoft дозволити це. Вони просто повинні написати код, щоб це дозволити.)

  2. Здається, GUI конфігурації мережі в Windows 8 має те саме обмеження, що і в Windows 7, але, можливо, є якийсь хакер низького рівня, який дозволить нам призначити статичний псевдонім IP для інтерфейсу DHCP?

Відповіді:


14

Нарешті DHCP і статичні IP-адреси можуть бути налаштовані співіснувати в одному NIC. Ця функція потрапила в оновлення для Windows 10 Creators (1703).

Існує нова властивість , зване dhcpstaticipcoexistenceв netsh interface ipv4 set interfaceкоманді, який може бути встановлений enabledі цей інтерфейс може бути налаштований з декількома IP - адресами статичними разом з DHCP-конфігурований IP. Однак це має бути зроблено за допомогою netsh add addressкоманди, що ще не можливо через GUI.

Про оновлення було опубліковано мало документації, netshі про це в усьому Інтернеті мало дискусій (пошук Google dhcpstaticipcoexistenceнадає лише 5 результатів на момент отримання відповіді). Але ця особливість реальна.


5
Ця відповідь була дуже корисною для мене, оскільки вона працювала через перезавантаження і здавалася гарним рішенням для першої сторони. Включити приклади команд, які слід використовувати, було б непогано. Ця відповідь була настільки близькою до того, щоб дати приклади команд, але мені довелося піти в Google, щоб з’ясувати точний синтаксис. Мої остаточні команди були netsh interface ipv4 set interface interface="Ethernet" dhcpstaticipcoexistence=enabledі netsh interface ipv4 add address "Ethernet" 192.168.1.200 255.255.255.0.
jljtgr

14

Ось точні команди, необхідні для пропозиції Сесіля, засновані на новій функції dhcpstaticipcoexistence Windows 10 :

  1. Дізнайтеся ім'я інтерфейсу:

    netsh interface ipv4 show interface
    
  2. Увімкнути dhcpstaticipcoexistence:

    netsh interface ipv4 set interface interface="interface name" dhcpstaticipcoexistence=enabled
    
  3. Додайте статичний ip-адресу у свій інтерфейс

    netsh interface ipv4 add address "interface name" 192.168.x.xxx 255.255.255.0
    
  4. Використовуйте команду 'ipconfig / all', щоб перевірити, чи додана статична ip-адреса. Ви не можете зробити це з GUI.


6

Я написав невеликий пакетний файл. Ви можете перевірити, чи працює він у вашій ситуації. (тут це чудово працює)

  • Він поверне ваш інтерфейс до DHCP.
  • Після цього він витягне IP, Subnet Mask, шлюз за замовчуванням та перший DNS-сервер. Це важкий біт. Особливо, якщо у вас кілька інтерфейсів. Якщо це не працює, нам потрібно трохи пограбувати тут, щоб змусити його працювати.
  • Якщо ви хочете і другий DNS, його слід додати сюди (але я не виглядав так далеко, тому що один DNS має бути добре зараз).
  • Він встановить ці параметри "статичними" в інтерфейсі.
  • Після цього ви можете 10.x.y.zбез проблем додати адресу у свій інтерфейс.

Ось сценарій:

@echo off
встановити інтерфейс = "Ethernet 2"
встановити extra_ip = 10.0.0.33
встановити extra_mask = 255.255.248.0

echo Налаштування% інтерфейсу% назад до DHCP
netsh int ipv4 встановити ім'я адреси =% інтерфейс% source = dhcp
netsh int ipv4 встановити ім'я dnsservers =% інтерфейс% source = dhcp

відлуння в очікуванні стабілізації IP ...
тайм-аут / т 5

echo Отримання поточного IP% інтерфейсу%
ipconfig>% temp% \ ipconfig.txt
для / f "tokens = 2 delims =:" %% a in ('введіть% temp% \ ipconfig.txt ^ | знайти "IPv4" ^ | знайти / v "127.0"') встановіть _IP = %% a
встановити IP =% _ IP: ~ 1%
для / f "tokens = 2 delims =:" %% a in ('введіть% temp% \ ipconfig.txt ^ | знайти "підмережу" ^ | знайти / v "127,0"') встановіть _IP = %% a
встановити МАСК =% _ IP: ~ 1%
для / f "tokens = 2 delims =:" %% a in ('введіть% temp% \ ipconfig.txt ^ | знайти "За замовчуванням" ^ | знайти / v "127.0" ^ | знайти / v "::"') зробіть встановити _IP = %% a
встановити GATE =% _ IP: ~ 1%
для / f "tokens = 2 delims =:" %% a in ('введіть% temp% \ ipconfig.txt ^ | знайти "DNS-сервери" ^ | find / v "127.0"') встановіть _IP = %% a
встановити DNS1 =% _ IP: ~ 1%

Налаштування ехо-адреси, маски підмережі та шлюзу за замовчуванням ...
ехо (IP% IP%, маска% MASK%, gw% GATE%)
netsh int ipv4 встановити назву адреси =% інтерфейс% статичний% IP%% MASK%% GATE% gwmetric = 1

тайм-аут / т 5
Налаштування основного DNS (% DNS1%) ...
netsh int ipv4 встановити ім'я dnsserver =% інтерфейс% статичний% DNS1% первинний

ехо Додавання вторинного IP ...
netsh int ipv4 додати адресу% інтерфейс%% extra_ip%% extra_mask%

тайм-аут / т 5
відлуння.
echo Нова конфігурація IP:
ipconfig / всі

del% temp \ ipconfig.txt

Це потрібно запускати лише один раз протягом періоду оренди (або після перезавантаження). Тож якщо ваш термін оренди становить 10 днів, ви можете встановити це в планувальнику завдань на 3 ранку в неділю та після кожного перезапуску. Якщо ваш комп'ютер вночі завжди вимкнений, він знадобиться лише після перезавантаження.


3

Одним із шляхів вирішення може бути запуск VM на одній машині та додавання до цього VM статичного IP. Це, по суті, забезпечить віртуальний адаптер на хості, але для мережі 10.xvz.

Тонкощі мережевий configufation Двійники до однієї ви запитуєте добре docunmented тут .


Ідея ВМ - полювання на метеликів кувалдою. Додавання системи VM та ліцензування Windows для використання VM було б складним та, ймовірно, дорожчим, ніж просто додавання другого NIC до машини. Мені потрібна лише 10.x.y.zадреса для обслуговування однієї програми.
Воррен Янг

Ось чому я передмовляю відповідь "одним вирішенням може бути .."; додавання VM, безумовно, спрацює. Мультихомінг очевидний; але знову ж таки, ваша ідея кардинально змінила б початкове питання. удачі
Фергюс

1

Як щодо планування сценарію для додавання IP-адреси після завантаження:

netsh interface ipv4 add address “Local Area Connection” 10.x.y.z 255.255.255.0

Чудова ідея, але я впевнений, що вимушує адаптер вийти з DHCP.
Фергюс

Я перевірив це, і @Fergus правий: мовляв, netsh interface ipv4 show addressпісля цього надається лише статичний IP. IP-адресу DHCP вже немає.
Warren Young

Ой, так, я зараз пам’ятаю. Варіантом було б отримати поточний IP, а потім додати обидва назад. Це дуже малоймовірно, що оренда DHCP не буде поновлена ​​під час активного використання (існує пільговий період, щоб цього уникнути), тому це має значення лише під час завантаження.
Павло

@Paul: Якщо я просто додаю адресу DHCP назад netsh, чи не робить це статичним IP- адресом , тому стек вікна Windows не буде продовжувати надсилати поновлення DHCP-оренди на сервер DHCP? Коли час початкової оренди закінчиться, сервер DHCP буде вільний перепризначити цю адресу.
Воррен Янг

@WarrenYoung Скільки триває оренда, яку ви отримуєте? ( ipconfig /all. для мене це 10 днів від мого маршрутизатора). Отже, якщо комп'ютер перезавантажений до закінчення оренди, це не повинно бути проблемою. В іншому випадку ви можете додати а ipconfig /releaseта ipconfig /renewвище цих рядків і запланувати її запуск на 3 ранку (коли за комп'ютером ніхто не стоїть).
Рік

0

Я використовував Win IP Config версії 2.7.2 з 2007 року, що працює в Windows 10. Встановіть свій NIC на DHCP, запустіть програму Win IP Config як адміністрацію (піктограма правої кнопки замість подвійного клацання для параметра). Потім натисніть IP + та введіть потрібну статичну ipaddress. Зараз у мене є одна DHCP і дві статичні адреси. Тепер я можу займатися розробкою вбудованої системи та отримувати доступ до Інтернету одночасно за допомогою одного NIC!


Це виглядає ... так ... тінистим ....
paquetp
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.