Điểm:1

Khi cố gắng nfs4 gắn kết chia sẻ với sec=krb5, tôi nhận được thông báo lỗi "không được xuất" trên máy chủ nfs

lá cờ pk

Tôi chạy hai máy chủ nfs với các thư mục chính của người dùng và các chia sẻ khác trên chúng. Các máy chủ cung cấp ngàm nfsv4 được kerberized cũng như v3 cũ.

Cho đến gần đây, tôi đã có thể gắn kết nfs4 một chia sẻ đã xuất krb5 từ một máy chủ trên máy chủ thứ hai mà không gặp bất kỳ sự cố nào. Nếu tôi cố gắng bây giờ Tôi bị từ chối cấp quyền và trong nhật ký máy chủ nfs, tôi luôn thấy lỗi này được hiển thị bên dưới. Các hệ thống tệp có dữ liệu người dùng trên máy chủ nfs được đặt tại /export/user1 trên máy chủ server1.uni-ko.de và /export/user2 trên máy chủ server2.uni-ko.de (tên máy chủ đã thay đổi). Đường dẫn /export/ được sử dụng làm gốc xuất nfs4 phổ biến được đánh dấu bởi fsid=0.

## chạy trên máy chủ server1.uni-ko.de
# mount -t nfs4 -o sec=krb5 server2.uni-ko.de:/user2 /mnt
mount.nfs4: truy cập bị từ chối bởi máy chủ trong khi cài đặt server2.uni-ko.de:/user2

và trong nhật ký máy chủ nfs, tôi thấy lỗi này:

từ chối yêu cầu gắn kết từ server1.uni-ko.de cho /user2 (/): không được xuất

Điều tương tự cũng xảy ra nếu tôi cố gắng gắn cục bộ một chia sẻ trên cùng một máy chủ thông qua nfs4 như thế này:

## trên máy chủ server1.uni-ko.de
# mount -t nfs4 -o sec=krb5 server1.uni-ko.de:/user1 /mnt
mount.nfs4: truy cập bị từ chối bởi máy chủ trong khi cài đặt server1.uni-ko.de:/user1

Có thể gắn kết nfs3 (mount server1.uni-ko.de:/export/user1 /mnt) mà không gặp bất kỳ sự cố nào.

Tệp /etc/exports trên máy chủ server2.uni-ko.de trông như thế này:

/export gss/krb5(rw,fsid=0,nohide,no_subtree_check,no_root_squash,async,crossmnt) \
       gss/krb5i(rw,fsid=0,nohide,no_subtree_check,no_root_squash,async,crossmnt) \
       gss/krb5p(rw,fsid=0,nohide,no_subtree_check,no_root_squash,async,crossmnt)
# Xuất NFS V3 qua các nhóm mạng NIS
/export/user2 @nfsv3client(rw,async,no_subtree_check,no_subtree_check,fsid=2000)

exportfs -v hiển thị các chia sẻ được (krb5-nfs4) xuất:

# xuấtfs -v
....
/export gss/krb5(rw,async,wdelay,nohide,crossmnt,no_subtree_check,fsid=0,sec=sys,secure,no_root_squash,no_all_squash)
/export gss/krb5i(rw,async,wdelay,nohide,crossmnt,no_subtree_check,fsid=0,sec=sys,secure,no_root_squash,no_all_squash)
/export gss/krb5p(rw,async,wdelay,nohide,crossmnt,no_subtree_check,fsid=0,sec=sys,secure,no_root_squash,no_all_squash)
/export/user2 @nfsv3client(rw,async,wdelay,hide,no_subtree_check,fsid=2000,sec=sys,secure,root_squash,no_all_squash)

Mọi thứ thậm chí còn trở nên kỳ lạ hơn vì từ ứng dụng khách nfs4 mặc định, tôi vẫn có thể nfs4 gắn thư mục đã cho mà không gặp bất kỳ sự cố nào chính xác như được mô tả ở trên và cả hai hệ thống đều chia sẻ cùng một hệ điều hành trong cùng một phiên bản và cấp độ bản vá, đó là SuSE SLES15SP3 với phiên bản mới nhất các bản vá được cài đặt.

Trên các máy chủ nfs, có một tường lửa chạy mở các cổng được gán tĩnh cần thiết cho NFS như mountd,statd,lockd cũng như các cổng 111 và 2049 (tất cả đều được mở cho tcp và udp). Đây là những gì tôi đã thay đổi gần đây. Trước khi thay đổi này, các cổng máy chủ nfs không tĩnh mà được đặt theo mặc định, nhưng tôi không thể hiểu điều này có thể dẫn đến hành vi gắn kết kỳ lạ như mô tả như thế nào. Tôi cũng đã tắt hoàn toàn tường lửa và kiểm tra lại với kết quả tương tự.

Đằng sau hậu trường, có một máy chủ kerberos đang chạy giữ tất cả các hiệu trưởng cần thiết. Đối với các máy chủ nfs và tất cả các máy khách nfs4, có sẵn các phần chính "nfs" và "host", đồng thời mỗi máy chủ và máy khách có một /etc/krb5.keytab chứa phần chính "nfs" và "host" đã xuất cho máy chủ này. Tất nhiên tiền gốc của người dùng cũng được lưu trữ trong máy chủ kerberos. Tất cả điều này đã hoạt động hoàn hảo trong nhiều năm và vẫn vậy, ngoại trừ vấn đề mới được mô tả.

Điểm:1
lá cờ pk

Vấn đề dường như được giải quyết. Con đường của tôi đến với giải pháp mà ban đầu tôi không mong đợi là một trong hai bước:

  1. tôi đã sử dụng rpcdebug-lệnh gỡ lỗi các cuộc gọi nfs rpc và phát hiện ra rằng lỗi "(/): không được xuất" là kết quả của việc máy chủ cố gắng gắn kết chia sẻ NFS4 không thành công (vì lý do không xác định) và sau đó bị rơi xuống giá đỡ NFS3, điều này cũng không thành công vì đường dẫn gắn kết được cung cấp cho NFS4 không chứa đường dẫn cho hệ thống tệp fsid=0 gốc chung của NFS4 (/xuất trong trường hợp của tôi). Vì vậy, thực sự nfs4 không thành công mà không có bất kỳ lỗi hiển thị nào và quá trình gắn kết nfs3 không thành công với thông báo lỗi chính xác. Vì vậy, rõ ràng NFS4 là thủ phạm và tôi có thể quên thông báo lỗi "không được xuất".

  2. Sau khi tìm hiểu xung quanh, tôi đã xem xét kỹ hơn máy chủ kerberos của chúng tôi và nhận thấy rằng nó đã nhận được một bản cập nhật bảo mật gần đây, bản cập nhật này cũng dẫn đến một phiên bản mới hơn (1.19.2). Tôi đã đọc tài liệu MIT (https://web.mit.edu/kerberos/krb5-latest/doc/admin/enctypes.html) về các bước cần thực hiện sau khi nâng cấp phiên bản. Một phần là bản cập nhật của một số khóa nội bộ có thể cũ dựa trên DES (DES không được dùng nữa và sẽ sớm bị loại bỏ).Tôi có một khóa như vậy trên máy chủ kerberos của chúng tôi có tên: kadmin/lịch sử . Tôi đã cập nhật khóa này dưới dạng tài liệu bằng cách sử dụng kadmin và sau một thời gian, tôi phát hiện ra rằng vấn đề gắn kết NFS4 đã biến mất. Tuy nhiên, tôi chưa bao giờ thấy bất kỳ thông báo lỗi/cảnh báo nào trên máy chủ kerberos hoặc trên máy chủ NFS hoặc máy khách về bất kỳ sự cố khóa kerberos nào. Vì vậy, tôi thấy rằng việc gắn kết nfs4 đang hoạt động trở lại, nhưng tôi vẫn hơi nghi ngờ liệu có thực sự chỉ có phím kerberos des-key gây ra sự cố này hay không ...

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.