Adam, bạn không cho chúng tôi biết phiên bản Solaris nào bạn đang sử dụng.
Tất cả các máy chủ tìm kiếm trên Solaris đều đi qua daemon Dịch vụ đặt tên Solaris. Ngoại lệ duy nhất là nslookup
truy vấn DNS trực tiếp đối với máy chủ DNS. Trình nền dịch vụ đặt tên về cơ bản hoạt động như một bộ đệm của thông tin đặt tên. Các hệ điều hành khác có dịch vụ tương tự. Dịch vụ đặt tên Solaris được cấu hình trong /etc/nsswitch.conf
tệp.
Tôi thực sự, thực sự hy vọng bạn đang ở một phiên bản cũ hơn, chẳng hạn như Solaris 10 hoặc trước đó. Nếu không, bây giờ bạn đã chỉnh sửa một cách thủ công một tệp mà bạn không còn phải chỉnh sửa: /etc/nsswitch.conf
tệp đó.
Dù sao, giả sử bạn đang ở trên Solaris 10 trở lên: Bạn /etc/nsswitch.conf
nên có một mục như thế này:
hosts: files dns
Điều này cho Dịch vụ đặt tên Solaris rằng các máy chủ nên được tra cứu trước trong tệp cục bộ (tức là /etc/hosts
) và sau đó trong DNS. Tất nhiên bạn cũng có thể chỉ có "dns" ở đây nhưng mọi người thường sẽ muốn nó để /etc/hosts
có thể ghi đè lên những gì có trong DNS.
Bây giờ bạn có thể phải khởi động lại daemon dịch vụ đặt tên:
svcadm restart /system/name-service-cache
Bạn luôn có thể xác minh thiết lập dịch vụ đặt tên của mình bằng getent
lệnh Solaris :
getent hosts google.com
Các getent
thẩm tra lệnh rằng Solaris Naming Service hoạt động như bạn mong đợi. Bạn không thể sử dụng nslookup
để xác minh điều này.
Nếu bạn đang ở trên Solaris 11 thì bạn có thể sử dụng câu trả lời của nolan600 cho câu hỏi này . Các getent
lệnh cũng áp dụng cho Solaris 11.
Hy vọng bạn có thể sử dụng một số này.