Máy chủ
Tôi có một máy chủ lưu trữ, chạy Ubuntu 12.04, tại 10.0.0.202
. Nó cung cấp một chia sẻ NFS cho các máy khác trên mạng. Dưới đây là nội dung của /etc/exports
:
/media/storagedrive 10.0.0.0/24(rw,sync,no_subtree_check)
Mục đích ở đây là chia sẻ nội dung của /media/storagedrive
các máy khác trên mạng trong dải IP 10.0.0.0 - 10.0.0.255
.
Khách hàng làm việc
Điều này hoạt động chính xác với một máy khách tại 10.0.0.40
, chạy Ubuntu 13.10, được gọi là MattDev. Cái máy đó /etc/fstab
trông như thế này:
UUID=8f8c838e-3ea2-457a-87f0-57b12dfab06c / ext4 errors=remount-ro 0 1
UUID=427089d4-46a2-432d-9df4-7016bdfc7df2 none swap sw 0 0
10.0.0.202:/media/storagedrive /mnt/NetworkStorageDrive nfs rsize=8192,wsize=8192,timeo=14,intr
Và ls -al /mnt/
trên máy đó trông như thế này:
total 12K
drwxr-xr-x 3 root root 4.0K Feb 4 17:48 .
drwxr-xr-x 23 root root 4.0K Feb 5 08:44 ..
drwxrwxr-x 7 root plugdev 4.0K Feb 5 11:43 NetworkStorageDrive
Đầu ra của id
hình như thế này:
uid=1000(matt) gid=1000(matt) groups=1000(matt),4(adm),24(cdrom),27(sudo),30(dip),33(www-data),46(plugdev),112(lpadmin),124(sambashare)
Máy khách ảo không hoạt động
Tôi có một máy khách thứ hai, chạy Ubuntu 12.10, với tư cách là một hệ điều hành khách trên máy chủ Windows 7. Máy chủ lưu trữ trên mạng như 10.0.0.28
. Máy khách đang được Vagrant quản lý, sử dụng VirtualBox 4.3.6 làm nhà cung cấp. Tôi sẽ gọi máy chủ lưu trữ Windows 7 AlexDevhost và khách AlexDevGuest của Ubuntu.
Chạy showmount -e 10.0.0.202
trên AlexDevGuest tạo ra:
Export list for 10.0.0.202:
/media/storagedrive 10.0.0.0/24
Tuy nhiên, khi tôi cố gắn kết chia sẻ, nó thất bại:
$ sudo mount 10.0.0.202:/media/storagedrive /mnt/NetworkStorageDrive
mount.nfs: access denied by server while mounting 10.0.0.202:/media/storagedrive
Vì vậy, tôi bắt đầu tìm kiếm các vấn đề:
$ ls -alh /mnt/
total 12K
drwxr-xr-x 3 root root 4.0K Feb 5 12:23 .
drwxr-xr-x 26 root root 4.0K Feb 5 12:23 ..
drwxr-xr-x 2 root root 4.0K Feb 5 12:23 NetworkStorageDrive
$ id
uid=1001(vagrant) gid=1001(vagrant) groups=1001(vagrant)
$
Đó là uid và gid khác với người dùng matt trên MattDev. Vì vậy, tôi đã nói đùa về uid cho người lang thang, vì tôi đã đọc rằng truy cập NFS được kiểm soát bằng cách khớp địa chỉ IP và uids. Vậy bây giờ:
$ id
uid=1000(vagrant) gid=1001(vagrant) groups=1001(vagrant)
$ sudo mount 10.0.0.202:/media/storagedrive /mnt/NetworkStorageDrive
mount.nfs: access denied by server while mounting 10.0.0.202:/media/storagedrive
$
Vẫn không thành công. Vì vậy, bây giờ tôi đang cạn kiệt ý tưởng.
- Tôi đang làm gì sai?
- Nếu phần uid là chính xác, có cách nào để tôi có thể xác minh rằng máy chủ NFS đang thấy nỗ lực truy cập của tôi đến từ không
10.0.0.28
, và một số IP khác không nằm trong phạm vi cho phép?