Hành vi dự kiến ​​với các mục nhập tập tin NT trùng lặp?


12

Tôi biết rằng bạn không nên có các mục trùng lặp trong tệp máy chủ Windows NT windows\system32\drivers\etc\hosts, nhưng hành vi dự kiến ​​nếu bạn có chúng là gì?

Bạn có thể có nhiều mục nhập có cùng tên máy chủ nhưng địa chỉ khác nhau trong tệp máy chủ Windows NT ( windows\system32\drivers\etc\hosts). Khi bạn truy cập máy chủ đó trên mạng, hệ thống DNS của Windows sẽ phân giải nó thành một trong những mục đó. Làm thế nào tôi có thể biết mục nào sẽ được sử dụng?

Ví dụ:

127.0.0.1    mydomain.com
192.168.1.1  mydomain.com

Chỉnh sửa : Ví dụ cụ thể này dường như buộc hành vi đặc biệt. Loopback dường như ghi đè bất kỳ mục nào, bất kể thứ tự.

Hoặc là:

192.168.1.2  mydomain.com
192.168.1.1  mydomain.com

Tôi đang thấy mục đầu tiên trong danh sách được ưu tiên.

Nhưng, hành vi tôi đang thấy có được đảm bảo không, có phải là phiên bản cụ thể không, hay nói chung là không đáng tin cậy?

Lý do tôi hỏi là vì tôi đang viết một số tập lệnh để xử lý máy chủ và tôi đang cố gắng tìm hiểu xem liệu tôi có thể tin cậy chọn một trong số chúng để xóa / nhận xét hay không và sẽ không có tác động đến hệ thống của người dùng.


Chỉ cần chú ý rằng 127.0.0.1dường như buộc hành vi đặc biệt. Tôi đã chỉnh sửa câu hỏi để hỏi về các kịch bản khác nhau ...
Merlyn Morgan-Graham

Ai nói rằng một người không thể có nhiều mục với cùng một tên miền và địa chỉ IP khác nhau? Chắc chắn không phải Microsoft. Đó là một điều hoàn toàn hợp pháp, theo Microsoft.
JdeBP

@JdeBP: Tôi biết điều này giáp với câu hỏi thứ hai, nhưng nếu một máy chủ lưu trữ nhiều trang, điều đó có nghĩa gì và nó hữu ích với tôi như thế nào? Nếu tôi ping nó, tôi sẽ chỉ nhận được một địa chỉ. Tương tự nếu tôi cố gắng phục vụ đầu cuối cho nó. BTW, liên kết của bạn khá hữu ích với tôi, vì nó sao lưu hành vi tôi mô tả trong câu hỏi của tôi. Bạn nên viết câu trả lời :)
Merlyn Morgan-Graham

Đã cố gắng chỉnh sửa câu hỏi để làm cho nó ít chính xác hơn, dựa trên nhận xét của JdeBP.
Merlyn Morgan-Graham

Câu trả lời:


5

Chỉ người đầu tiên sẽ được đọc. Khi tên đã được giải quyết, không cần đọc thêm tệp.


Một: Bạn mâu thuẫn với câu hỏi. Hai: hostsTệp được đọc toàn bộ khi dịch vụ Máy khách DNS được bật và nhiều mục nhập có cùng tên miền là khá hợp pháp.
JdeBP

@Synetech: Bạn có thể làm rõ phần nào không đúng? Đây có phải là phần JdeBP đã được đề cập trên OP (rằng bạn có thể có nhiều mục với cùng một tên miền) hoặc có điều gì khác tôi đã bỏ lỡ không? :)
Merlyn Morgan-Graham

5

Nhiều mục có cùng tên miền được cho phép và hữu ích trong một số trường hợp.

Như tôi đã mô tả trong câu hỏi của mình, dường như trong các trường hợp "bình thường", trong đó các địa chỉ đó có thể truy cập được bằng cùng một bộ chuyển đổi, địa chỉ đầu tiên dường như là địa chỉ được lấy. Nếu một trong những mục đó là loopback ( 127.0.0.1), thì nó có thể được ưu tiên.

Đôi khi, có nhiều mục nhập có cùng một tên miền, ngay cả khi không có địa chỉ nào trong bộ điều hợp loopback, nếu máy tính là đa biến hoặc đa biến . (Cảm ơn JdeBP về thông tin trong các bình luận về OP của tôi).

một tên máy chủ DNS duy nhất có thể tương ứng với nhiều hơn một địa chỉ IP nếu mỗi địa chỉ được ánh xạ và sử dụng trong các dòng riêng biệt. Ví dụ: bạn có thể thêm các dòng cho máy tính chủ DNS đa biến hoặc đa biến sau đây:

10.0.0.1  host-a.example.microsoft.com
10.0.0.2  host-a.example.microsoft.com
10.0.0.3  host-a.example.microsoft.com

Tôi tin rằng ưu tiên / ưu tiên của bộ điều hợp có thể đóng một vai trò ở đây (mà bạn có thể thiết lập trong cài đặt mạng), mặc dù tôi không thể kiểm tra nó. Loopback rất có thể sẽ luôn luôn đứng đầu trong sở thích bộ điều hợp.


Tôi không thể kiểm tra ưu tiên / ưu tiên của bộ điều hợp tại thời điểm này, vì vậy vui lòng nhận xét nếu bạn biết điều này là đúng hoặc không chính xác.
Merlyn Morgan-Graham

1

Tôi đã thử 5 phút trước và nó chạy mà không cần máy chủ dns theo cách sau vào tệp máy chủ windows:

ip1, ip2, ipx name_to_resolve

Xin lỗi tiếng Anh của tôi...


u có thể giải thích một cách ngắn gọn như thế nào trả lời câu hỏi
Blueberry - Vignesh4303

0

> Loopback dường như ghi đè bất kỳ mục nào, bất kể thứ tự.

Bạn có chắc chắn đóng và chạy lại ứng dụng khách (trình duyệt không?) Sau khi thực hiện thay đổi? Nếu bạn không, thì có khả năng nó vẫn sẽ sử dụng các giá trị cũ và không thấy thay đổi theo thứ tự cho đến khi được khởi động lại. Hơn nữa, nếu bạn có dịch vụ Máy khách DNS đang chạy, các giá trị cũ được lưu trong bộ nhớ cache, do đó bạn sẽ không thấy thay đổi.

Tôi đã làm một số thử nghiệm và có vẻ như mục đầu tiên luôn luôn là mục được sử dụng.

Đảm bảo khởi động lại máy khách để đảm bảo rằng nó đang đọc lại tệp HOSTS và nếu bạn có dịch vụ Máy khách DNS đang chạy cũng sẽ chạy ipconfig /flushdns


Không thể nhớ tôi có làm hay không, vì tôi đã làm việc với điều này trong khoảng từ 3 đến 8 tháng trước. Nhưng điểm tốt và cảm ơn vì đã kiểm tra này. Bạn có nhiều bộ điều hợp không và bạn có thể kiểm tra xem các cài đặt tùy chọn bộ điều hợp mà tôi đã đề cập trong phần tự trả lời của mình có ảnh hưởng gì không?
Merlyn Morgan-Graham

1
Trên thực tế, nhiều thứ tự NIC đã được thảo luận gần đây.
Synetech
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.