Tambahkan alias IP statis ke antarmuka DHCP pada Windows 8 (dan di atas)

16

Saya memiliki mesin Windows 8 yang hanya memiliki satu port Ethernet. Perlu menggunakan DHCP dan juga membutuhkan IP statis. Setiap IP berada dalam subnet yang berbeda, dan masing-masing melayani tujuan yang berbeda dan tidak kompatibel.

Mesin ini harus menggunakan DHCP karena admin jaringan situs mengatakan ini adalah satu-satunya cara yang didukung untuk mendapatkan 192.168.x.yalamat. Entah skema jaringannya tidak memiliki blok IP statis di dalam subnet itu, atau dia tidak akan menetapkan salah satu dari mereka ke mesin ini.

Saya tidak bisa mengambil risiko menggunakan IP yang ditetapkan DHCP secara statis, bertaruh itu tidak akan dipindahkan setelah masa sewa berakhir. Itu akan membiarkan saya menggunakan kemampuan Windows untuk menetapkan beberapa IP statis ke antarmuka, tetapi ini adalah server produksi, bukan sesuatu yang saya bisa mengambil risiko terpental jam jaringan atau hari kemudian.

Saya menyadari bahwa beberapa server DHCP memungkinkan Anda mengatur MAC statis untuk penugasan IP, sehingga DHCP IP mesin saya tidak pernah dipindahkan, tetapi karena saya tahu tidak ada server DHCP yang akan mengeluarkan dua alamat IP yang berbeda, masing-masing dalam subnet yang berbeda, itu bukan bantu disini (Dan jika ada server DHCP seperti itu, klien saya mungkin tidak menggunakannya dan tidak akan mengubahnya jika saya bertanya.)

Karena saya tidak bisa melakukan ini sepenuhnya dengan DHCP, saya perlu IP statis karena mesin ini juga bertindak sebagai server ke 10.x.y.zsubnet. Admin jaringan lokal telah memberi saya IP statis dalam skema itu, tetapi itu tidak cukup karena saya juga perlu berbicara dengan 192.168.x.ysisi jaringan.

Saya menyadari pertanyaan serupa di sini . Saya bertanya lagi karena:

  1. Pertanyaan lain diajukan ketika Windows 7 saat ini. Mungkin Microsoft menggunakan 2+ tahun itu untuk memperbaiki kelemahan ini dalam implementasi tumpukan jaringan Windows 8?

    (Ya, kelemahan : Linux memungkinkan antarmuka jaringan dengan DHCP dan IP statis. Tidak ada apapun tentang TCP / IP yang mencegah Microsoft mengizinkan ini. Mereka hanya perlu menulis kode untuk mengizinkannya.)

  2. Tampaknya konfigurasi jaringan GUI di Windows 8 memiliki batasan yang sama dengan Windows 7, tetapi mungkin ada beberapa peretasan tingkat rendah yang akan memungkinkan kita menetapkan alias IP statis ke antarmuka DHCP?

Warren Young
sumber

Jawaban:

13

Akhirnya DHCP dan IP statis dapat dikonfigurasi untuk hidup berdampingan pada satu NIC. Fitur ini telah masuk dalam Pembaruan Windows 10 Creators (1703).

Ada properti baru yang disebut dhcpstaticipcoexistencedalam netsh interface ipv4 set interfaceperintah, yang dapat diatur ke enableddan antarmuka ini dapat dikonfigurasi dengan beberapa IP statis bersama dengan IP yang dikonfigurasi DHCP. Namun ini harus dilakukan dengan netsh add addressperintah, belum dimungkinkan melalui GUI.

Sedikit dokumentasi yang telah dipublikasikan tentang pembaruan netshdan ada sedikit diskusi tentang hal itu di seluruh Internet (pencarian Google dhcpstaticipcoexistencehanya memberikan 5 hasil pada saat jawaban ini). Tetapi fitur ini nyata.

Cecil
sumber
5
Jawaban ini sangat berguna bagi saya karena berfungsi di seluruh reboot dan sepertinya solusi pihak pertama yang bagus. Termasuk contoh-contoh dari perintah yang digunakan pasti menyenangkan. Jawaban ini sangat dekat dengan memberikan contoh perintah, tetapi saya harus pergi ke Google untuk mencari tahu sintaks yang tepat. Perintah terakhir saya adalah netsh interface ipv4 set interface interface="Ethernet" dhcpstaticipcoexistence=enableddan netsh interface ipv4 add address "Ethernet" 192.168.1.200 255.255.255.0.
jljtgr
13

Berikut adalah perintah tepat yang diperlukan untuk saran Cecil berdasarkan fitur dhcpstaticipcoexistence baru Windows 10 :

  1. Cari tahu nama antarmuka:

    netsh interface ipv4 show interface
    
  2. Aktifkan dhcpstaticipcoexistence:

    netsh interface ipv4 set interface interface="interface name" dhcpstaticipcoexistence=enabled
    
  3. Tambahkan alamat ip statis ke antarmuka Anda

    netsh interface ipv4 add address "interface name" 192.168.x.xxx 255.255.255.0
    
  4. Gunakan perintah 'ipconfig / all' untuk memverifikasi alamat ip statis yang ditambahkan. Anda tidak dapat melakukannya dari GUI.

Michael Zhang
sumber
6

Saya menulis file batch kecil. Anda dapat menguji untuk melihat apakah itu berfungsi dalam situasi Anda. (ini berfungsi dengan baik)

  • Ini akan mengatur antarmuka Anda kembali ke DHCP.
  • Setelah itu akan mengekstrak IP, Subnet Mask, Default Gateway dan DNS-server pertama. Ini adalah bagian yang sulit. Terutama jika Anda memiliki banyak antarmuka. Jika tidak berhasil, kita perlu sedikit bermain-main di sini untuk membuatnya bekerja.
  • Jika Anda ingin DNS kedua juga harus ditambahkan di sini (tetapi saya tidak melihat sejauh itu karena satu DNS harus baik untuk saat ini).
  • Ini akan mengatur pengaturan ini "statis" pada antarmuka.
  • Setelah itu Anda dapat menambahkan 10.x.y.zalamat ke antarmuka Anda tanpa masalah.

Ini skripnya:

@echo mati
set interface = "Ethernet 2"
atur extra_ip = 10.0.0.33
atur extra_mask = 255.255.248.0

echo Setting% interface% kembali ke DHCP
netsh int ipv4 set nama alamat =% antarmuka% sumber = dhcp
netsh int ipv4 set nama dnsservers =% antarmuka% sumber = dhcp

echo Menunggu IP stabil ...
batas waktu / t 5

echo Mendapatkan IP saat ini dari% antarmuka%
ipconfig>% temp% \ ipconfig.txt
untuk / f "token = 2 delims =:" %% a in ('ketik% temp% \ ipconfig.txt ^ | find "IPv4" ^ | find / v "127.0"') lakukan set _IP = %% a
atur IP =% _ IP: ~ 1%
untuk / f "token = 2 delims =:" %% a in ('ketik% temp% \ ipconfig.txt ^ | find "Subnet" ^ | find / v "127.0"') lakukan set _IP = %% a
set MASK =% _ IP: ~ 1%
untuk / f "token = 2 delims =:" %% a in ('ketik% temp% \ ipconfig.txt ^ | find "Default" ^ | find / v "127.0" ^ | find / v "::"') jangan setel _IP = %% a
atur GATE =% _ IP: ~ 1%
untuk / f "token = 2 delims =:" %% a in ('ketik% temp% \ ipconfig.txt ^ | find "Server DNS" ^ | find / v "127.0"') lakukan set _IP = %% a
atur DNS1 =% _ IP: ~ 1%

echo Mengatur Alamat IP, Subnet Mask, dan Gerbang Default ...
gema (IP% IP%, mask% MASK%, gw% GATE%)
netsh int ipv4 set nama alamat =% antarmuka% statis% IP%% MASK%% GATE% gwmetric = 1

batas waktu / t 5
echo Mengatur DNS Primer (% DNS1%) ...
netsh int ipv4 set nama dnsserver =% antarmuka% statis% DNS1% primer

echo Menambahkan IP sekunder ...
netsh int ipv4 tambahkan alamat% antarmuka%% extra_ip%% extra_mask%

batas waktu / t 5
gema.
gema Konfigurasi IP baru:
ipconfig / all

del% temp \ ipconfig.txt

Anda hanya perlu menjalankan ini sekali dalam periode sewa Anda (atau setelah restart). Jadi, jika sewa Anda adalah 10 hari, Anda bisa mengatur ini di penjadwal tugas selama 3 pagi pada hari Minggu dan setelah setiap restart. Jika komputer Anda selalu mati di malam hari, itu hanya akan diperlukan setelah restart.

Rik
sumber
3

Salah satu solusinya adalah menjalankan VM di mesin yang sama dan menambahkan IP statis ke VM itu. Ini pada dasarnya akan menyediakan adaptor virtual pada host tetapi untuk jaringan 10.xvz.

Konfigurasi Jaringan Kustom yang serupa dengan yang Anda minta didokumentasikan dengan baik di sini .

Fergus
sumber
Gagasan VM adalah berburu kupu-kupu dengan palu godam. Menambahkan sistem VM dan lisensi Windows untuk penggunaan VM akan rumit dan mungkin lebih mahal daripada hanya menambahkan NIC kedua ke mesin. Saya hanya perlu 10.x.y.zalamat untuk melayani satu program.
Warren Young
Itulah sebabnya saya mengawali jawaban dengan "satu solusi bisa jadi .."; menambahkan VM pasti akan berhasil. Multihoming jelas; tetapi sekali lagi, ide Anda secara mendasar akan mengubah pertanyaan awal. semoga sukses
Fergus
1

Bagaimana dengan menjadwalkan skrip untuk menambahkan alamat IP setelah boot:

netsh interface ipv4 add address “Local Area Connection” 10.x.y.z 255.255.255.0
Paul
sumber
Ide bagus, tapi saya yakin memaksa adaptor keluar dari DHCP.
Fergus
Saya mengujinya, dan @Fergus benar: mengatakan netsh interface ipv4 show addresssetelah ini hanya memberikan IP statis. IP DHCP hilang.
Warren Young
Ups, ya saya ingat sekarang. Pilihannya adalah untuk mendapatkan IP saat ini, lalu menambahkan keduanya kembali. Sangat tidak mungkin bahwa penyewaan DHCP tidak akan diperpanjang saat sedang digunakan secara aktif (ada masa tenggang untuk menghindari hal ini), jadi itu hanya masalah pada saat boot.
Paul
@ Paul: Jika saya baru saja menambahkan alamat DHCP netsh, bukankah itu membuatnya menjadi IP statis, sehingga tumpukan kotak Windows tidak akan terus mengirim pembaruan sewa DHCP ke server DHCP? Ketika waktu sewa awal sudah habis, server DHCP kemudian akan bebas untuk menetapkan kembali alamat itu.
Warren Young
@ WarrenYoung Berapa lama sewa yang Anda dapatkan? ( ipconfig /all. Bagi saya ini 10 hari dari router saya). Jadi, jika komputer dihidupkan ulang sebelum masa sewa habis, seharusnya tidak menjadi masalah. Kalau tidak, Anda bisa menambahkan ipconfig /releasedan di ipconfig /renewatas garis-garis ini dan menjadwalkannya untuk berjalan pada jam 3 pagi (ketika tidak ada orang di belakang komputer).
Rik
0

Saya menggunakan Win IP Config versi 2.7.2 dari 2007 yang berjalan di Windows 10. Atur NIC Anda ke DHCP, Jalankan Win IP Config sebagai administrasi (ikon Klik Kanan alih-alih klik dua kali untuk opsi). Kemudian klik IP + dan ketik ipaddress statis yang Anda inginkan. Saya sekarang memiliki satu DHCP dan dua alamat statis. Sekarang saya dapat melakukan pengembangan sistem tertanam saya dan mengakses internet pada saat yang sama dengan satu NIC!

Brandon
sumber
Ini terlihat ... sangat ... shaddy ....
paquetp