Vâng, đã được đăng trong các ý kiến như là một giải pháp đã được xác minh, nhưng dù sao thì đăng như một câu trả lời.
Hãy thử sử dụng mDNS.
Bạn nên cài đặt avahi-daemon
trên máy bạn muốn giải quyết (ví dụ host2
) và ít nhất một số thư viện máy khách Avahi phù hợp với hệ thống máy khách của bạn (ví dụ host1
). Các thư viện máy khách này thường được cài đặt theo mặc định trên hầu hết các bản phân phối máy tính để bàn. Được cung cấp bản phân phối Linux của bạn sau đó tự động cài đặt các hook để thực sự sử dụng ứng dụng khách Avahi (mDNS) để tra cứu, sau đó bạn sẽ có thể phân giải tên host2.local
trên máy khách.
Bộ công cụ Avahi là một triển khai mDNS. Tóm tắt, nó cung cấp các dịch vụ tên thông qua multicast, cho cả giải quyết máy chủ thông thường và khám phá dịch vụ. Người dùng Mac OS X có thể nhận ra đây là "Bonjour" và đây là cách ví dụ các ứng dụng iTunes tìm thấy nhau (khám phá dịch vụ). Tuy nhiên, tra cứu địa chỉ đơn giản nên hoạt động ngay lập tức.
Avahi được kích hoạt trong tra cứu tên máy chủ vì các cài đặt trong /etc/nsswitch.conf
(đối với tôi ít nhất là trên Debian / Ubuntu), như thế này:
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
Các .local
hậu tố được xuất khẩu bởi daemon Avahi và cấu hình. host2
chỉ là tên máy chủ cơ sở của máy.