Mỗi yêu cầu DNS chia tách đều bắt đầu bằng cùng một câu: tên của công ty đi đến DNS của công ty, mọi thứ khác vẫn hoạt động. Biến câu đó thành cấu hình nghĩa là trả lời ba câu hỏi cho mỗi hệ điều hành, và câu trả lời dùng các cơ chế khác nhau trên mỗi hệ điều hành. Những hồ sơ chạy được trên máy tính xách tay Linux thường thất bại trên Windows vì lý do không liên quan gì đến đường hầm. Khoảng trống thường là một thiết lập trình phân giải bị nhầm thành tuyến đường.

Hãy đặt tên chính sách trước, rồi chọn nguyên thủy nền tảng diễn đạt nó.

Ba thiết lập dễ nhầm lẫn

Hậu tố tìm kiếm mở rộng một tên ngắn: khi bạn gõ files nó trở thành files.corp.example khi trình phân giải thử các hậu tố theo thứ tự. Miền định tuyến chọn trình phân giải nào trả lời các truy vấn bên trong một không gian tên. Tuyến IP chỉ làm cho trình phân giải đã chọn trở nên có thể truy cập. Ba thứ đó nằm ở các tầng khác nhau, và thay cái này bằng cái kia tạo ra một cấu hình trông đúng mà không phân giải được gì.

Sự nhầm lẫn có giá của nó: thêm hậu tố tìm kiếm gửi mọi tên ngắn đến trình phân giải của công việc, kể cả những tên thuộc nơi khác. Chọn miền định tuyến giữ các truy vấn không liên quan ở trình phân giải cục bộ trong khi vẫn gửi *.corp.example qua đường hầm.

Linux: miền chỉ định tuyến, không phải hậu tố tìm kiếm

Trên systemd-resolved, một miền có tiền tố dấu ngã là miền chỉ định tuyến, nghĩa là các truy vấn cho không gian tên đó đi đến trình phân giải được liên kết mà không đồng thời trở thành hậu tố tìm kiếm. resolvectl domain tun0 '~corp.example' đặt điều đó, và resolvectl dns tun0 10.8.0.1 đặt tên máy chủ. Cả hai thiết lập thuộc về giao diện, nên chúng biến mất cùng với nó. Dấu ngã là phần người ta bỏ qua, và nếu không có nó, các tên ngắn bắt đầu được phân giải qua trình phân giải của công việc.

Đừng cài đặt cùng miền đó làm hậu tố tìm kiếm toàn cục nữa. Hai thiết lập này không thừa; một cái định tuyến và cái kia viết lại những gì bạn đã gõ.

Windows cần chính sách không gian tên, không phải hậu tố

Windows giữ chính sách DNS chia tách trong bảng chính sách phân giải tên, không phải trong hậu tố DNS của bộ điều hợp. Một quy tắc ánh xạ không gian tên tới các máy chủ cụ thể: Add-DnsClientNrptRule -Namespace .corp.example -NameServers 10.8.0.1. Chỉ đặt hậu tố sẽ thay đổi hình dạng của các tên ngắn; nó không chuyển truy vấn đến một máy chủ khác.

Sau khi kết nối, hãy kiểm tra chính sách hiệu lực bằng Get-DnsClientNrptPolicy, vì một quy tắc từ kết nối trước có thể sống lâu hơn đường hầm. Hãy xóa quy tắc theo tên khi đường hầm sập, và giữ tên hiển thị ổn định để việc dọn dẹp nhắm đúng mục.

Giữ một chủ sở hữu trình phân giải cho mỗi nền tảng

Một trình quản lý máy tính để bàn, một tập lệnh up của OpenVPN và một tiến trình nền phân giải cục bộ đều có thể cố ghi cùng một cấu hình. Khi chúng bất đồng, người ghi cuối cùng thắng và kết quả phụ thuộc vào thứ tự tháo dỡ. Chọn một thành phần sở hữu trạng thái trình phân giải, để những thành phần khác báo cáo thay vì ghi, và thử kết nối lại: chính sách phải sống sót qua lần đó mà không nhân đôi quy tắc. Cũng hãy thử ngắt kết nối, vì trạng thái còn sót lại chính là thứ khiến kết nối tiếp theo hành xử khác đi.

Các ứng dụng mang theo trình phân giải mã hóa riêng sẽ bỏ qua hoàn toàn chính sách của hệ điều hành. Đó là thuộc tính của ứng dụng, không phải lỗi của đường hầm.

Hãy kiểm chứng kết quả, không phải văn bản hồ sơ

Phân giải một tên nên đi qua đường hầm và một tên không nên, trên mỗi nền tảng, rồi xác nhận máy chủ nào đã trả lời. resolvectl query host.corp.example và Resolve-DnsName host.corp.example đều báo cáo máy chủ đã phản hồi. Lặp lại sau khi kết nối lại. Sau đó xác nhận trình phân giải của đường hầm có thể truy cập tại địa chỉ mà hồ sơ đẩy xuống, vì một chính sách đúng trỏ tới máy chủ không thể truy cập sẽ thất bại giống hệt như không có chính sách nào.

Ghi lại hành vi dự định trong phần ghi chú của hồ sơ: hậu tố nào định tuyến, máy chủ nào trả lời nó, và điều gì xảy ra với mọi thứ khác. Nền tảng tiếp theo bạn hỗ trợ sẽ cần câu đó hơn là cần tệp cấu hình.

Bài viết liên quan