TL; DR:
Tôi cần cấu hình những gì để có thể giải quyết một .địa phương
tên máy chủ trên máy khách VM của tôi như thể tôi đang giải quyết nó trên máy chủ VM của mình.
phiên bản dài:
Tôi đang chạy VM với Ubuntu 21.04 trên Windows 10 của mình bằng VMware Workstation (16.1.1 build-17801498). Bản thân Ubuntu gần như là vani, tôi gần như không thay đổi gì về bản thân HĐH/env (thực ra hiện tại không có gì xuất hiện trong tâm trí tôi). Có lẽ điều đáng chú ý là tôi đã nâng cấp từ phiên bản Ubuntu trước đó, tôi tin rằng đó là 20.04.
Trên máy chủ, tôi có thể giải quyết foo.bar.local
chỉ cần sử dụng tốt nslookup:
> nslookup foo.bar.local
Máy chủ: <...>
Địa chỉ: 10.73.1.9
Tên: <...>
Địa chỉ: 10.132.0.30
Bí danh: foo.bar.local
Trên máy khách, cùng một nỗ lực để giải quyết không thành công theo mặc định
> máy chủ foo.bar.local
Không tìm thấy máy chủ foo.bar.local: 2(SERVFAIL)
nhưng tôi có thể giải quyết tên nếu tôi nói chủ nhà để sử dụng cùng một máy chủ DNS đã phản hồi trước đó trên máy chủ (VM):
> máy chủ quản lý trật tự-migration.comventure.local 10.73.1.9
Sử dụng máy chủ tên miền:
Tên: 10.73.1.9
Địa chỉ: 10.73.1.9#53
Bí danh:
foo.bar.local là bí danh của hello.world.local.
hello.world.local có địa chỉ 10.132.0.30
Vì vậy, tôi đã nghĩ "tại sao không sử dụng máy chủ đó luôn?" và đã cố định cấu hình nó thông qua GUI của trình quản lý mạng: mở cài đặt mạng, chuyển đến tab IPv4, tắt "tự động" và nhập IP vào trường. Vì VM của tôi có hai giao diện được định cấu hình (mạng chỉ lưu trữ trên máy chủ & NAT bình thường để truy cập inet công cộng) và để đảm bảo an toàn, tôi đã làm điều này cho cả hai giao diện. Tôi ngạc nhiên là không có thời gian chờ đợi sau khi xác nhận những thay đổi đó thực sự dẫn đến thay đổi có thể quan sát được trong đầu ra của systemd-resolve --status
: Đối với cả hai giao diện, nó chỉ giữ tương ứng a.b.c.1
địa chỉ như máy chủ DNS. Thay vào đó, trước tiên tôi phải dis- sau đó kích hoạt các giao diện, sau đó IP của máy chủ sẽ hiển thị:
Toàn cầu
Giao thức: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
chế độ giải quyết.conf: sơ khai
Liên kết 2 (ens33)
Phạm vi hiện tại: DNS
Giao thức: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Máy chủ DNS hiện tại: 10.73.1.9
Máy chủ DNS: 10.73.1.9
Liên kết 3 (ens38)
Phạm vi hiện tại: không có
Giao thức: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Liên kết 4 (docker0)
Phạm vi hiện tại: không có
Giao thức: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Tôi không hiểu tại sao cho en38
(truy cập inet công khai), không có máy chủ DNS nào được hiển thị nữa. Tại thời điểm này, mọi thứ thậm chí còn trở nên khó hiểu hơn vì việc bật giao diện (trong trình quản lý mạng) mà trước đó tôi đã tắt "tự động" cho DNS đột nhiên hiển thị "tự động" là đã bật nhưng cũng liệt kê IP DNS thủ công và systemd-resolve --status
nhưng tôi vẫn không thể giải quyết foo.bar.local
.
Tôi cũng đã cố gắng thiết lập 10.73.1.9
làm máy chủ DNS chính trực tiếp trong cài đặt NAT/DNS của máy trạm VMware nhưng không có kết quả.
Vì vậy, làm thế nào tôi có thể nhận được foo.bar.local
theo mặc định có thể phân giải trên máy khách (VM) của tôi, nói cách khác là không cần phải chỉ định 10.73.1.9
làm máy chủ tên để sử dụng - điều mà tôi không thể thực hiện trong ngữ cảnh ứng dụng mà tôi cần foo.bar.local
giải quyết được.
phụ lục: Có một VPN liên quan đến máy chủ VM của tôi trong trường hợp có thể liên quan. Tôi luôn bật và kết nối nó khi sử dụng máy chủ (VM).