DNS của khách VirtualBox NAT hỏng sau khi máy chủ kết nối VPN
Khách có bộ phân giải riêng và bộ điều hợp NAT có hai chế độ DNS. Hãy theo dõi một lần tra cứu, rồi quyết định xem chế độ bộ phân giải của máy chủ có phù hợp với chính sách VPN không.
Trên máy chủ Windows, tên ứng dụng nội bộ được phân giải ngay khi VPN kết nối, nhưng bên trong khách Ubuntu thì không. Khách giữ cài đặt bộ phân giải của riêng mình, và bộ điều hợp NAT phía trước có thể trả lời các truy vấn DNS theo hai cách khác nhau. Trỏ khách tới một bộ phân giải công cộng khiến trang web tải lại còn tên riêng vẫn hỏng. Vì vậy đường đi của bộ phân giải được theo dõi trước khi sửa bất cứ điều gì.
Theo dõi một lần tra cứu qua bộ điều hợp NAT
Chọn một tên nội bộ đủ điều kiện đầy đủ và một tên công cộng làm đối chứng. Khi đường hầm đã lên, xác nhận trên máy chủ rằng tên nội bộ được phân giải và ứng dụng phía sau mở ra. Sau đó chạy hai lần tra cứu y hệt bên trong khách và so sánh các câu trả lời, không phải công cụ.
Trước khi đi tiếp, xác nhận bộ điều hợp thực sự là NAT thông thường. Bộ điều hợp cầu, mạng NAT có tên và ứng dụng khách VPN thứ hai bên trong khách đều có cấu hình và lời giải thích riêng. Đoán mò ở giai đoạn này lãng phí phần còn lại của cuộc điều tra.
VBoxManage showvminfo work-ubuntu --machinereadable | grep -i natnet resolvectl status | head -40 cat /etc/resolv.conf
Lệnh đầu tiên hiển thị chế độ của bộ điều hợp và bất kỳ mạng NAT nào gắn với nó. Bên trong khách Ubuntu, lệnh thứ hai liệt kê cài đặt DNS theo từng liên kết, và lệnh thứ ba thường chỉ lộ ra một địa chỉ stub cục bộ, nghĩa là upstream thật nằm ở nơi khác.
Tách phân giải khỏi khả năng tiếp cận. Khách nhận đúng địa chỉ nhưng không mở được kết nối có vấn đề định tuyến, lọc hoặc quyền dịch vụ, và các thay đổi DNS tiếp theo sẽ không bao giờ chạm tới nó. Kiểm tra địa chỉ riêng và ghi lại cái nào trong hai cái đã thất bại.
Chế độ proxy và chế độ bộ phân giải máy chủ là hai cơ chế khác nhau
Ở chế độ proxy, động cơ NAT chuyển các truy vấn của khách tới những máy chủ DNS mà nó đã biết. Ở chế độ bộ phân giải máy chủ, nó chặn truy vấn và yêu cầu hệ điều hành máy chủ phân giải tên bằng thứ máy chủ đang dùng ngay lúc này. Chỉ cái thứ hai đi theo ứng dụng khách VPN vốn viết lại phân giải trên máy chủ khi đường hầm lên. Vì vậy hai cài đặt cho ra câu trả lời khác nhau trên cùng một máy.
Sự khác biệt đó là toàn bộ vấn đề trong một câu. Đưa cho khách một danh sách địa chỉ máy chủ không giống với yêu cầu Windows phân giải tên qua bộ phân giải đã cấu hình, và trên VPN có DNS chia tách hai câu trả lời khác nhau. Tùy chọn của bộ điều hợp liên quan tới cơ chế, không phải quyền.
Không chế độ nào cấp quyền truy cập vào bất cứ thứ gì. Việc cấp phép nằm trong chính sách VPN và trong dịch vụ, và một lần tra cứu hoạt động chỉ có nghĩa một tên đã thành địa chỉ.
Chuyển bộ điều hợp, rồi xác minh khách nhận được gì
Ghi lại cài đặt mạng và DNS của VM trước, rồi tắt máy để bạn chỉnh sửa cấu hình lâu dài. Với VM tên work-ubuntu có bộ điều hợp đầu tiên mang NAT, tùy chọn theo từng bộ điều hợp được đặt từ máy chủ khi VM tắt. Sau đó khởi động lại và xem xét kết quả thay vì tin vào mã thoát.
VBoxManage modifyvm work-ubuntu --natdnshostresolver1 on VBoxManage showvminfo work-ubuntu --machinereadable | grep -i natdns
Chữ số cuối chọn số bộ điều hợp, nên đó không phải giá trị phổ quát; cài đặt cho bộ điều hợp 2 sẽ mang số 2 ở vị trí đó. Dùng tệp nhị phân VBoxManage thuộc phiên bản VirtualBox đã cài, vì bản cũ hơn trên đường dẫn có thể ghi cài đặt mà phiên bản đang chạy bỏ qua.
Bật tùy chọn proxy thay vào đó sẽ chọn cơ chế khác và không cho bạn hành vi bộ phân giải máy chủ. Sau khi khách khởi động, hãy kiểm tra cấu hình DNS mà nó thực sự giữ, vì bộ phân giải được ghim hoặc cài đặt DNS mã hóa bên trong khách giữ ứng dụng trên đường khác bất kể bộ điều hợp cung cấp gì.
Kiểm tra suốt vòng đời VPN, không chỉ một lần
Lặp lại cả hai lần tra cứu trong khách, rồi mở ứng dụng thật và để nó xác thực tên máy chủ TLS. Kiểm tra kết nối chỉ bằng IP cô lập DNS tốt, nhưng đó không phải kiểm tra chứng chỉ và không nên báo cáo như vậy. Ghi tên, địa chỉ và kết quả ứng dụng cùng nhau.
Trong khoảng thời gian được phê duyệt, ngắt và kết nối lại VPN của máy chủ rồi lặp lại kiểm tra. Kết quả phải khớp với chính sách truy cập, và việc phân giải công cộng hoạt động lại không nói gì về việc các truy vấn riêng có ở lại đường dự định hay không.
Khi chế độ bộ phân giải máy chủ không thay đổi gì, hãy trả lại giá trị đã ghi và giữ các quan sát. Ứng dụng khách VPN loại trừ lưu lượng hypervisor, bộ phân giải nội bộ không thể tiếp cận và cài đặt khách được ghim mỗi thứ cần một cách sửa khác nhau, và bắc cầu bộ điều hợp thay đổi thiết kế mạng thay vì đặt lại DNS.