Samba mất các chia sẻ cục bộ ngay tại thời điểm OpenVPN kết nối, và đường hầm gần như không bao giờ là nguyên nhân. Việc gắn kết vẫn ổn, NAS đang chạy, và trình phân giải mà đường hầm cài đặt đang trả lời các câu hỏi về một tên mà nó chưa từng thấy. Samba hỏi trình phân giải đó sớm trong thứ tự tra cứu của mình, tin vào câu trả lời và kết nối tới một địa chỉ không có gì lắng nghe. Sửa chia sẻ nghĩa là sửa câu trả lời, chứ không phải sửa việc gắn kết.

Năm bước kiểm tra, theo thứ tự loại bỏ nhiều khả năng nhất ở mỗi bước.

Ai trả lời cho tên ngắn

Hãy hỏi hệ điều hành, không phải trình quản lý tệp. resolvectl status in ra các máy chủ DNS gắn với từng liên kết và đánh dấu liên kết nào là tuyến mặc định, và một truy vấn tên ngắn báo cáo máy chủ đã trả lời. Chạy nó một lần cho tên NAS và một lần cho một tên mà bạn biết là có trong miền của văn phòng. Nếu hai câu trả lời đến từ các máy chủ khác nhau, bạn đã tìm ra sự chia tách.

Kiểm tra xem câu trả lời là câu trả lời phủ định hay một địa chỉ. Câu trả lời phủ định nghĩa là Samba lẽ ra phải chuyển sang cơ chế khác, và lỗi nằm ở chỗ khác. Một địa chỉ nghĩa là Samba đã kết nối tới một nơi thật và không nhận được gì.

Vì sao Samba tin vào một câu trả lời sai

Samba phân giải tên qua một chuỗi cố định do name resolve order đặt ra. Trên hầu hết các bản phân phối, giá trị mặc định bao gồm host, nghĩa là DNS, và nó chạy trước các cơ chế chỉ dành cho mạng cục bộ như phát NetBIOS. Vì thế một đường hầm đẩy trình phân giải sẽ có quyền từ chối đầu tiên với mọi tên chia sẻ, kể cả những tên một nhãn mà lẽ ra không bao giờ rời khỏi tòa nhà.

Thông thường một tên không xác định trả về câu trả lời phủ định và cơ chế tiếp theo có lượt. Một số trình phân giải, đặc biệt là của nhà cung cấp dịch vụ và công cộng, trả lời tên không xác định bằng một trang tìm kiếm hoặc một địa chỉ quảng cáo. Câu trả lời đó trông như thành công với thư viện phân giải, nên Samba ngừng tìm và quay số tới một địa chỉ không liên quan gì đến mạng của bạn.

Kết quả là một chia sẻ biến mất mà không có hộp thoại lỗi. Không có gì trong chuỗi đó là lỗi định tuyến VPN, đó là lý do vì sao ping tới NAS vẫn hoạt động trong khi duyệt tới nó thì không.

Hai cách sửa có phạm vi khác nhau

Cách sửa hẹp giữ trình phân giải được đẩy vào và thay đổi những gì Samba được phép hỏi nó. Thêm hai dòng vào cấu hình Samba mà daemon thực sự đọc, rồi khởi động lại dịch vụ:

[global]
   name resolve order = wins lmhosts bcast
   dns proxy = no

Không có host trong danh sách đó, DNS ra khỏi đường đi của việc tra cứu chia sẻ, và các tên một nhãn ở lại trên phân đoạn cục bộ. Tên của văn phòng vẫn phân giải bình thường cho mọi chương trình khác, vì điều này chỉ thay đổi Samba. Cái giá là Samba không còn dùng được DNS nữa, nên một chia sẻ được đánh địa chỉ bằng tên văn phòng đầy đủ trở thành vấn đề.

Cách sửa rộng loại bỏ nguyên nhân: ngừng đẩy một trình phân giải trả lời cho những tên không thuộc về nó, hoặc đẩy một chính sách DNS phân tách để chỉ các hậu tố của văn phòng tới được trình phân giải của văn phòng. Đó là câu trả lời dài hạn tốt hơn trên một mạng được quản lý vì nó cũng bảo vệ trình duyệt và trình quản lý gói, nhưng nó cần quyền quản trị ở phía máy chủ và một máy khách tuân theo các cài đặt được đẩy vào.

Hãy chọn một cách có chủ ý. Thay đổi trình phân giải làm thay đổi việc phân giải tên cho mọi ứng dụng cùng một lúc, đó là một bản ghi thay đổi, không phải một chỉnh sửa cho cuộc gọi hỗ trợ.

Hậu tố có thể giải thích mọi thứ

Nếu máy khách cũng đẩy một hậu tố tìm kiếm, một tên cục bộ ngắn sẽ được viết lại thành miền của văn phòng trước khi nó được truy vấn. Khi đó trình phân giải hoàn toàn không nói dối: nó được hỏi một câu hợp lý về một tên của văn phòng và đã trả lời đúng. Hãy đọc tên được truy vấn trong đầu ra của trình phân giải để phân biệt trường hợp này với trường hợp địa chỉ quảng cáo, vì hai lỗi trông giống hệt nhau trong trình quản lý tệp.

Giải pháp ở đây là dùng tên cục bộ đầy đủ hoặc thêm một quy tắc DNS phân tách sở hữu hậu tố cục bộ. Cả hai đều không cần chạm vào Samba.

Hãy chứng minh sau khi kết nối lại

Thử ba tên trong một phiên: chia sẻ cục bộ bằng tên ngắn, một máy chủ của văn phòng bằng tên, và một trang web bình thường. Nếu cái đầu chạy và cái thứ hai hỏng, cách sửa đã di chuyển lỗi thay vì loại bỏ nó. Nếu cái thứ ba hỏng, thay đổi trình phân giải đã đi xa hơn dự định và mọi tra cứu giờ đều đáng ngờ.

Sau đó ngắt và kết nối lại đường hầm rồi lặp lại cả ba. Các tùy chọn được đẩy vào được áp dụng lại ở mỗi lần kết nối, nên một cách sửa chỉ tồn tại lúc chạy có thể biến mất mà không có tệp cấu hình nào thay đổi. Ghi lại trình phân giải sở hữu từng hậu tố và thứ tự tra cứu đang có hiệu lực, và ghi ngày, vì bản cập nhật máy khách tiếp theo là nghi phạm rõ ràng khi điều này quay lại.

Nếu chia sẻ vẫn hỏng sau cả năm bước kiểm tra, hãy ghi lại truy vấn chính xác và câu trả lời chính xác trước khi thay đổi bất cứ điều gì khác. Cặp dòng đó phân biệt lỗi của trình phân giải với một tên thực sự không tồn tại, và đó là ghi chú bàn giao nhanh nhất mà bạn có thể viết.

Bài viết liên quan