Gắn kết NFS không thành công, quyền bị từ chối, không có mục xuất


10

Tôi gặp sự cố khi gắn chia sẻ NFS mà tôi không thể giải quyết được, điều đó đang khiến tôi phát điên. Đây là tình huống:

Ba máy liên quan:
Máy chủ A: mandrake, IP 192.168.1.4, máy chủ NFS
Máy chủ B: athlon64, IP 192.168.1.64,
Máy khách NFS Máy chủ C: lap-fzs-2, IP 192.168.1.27, máy khách NFS

Máy chủ A có máy chủ NFS đang chạy, xuất một thư mục được gắn bởi máy chủ B. Điều này hoạt động hoàn hảo và đã hoạt động từ rất lâu. Không có vấn đề. Bây giờ máy chủ C đi vào hình ảnh. Ubuntu 12.04 LTS, hệ thống hiện đại. Tôi đã cố gắn kết chia sẻ tương tự từ máy chủ A nhưng bị lỗi từ chối cấp phép:

root@lap-fzs-2:~# mount -t nfs mandrake:/data /data -onfsvers=2
mount.nfs: access denied by server while mounting mandrake:/data

Thực tế là nó hoạt động giữa máy chủ A và B nên được chứng minh rằng xuất NFS mỗi se đang hoạt động. Đây là thông tin tôi có thể cung cấp khiến tôi nghĩ rằng nó nên hoạt động. Có lẽ ai đó nhìn thấy những gì tôi không biết và tại sao điều này thất bại trên máy chủ mới C.

Xuất khẩu máy chủ:

[root@mandrake /root]# cat /etc/exports
/suse 192.168.1.0/16(ro,no_root_squash)
/data 192.168.1.0/24(rw)
#/data3 192.168.2.0/24(rw)
#/data 192.168.2.0/16(rw,all_squash,anonuid=500,anongid=500)
#/data3 192.168.2.0/16(rw,all_squash,anonuid=500,anongid=500)

[root@mandrake /root]# exportfs
/suse           192.168.1.0/16
/data           192.168.1.0/24

Portmapper đang chạy, xuất khẩu được biết đến và được gắn bởi máy chủ B "athlon64".

[root@mandrake /root]# showmount -e
Export list for mandrake:
/data 192.168.1.0/24
/suse 192.168.1.0/16
[root@mandrake /root]# showmount -a
All mount points on mandrake:
atlhon64.acme.local:/data

Khi máy chủ athlon64 gắn kết chia sẻ NFS, nhật ký máy chủ hiển thị thành công:

Feb 11 20:06:46 mandrake mountd[460]: authenticated mount request from atlhon64.acme.local:770 for /data (/data)

Nhưng khi máy chủ C cố gắng gắn kết cùng một chia sẻ, nhật ký máy chủ hiển thị:

Feb 11 20:12:42 mandrake mountd[460]: refused mount request from lap-fzs-2 for /data (/): no export entry

Máy chủ C nhìn thấy máy chủ, đến portmapper và nfsd, nhưng không thành công ở các quyền.

root@lap-fzs-2:~# showmount -e 192.168.1.4
Export list for 192.168.1.4:
/data 192.168.1.0/24
/suse 192.168.1.0/16


root@lap-fzs-2:~# mount -t nfs -v mandrake:/data /data -onfsvers=2,proto=udp
mount.nfs: timeout set for Mon Feb 11 21:49:23 2013
mount.nfs: trying text-based options 'nfsvers=2,proto=udp,addr=192.168.1.4'
mount.nfs: prog 100003, trying vers=2, prot=17
mount.nfs: trying 192.168.1.4 prog 100003 vers 2 prot UDP port 2049
mount.nfs: prog 100005, trying vers=1, prot=17
mount.nfs: trying 192.168.1.4 prog 100005 vers 1 prot UDP port 636
mount.nfs: mount(2): Permission denied
mount.nfs: access denied by server while mounting mandrake:/data

Tôi phải sử dụng NFSv2 trên máy khách. Sử dụng NFSv4 sẽ thất bại vì máy chủ không hỗ trợ. Không thành công vì nó cố gắng kết nối trực tiếp qua TCP đến năm 2049 nhưng cổng không mở. Không có dự phòng xảy ra. Sử dụng NFSv3 sẽ dẫn đến sự không phù hợp với chương trình / phiên bản RPC.

Tôi đang thiếu gì?

Cập nhật:
Cả ba máy đều trên một mạng LAN, trên cùng một công tắc. Không có tường lửa hoạt động trên máy chủ C:

root@lap-fzs-2:~# iptables -vnL
Chain INPUT (policy ACCEPT 17 packets, 1853 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 20 packets, 5611 bytes)
 pkts bytes target     prot opt in     out     source               destination

Cũng không phải trên máy chủ A:

[root@mandrake /root]# ipchains -L 
Chain input (policy ACCEPT):
Chain forward (policy ACCEPT):
Chain output (policy ACCEPT):

Tường lửa trên Host C (hoặc ít khả năng Host A)? (/ Sbin / iptables -vnL hiển thị gì?)
davidgo

Không, không có tường lửa, một đoạn LAN.
Florian

1
thử exportfs -alệnh tại Host A, sau đó thử mountlệnh trên Host C. Thử tên máy chủ rõ ràng hoặc địa chỉ IP đầy đủ trong /etc/exports.
mùn cưa

1
Điều đó sẽ giúp như thế nào? Máy chủ thực hiện exportfs -alúc khởi động và vì đây không phải là mục mới, nên nó đã được xuất. Tệp xuất không thay đổi, nó chỉ là một máy chủ mới nên gắn kết và không thể.
Florian

@sawdust chỉnh sửa của bạn chứa gợi ý đúng: sử dụng địa chỉ IP đầy đủ trong /etc/exportsthực tế làm cho nó hoạt động. Bây giờ tôi có / 24 mạng cộng với IP đầy đủ được liệt kê và máy chủ C có thể gắn kết. Chưa thử máy chủ B. Có ai biết vì sao lại thế này không? Tôi nhận thấy rằng máy chủ B (máy chủ đang hoạt động) đã sử dụng cuộc gọi MNT phiên bản 2, trong khi máy chủ C đã sử dụng cuộc gọi MNT phiên bản 1.
Florian

Câu trả lời:


0

11 tháng 2 20:12:42 mandrake mountd [460]: từ chối yêu cầu gắn kết từ lap-fzs-2 cho / data (/): không có mục xuất

Vì thông báo từ chối của máy chủ tuyên bố rằng "không có mục xuất" cho Máy chủ C, nên có lẽ bạn nên thử một dòng không rõ ràng trong /etc/exportstệp có tên máy chủ rõ ràng hoặc địa chỉ IP đầy đủ cho C.

Cũng thử phát exportfs -alệnh tại máy chủ.
Tôi thường gặp sự cố khi truy cập máy chủ NFS của mình ngay cả sau khi khởi động lại. Rõ ràng ban hành exportfs -alệnh là giải pháp đáng tin cậy (đối với tôi).


Rõ ràng, lặp đi lặp lại exportfs -akhông thay đổi bất cứ điều gì cho tôi. Sử dụng địa chỉ IP đầy đủ cho một máy chủ có vấn đề đã giải quyết vấn đề của tôi. Vì vậy, trong khi điều này không giải thích được và tôi không hiểu nó, thì đó là câu trả lời cho vấn đề của tôi và những gì tôi có thể khuyên bạn nên thử cho những người khác có cùng vấn đề.
Florian

Thêm một mục nhập cho địa chỉ IP có vấn đề trong / etc / export cũng giải quyết vấn đề của tôi. Kỳ dị.
PLA

1

Kiểm tra và xem liệu UID và GUID cho người dùng NFS có giống nhau trên máy chủ và máy khách không. Ngoài ra, hãy đảm bảo trên máy chủ thư mục là quyền 777. Đây là / etc / export trên máy chủ của tôi để khách hàng của tôi truy cập.

Tạo thư mục chia sẻ NFS: (Tạo mỗi Máy chủ có IP, tách biệt không gian)

mkdir / var / nfs vim / etc / export / var / nfs 10.180.82.250 (rw, sync, root_squash, anonuid = 530, anongid = 530, no_subtree_check)


UID và GID không giống nhau. Họ không cần phải như vậy, nó hoạt động một khi tôi đã chia sẻ được gắn trên máy khách NFS. Và đối với hoạt động gắn kết, các UID của người dùng không liên quan. Tôi nghi ngờ rằng việc đặt thư mục thành 777 là một ý tưởng tốt, đặc biệt là nếu người dùng có thể đăng nhập vào máy chủ. Một lần nữa, nó hoạt động mà không cần điều đó một khi tôi đã gắn kết nó.
Florian

1

Trong trường hợp của tôi, -o Vers = 3 là câu trả lời:

$ sudo mount -o vers=3 192.168.172.1:/A/DIR /mnt
  • Máy chủ NFS: Máy tính để bàn Ubuntu 12.04 Máy chủ vmware 32 bit
  • Máy khách NFS: Máy chủ Ubuntu 12.04 Máy khách vmware 64 bit (chế độ chỉ dành cho máy chủ)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.