Làm thế nào để máy chủ DHCP của tôi biết tên máy chủ của máy tôi khi tôi không xác định tên trong dhclient.conf?


12

Tôi đang cố gắng giải quyết một số sự cố DNS thú vị liên quan đến DHCP trên mạng của chúng tôi (tôi nghi ngờ hiện tại chúng tôi có nhiều máy chủ DHCP đang chạy) và trong khi cố gắng tìm hiểu, tôi nhận thấy có gì đó lạ với máy chủ mới. thiết lập.

Máy chủ được đề cập là một máy ảo Xen chạy Ubuntu 9.10 Server. Máy chủ Xen vật lý cũng có trên mạng của chúng tôi và khi tôi khởi động VM lần đầu tiên trong Xen (Tôi đã nhập nó từ máy ảo Virtualbox VM chạy trên máy của tôi, nơi nó đang chạy trên một mạng khác), nó đã nhận được Cho thuê DHCP từ mạng văn phòng của chúng tôi và mọi thứ đều tốt.

Tôi đã kiểm tra dhclient.eth0.leasestệp để xem những gì đã được cấu hình và thấy rằng hợp đồng thuê DHCP cũ từ mạng trước đó mà máy vẫn đang ở đó, cũng như hợp đồng thuê DHCP mới cho mạng văn phòng hiện đang kết nối. Có hai điều tôi nhận thấy ngay lập tức:

  1. Thông tin cho thuê DHCP cũ từ mạng trước đó không có một options host-namedòng, mà tôi cho là phiên bản VirtualBox ban đầu của VM không gửi tùy chọn này đến máy chủ DHCP. Hay điều này có nghĩa là máy chủ DHCP cũ không hỗ trợ tùy chọn tên máy chủ DHCP? Lúc đó, nó đang sử dụng máy chủ DHCP nội bộ của VirualBox ...

  2. Các thông tin thuê DHCP mới không có một options host-namedòng, trong đó bao gồm chính xác, tên máy hiện tại cho máy chủ ( "fozzie"). Nếu tôi hiểu chính xác, điều này có nghĩa là máy chủ đã gửi tên máy chủ của nó đến máy chủ DHCP trên mạng của chúng tôi.

Có một số điều tôi không hiểu về tất cả điều này.

Đầu tiên , tôi đã không thay đổi dhclient.confcho máy chủ tại bất kỳ thời điểm nào; đó là sử dụng cấu hình mặc định. Trong thực tế, nó chứa dòng nguyên văn sau:

send host-name "<hostname>"

Vì vậy, câu hỏi đầu tiên của tôi là, làm thế nào mà nó biết gửi tên máy chủ thực sự của máy chủ nếu cấu hình không được thiết lập để gửi nó ở vị trí đầu tiên?

Thứ hai , tại sao hợp đồng thuê DHCP đầu tiên (đối với mạng cũ) không bao gồm option host-name, nhưng hợp đồng thuê DHCP thứ hai (trên mạng mới) đã bao gồm nó, nếu tôi chưa chạm vào bất kỳ tệp cấu hình nào?

Tất cả những gì tôi đã làm là xuất máy VirtualBox ban đầu dưới dạng OVF, sau đó nhập nó vào XenServer, vậy làm thế nào để nó cấu hình một cách kỳ diệu tên máy chủ của tôi qua DHCP nếu nó thậm chí không được cấu hình với tên máy chủ thực sự trong dhclient.conf?

Thứ ba : Khi tôi chạy hostname, máy chủ trả về fozzie.our.domain, nhưng dhclient.eth0.leasescho biết tùy chọn tên máy chủ được đặt thành fozzie(không có tên miền). Làm thế nào mà nó biết để loại bỏ tên miền?

Câu trả lời:


11

OK, sau một thời gian dài truy cập Internet và cố gắng đọc qua mancác trang, tôi hầu như đã tìm ra điều gì đang xảy ra:

[H] ow in the heck đã biết gửi tên máy chủ thực sự của máy chủ nếu cấu hình không được thiết lập để gửi nó ở vị trí đầu tiên?

Rõ ràng, send host-name "<hostname>"và cụ thể hơn <hostname>, có ý nghĩa đặc biệt trên Ubuntu. Nó bảo dhclientgửi tên máy chủ hiện tại của máy của bạn đến máy chủ DHCP. Lưu ý rằng đây là phân biệt chữ hoa chữ thường (nghĩa là nếu bạn nhập <HOSTNAME>, dhclient sẽ gửi văn bản bằng chữ <HOSTNAME>đến máy chủ DHCP). Như đã báo cáo ở đâyở đây , điều này hoạt động trên Ubuntu Feisty trở lên, là một phần của bản vá để (trớ trêu thay) khắc phục sự cố dhclientkhông gửi tên máy chủ của máy theo mặc định.

[W] hy đã cho thuê DHCP đầu tiên (đối với mạng cũ) không bao gồm tên máy chủ tùy chọn, nhưng hợp đồng thuê DHCP thứ hai (trên mạng mới) đã bao gồm nó, nếu tôi chưa chạm vào bất kỳ tệp cấu hình nào?

Điều này dường như là bởi vì không phải tất cả các máy chủ DHCP sẽ trả lại tên máy chủ cho máy khách. Hôm qua chúng tôi vẫn sử dụng bộ định tuyến ClarkConnect dựa trên Linux làm máy chủ DHCP của chúng tôi, nó đã lặp lại tên máy chủ cho mỗi máy khách. Hôm nay chúng tôi đã vô hiệu hóa DHCP trên máy chủ đó và chuyển sang sử dụng máy chủ DHCP tích hợp trên bộ điều khiển miền chính của chúng tôi. DHCP của chúng tôi thuê từ PDC không bao gồm option host-name, nhưng dường như nó không ảnh hưởng đến bất cứ điều gì. Các máy được cập nhật trong DNS và tất cả chúng có thể tìm thấy nhau bằng tên máy chủ.

Khi tôi chạy hostname, máy chủ trả về fozzie.our.domain, nhưng dhclient.eth0.leasescho biết tùy chọn tên máy chủ được đặt thành fozzie(không có tên miền). Làm thế nào mà nó biết để loại bỏ tên miền?

Đây là tôi không hoàn toàn hiểu sự phức tạp của DHCP. Máy chủ DHCP của chúng tôi đã được đặt để định cấu hình tất cả các máy khách của chúng tôi với tên miền của chúng tôi. Tôi đoán máy chủ DHCP đủ thông minh để xóa phần tên miền khỏi tên máy chủ được gửi bởi khách hàng.

Bất cứ ai có bất kỳ sửa chữa hoặc làm rõ để thêm vào câu trả lời này? Nó vẫn có vẻ hơi "gợn sóng", vì vậy tôi sẽ không chấp nhận nó.

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.