Thêm bí danh IP tĩnh vào giao diện DHCP trên Windows 8 (trở lên)


16

Tôi có một máy Windows 8 chỉ có một cổng Ethernet. Nó cần sử dụng DHCP cũng cần một IP tĩnh. Mỗi IP nằm trong một mạng con khác nhau và mỗi mạng phục vụ một mục đích khác nhau, không tương thích.

Máy này phải sử dụng DHCP vì quản trị viên mạng trang web cho biết đây là cách duy nhất được hỗ trợ để lấy 192.168.x.yđịa chỉ. Sơ đồ mạng của anh ta không có khối IP tĩnh trong mạng con đó hoặc anh ta sẽ không gán một trong số chúng cho máy này.

Tôi không thể mạo hiểm sử dụng IP được gán DHCP một cách tĩnh, cá cược rằng nó sẽ không được chỉ định lại sau khi hết hạn thuê. Điều đó sẽ cho phép tôi sử dụng khả năng của Windows để gán nhiều IP tĩnh cho giao diện, nhưng đây là một máy chủ sản xuất, không phải là thứ tôi có thể có nguy cơ bị bật khỏi mạng hàng giờ hoặc nhiều ngày sau đó.

Tôi nhận thấy rằng một số máy chủ DHCP cho phép bạn thiết lập MAC tĩnh thành gán IP, do đó IP DHCP của máy tôi không bao giờ được gán lại, nhưng vì tôi biết không có máy chủ DHCP nào phát hành hai địa chỉ IP khác nhau, mỗi địa chỉ trong một mạng con khác nhau, không có giúp đỡ ở đây (Và nếu có một máy chủ DHCP như vậy, khách hàng của tôi có thể không sử dụng nó và sẽ không thay đổi nếu tôi hỏi.)

Vì tôi không thể làm điều này hoàn toàn với DHCP, tôi cần một IP tĩnh vì máy này cũng hoạt động như một máy chủ cho 10.x.y.zmạng con. Quản trị viên mạng cục bộ đã cấp cho tôi một IP tĩnh trong sơ đồ đó, nhưng điều đó là không đủ vì tôi cũng cần nói chuyện với 192.168.x.yphía bên của mạng.

Tôi biết một câu hỏi tương tự ở đây . Tôi đang hỏi lại bởi vì:

  1. Đó là câu hỏi khác được đặt ra khi Windows 7 hiện tại. Có lẽ Microsoft đã sử dụng hơn 2 năm đó để khắc phục điểm yếu này trong quá trình triển khai ngăn xếp mạng Windows 8?

    (Có, điểm yếu : Linux cho phép giao diện mạng có cả DHCP và IP tĩnh. Không có gì về TCP / IP ngăn Microsoft cho phép điều này. Họ chỉ cần viết mã để cho phép.)

  2. Có vẻ như GUI cấu hình mạng trong Windows 8 có cùng giới hạn với Windows 7, nhưng có lẽ có một số hack cấp thấp sẽ cho phép chúng ta gán bí danh IP tĩnh cho giao diện DHCP?

Câu trả lời:


13

Cuối cùng, DHCP và IP tĩnh có thể được cấu hình để cùng tồn tại trên một NIC. Tính năng này đã cập nhật trong Windows 10 Creators Update (1703).

Có một thuộc tính mới được gọi dhcpstaticipcoexistencetrong netsh interface ipv4 set interfacelệnh, có thể được đặt thành enabledvà giao diện này có thể được cấu hình với nhiều IP tĩnh cùng với IP được cấu hình DHCP. Tuy nhiên, điều này phải được thực hiện bằng netsh add addresslệnh, chưa thể thực hiện thông qua GUI.

Một ít tài liệu đã được xuất bản về bản cập nhật netshvà có rất ít thảo luận về nó trên toàn bộ Internet (tìm kiếm của Google dhcpstaticipcoexistencechỉ cho 5 kết quả tại thời điểm trả lời này). Nhưng tính năng này là có thật.


5
Câu trả lời này rất hữu ích với tôi vì nó hoạt động trên các lần khởi động lại và có vẻ như là một giải pháp bên thứ nhất tốt. Bao gồm các ví dụ về các lệnh để sử dụng sẽ rất tốt. Câu trả lời này rất gần với việc đưa ra các lệnh ví dụ, nhưng tôi đã phải truy cập Google để tìm ra cú pháp chính xác. Lệnh cuối cùng của tôi là netsh interface ipv4 set interface interface="Ethernet" dhcpstaticipcoexistence=enablednetsh interface ipv4 add address "Ethernet" 192.168.1.200 255.255.255.0.
jljtgr

13

Dưới đây là các lệnh chính xác cần thiết cho đề xuất của Cecil dựa trên tính năng dhcpstaticipcoexistence mới của Windows 10 :

  1. Tìm tên giao diện:

    netsh interface ipv4 show interface
    
  2. Cho phép dhcpstaticipcoexistence:

    netsh interface ipv4 set interface interface="interface name" dhcpstaticipcoexistence=enabled
    
  3. Thêm một địa chỉ IP tĩnh vào giao diện của bạn

    netsh interface ipv4 add address "interface name" 192.168.x.xxx 255.255.255.0
    
  4. Sử dụng lệnh 'ipconfig / all' để xác minh địa chỉ IP tĩnh được thêm vào. Bạn không thể làm điều đó từ GUI.


6

Tôi đã viết một tập tin nhỏ. Bạn có thể kiểm tra xem nó có hoạt động trong tình huống của bạn không. (ở đây nó hoạt động tốt)

  • Nó sẽ đặt giao diện của bạn trở lại DHCP.
  • Sau đó, nó sẽ trích xuất IP, Subnet Mask, Cổng mặc định và máy chủ DNS đầu tiên. Đây là một chút khó khăn. Đặc biệt nếu bạn có nhiều giao diện. Nếu nó không hoạt động, chúng ta cần tìm hiểu thêm một chút để nó hoạt động.
  • Nếu bạn cũng muốn DNS thứ hai thì nên thêm vào đây (nhưng tôi không nhìn xa đến vậy vì hiện tại một DNS sẽ ổn).
  • Nó sẽ đặt các cài đặt này "tĩnh" trên giao diện.
  • Sau đó, bạn có thể thêm 10.x.y.zđịa chỉ vào giao diện của mình mà không gặp vấn đề gì.

Đây là kịch bản:

@echo tắt
đặt giao diện = "Ethernet 2"
đặt Extra_ip = 10.0.0.33
đặt Extra_mask = 255.255.248.0

echo Thiết lập% giao diện% trở lại DHCP
Netsh int ipv4 đặt tên địa chỉ =% interface% source = dhcp
Netsh int ipv4 đặt tên dnsservers =% interface% source = dhcp

echo Đang chờ IP ổn định ...
thời gian chờ / t 5

echo Nhận IP hiện tại của% interface%
ipconfig>% temp% \ ipconfig.txt
for / f "tokens = 2 delims =:" %% a in ('gõ% temp% \ ipconfig.txt ^ | find "IPv4" ^ | find / v "127.0"') làm set _IP = %% a
đặt IP =% _ IP: ~ 1%
for / f "tokens = 2 delims =:" %% a in ('gõ% temp% \ ipconfig.txt ^ | find "Subnet" ^ | find / v "127.0"') làm set _IP = %% a
đặt MASK =% _ IP: ~ 1%
for / f "tokens = 2 delims =:" %% a in ('gõ% temp% \ ipconfig.txt ^ | find "Mặc định" ^ | find / v "127.0" ^ | find / v "::"') đặt _IP = %% a
đặt GATE =% _ IP: ~ 1%
for / f "tokens = 2 delims =:" %% a in ('gõ% temp% \ ipconfig.txt ^ | find "Máy chủ DNS" ^ | find / v "127.0"') làm set _IP = %% a
đặt DNS1 =% _ IP: ~ 1%

echo Thiết lập địa chỉ IP, mặt nạ mạng con và cổng mặc định ...
echo (IP% IP%, mặt nạ% MASK%, gw% GATE%)
Netsh int ipv4 đặt tên địa chỉ =% giao diện% tĩnh% IP %% MASK %% GATE% gwmetric = 1

thời gian chờ / t 5
echo Thiết lập DNS chính (% DNS1%) ...
Netsh int ipv4 đặt tên dnsserver =% giao diện% tĩnh% DNS1% chính

echo Thêm IP thứ cấp ...
Netsh int ipv4 thêm địa chỉ% giao diện %% Extra_ip %% Extra_mask%

thời gian chờ / t 5
tiếng vang.
echo Cấu hình IP mới:
ipconfig / all

del% temp \ ipconfig.txt

Bạn chỉ cần chạy cái này một lần trong thời gian thuê (hoặc sau khi khởi động lại). Vì vậy, nếu hợp đồng thuê của bạn là 10 ngày, bạn có thể thiết lập lịch trình này trong 3 giờ sáng Chủ nhật và sau mỗi lần khởi động lại. Nếu máy tính của bạn luôn tắt vào ban đêm, nó sẽ chỉ cần thiết sau khi khởi động lại.


3

Một cách giải quyết khác có thể là chạy VM trên cùng một máy và thêm IP tĩnh vào VM đó. Điều này về cơ bản sẽ cung cấp một bộ điều hợp ảo trên máy chủ nhưng cho mạng 10.xvz.

Cấu hình mạng tùy chỉnh mô phỏng theo mô hình bạn đang yêu cầu cũng được cấu hình tốt ở đây .


Ý tưởng VM là săn bướm bằng búa tạ. Việc thêm một hệ thống VM và cấp phép Windows cho việc sử dụng VM sẽ phức tạp và có thể tốn kém hơn so với việc chỉ thêm một NIC thứ hai vào máy. Tôi chỉ cần 10.x.y.zđịa chỉ để phục vụ một chương trình duy nhất.
Warren Young

Đó là lý do tại sao tôi mở đầu câu trả lời bằng "một cách giải quyết có thể là .."; thêm một VM chắc chắn sẽ hoạt động. Multihoming là hiển nhiên; nhưng sau đó một lần nữa, ý tưởng của bạn về cơ bản sẽ thay đổi câu hỏi ban đầu. chúc may mắn
Fergus

1

Cách lên lịch cho tập lệnh để thêm địa chỉ IP sau khi khởi động:

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

Ý tưởng tuyệt vời, nhưng tôi tin tưởng rằng buộc bộ chuyển đổi ra khỏi DHCP.
Fergus

Tôi đã thử nghiệm nó và @Fergus đã đúng: nói netsh interface ipv4 show addresssau điều này chỉ cung cấp IP tĩnh. IP DHCP đã biến mất.
Warren Young

Ooops, yeah tôi nhớ bây giờ. Tùy chọn sẽ là lấy IP hiện tại, sau đó thêm cả hai trở lại. Rất khó có khả năng cho thuê DHCP sẽ không được gia hạn trong khi sử dụng tích cực (có thời gian ân hạn để tránh điều này), vì vậy nó chỉ quan trọng khi khởi động.
Paul

@Paul: Nếu tôi chỉ thêm lại địa chỉ DHCP netsh, không làm cho nó thành IP tĩnh, vì vậy ngăn xếp của hộp Windows sẽ không tiếp tục gửi gia hạn thuê DHCP đến máy chủ DHCP? Khi hết thời gian thuê ban đầu, máy chủ DHCP sẽ tự do gán lại địa chỉ đó.
Warren Young

@WarrenYoung Hợp đồng thuê bạn sẽ nhận được bao lâu? ( ipconfig /allđối với tôi là 10 ngày từ bộ định tuyến của tôi). Vì vậy, nếu máy tính được khởi động lại trước khi hết hợp đồng thì đó không phải là vấn đề. Nếu không, bạn có thể thêm một ipconfig /releaseipconfig /renewtrên các dòng này và lên lịch để chạy vào lúc 3 giờ sáng (khi không có ai đứng sau máy tính).
Rik

0

Tôi đã sử dụng Win IP Config phiên bản 2.7.2 từ năm 2007 đang chạy trên Windows 10. Đặt NIC của bạn thành DHCP, Chạy Win IP Config làm quản trị (Biểu tượng Nhấp chuột phải thay vì nhấp đúp cho tùy chọn). Sau đó nhấp vào IP + và nhập vào ipaddress tĩnh mà bạn muốn. Bây giờ tôi có một DHCP và hai địa chỉ tĩnh. Bây giờ tôi có thể thực hiện phát triển hệ thống nhúng của mình và truy cập internet cùng một lúc với một NIC!


Điều này có vẻ ... vì vậy ... shaddy ....
paquetp
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.