Làm thế nào để một máy xác định tên máy chủ của nó?


0

Dưới đây là đầu ra của hostnamelệnh.

bash-3.2$ hostname
server1

Làm thế nào để hostnamexác định tên máy chủ được server1? Tôi đoán nó kiểm tra với máy chủ DNS vì đây là điều mà DNS nên làm .. hoặc nó có lấy thông tin này từ /etc/hosts/tệp hoặc một số tệp cục bộ khác không?

bash-3.2$ cat /etc/hosts
#
# Internet host table
#
127.0.0.1       localhost
123.123.9.133   server1       loghost
123.123.9.134      load-balancer.tsg.ge.com load-balancer
bash-3.2$ uname
SunOS

@mpy - Thật tệ .. Tôi không muốn sử dụng IP và tên máy chủ thực tế mà tôi làm việc cùng. Tôi đã bỏ lỡ để che dấu tên máy chủ. Tôi đã sửa nó ở trên. Bạn sẽ thật tử tế khi xóa bình luận trên vì lý do tương tự. Mong các đầu vào của bạn. Cảm ơn bạn!
Kent Pawar

1
Chắc chắn, tôi đã xóa bình luận của tôi. Nhưng hãy lưu ý rằng tên máy chủ thực tế của bạn vẫn còn trong lịch sử sửa đổi (có thể truy cập công khai) của câu hỏi của bạn!
mpy

Câu trả lời:


2

Đầu tiên, cách giải quyết tên được định cấu hình thường trong /etc/nsswitch.conf. Bạn sẽ có một dòng như:

máy chủ: tập tin dns

Điều đó có nghĩa là trước tiên nó sẽ đọc tệp / etc / hosts và nếu không giải quyết được, hãy hỏi DNS.

Bây giờ, như đã nêu trong man hostnametên của một máy được cấu hình trong hệ thống và được truy vấn bằng lệnh gọi hệ thống gethostname(). Điều này cũng tương tự với unameviệc cung cấp tên kernel mà không có đối số và tên nút uname -ncó thể lấy thông tin từ gethostname()đó.

Vì vậy, câu trả lời cho lệnh này không liên quan gì đến DNS cũng như / etc / hosts ngoài đó có lẽ là cách nó được đặt ở thời điểm khởi động bởi kernel, nhưng điều đó phụ thuộc vào phân phối / hương vị UNIX mà bạn đang sử dụng.


Cảm ơn Kwaio. Tôi đang nhìn vào gethostname()bây giờ. Điều này khá nhiều thông tin và chính xác là hướng mà tôi đã hy vọng cuộc thảo luận này sẽ diễn ra.
Kent Pawar
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.