Kết nối nfs windows trong linux

1. Chuẩn bị thiết bị

Một máy chủ Linux cài đặt NFS Server.

Một máy chủ Linux cài đặt NFS Client.

Một máy Windows cài đặt NFS Client.

Một máy Windows đã cài đặt SecureCRT.

Một Switch kết nối Server Linux và PC.

2. Yêu cầu nội dung

Kết nối thiết bị theo mô hình.

Đặt địa chỉ IP trên Server.

Sử dụng SecureCRT kết nối để thực hiện các nhiệm vụ cơ bản sau:

  • Trên NFS Server cài đặt gói nfs-utils.
  • Khởi tạo cấp dịch vụ liên quan đến NFS.
  • Tạo thư mục chia sẻ trên NFS Server.
  • Thiết lập chia sẻ và cho phép tất cả người dùng truy cập đến NFS Server với quyền đọc và ghi.
  • Khởi động dịch vụ NFS.
  • Trên NFS Client (Linux) tiến hành cài đặt dịch vụ NFS.
  • Trên NFS Client (Windows) cài đặt dịch vụ NFS Client.

3. Video hướng dẫn

AD: Active Directory server.
SUA: Subsystem for UNIX-based Application.

  1. Chọn Control Panel.
  2. Chọn Programs.
  3. Chọn Programs and Features.
  4. Chọn Turn Windows Features on or off.
  5. Chọn Services for NFS.
  6. Chọn the check box Client for NFS and click OK.

Kết nối nfs windows trong linux

Bây giờ bạn có thể mount bất kỳ chia sẻ NFS lên mạng của mình, Tuy nhiên khi mở ổ đĩa mount bạn thường nhân thông báo "Access is denied". Nguyên nhân là do Windows và linux sử dụng các phương thức quản lý khác nhau.

Bây giờ ta cần set mặc đinh anonymous UID và GID cho Client NFS để truy cập tới NFS share. Các bước thực hiện như sau:

  1. mở hộp thoại Run bằng cách Windows + R.
  2. Bật Registry Editor bặt cách gõ regedit vào run và Enter. Lưu ý nếu như có thông báo hỏi thì bạn ấn Yes trên cửa sổ User Account Control
  3. Tìm đến HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default.
  4. thêm 2 giá tri DWORD: AnonymousUid AnonymousGid.
  5. Đặt giá trị cho UID và GID trên Ubuntu box. với giá trị là 10001000 (hệ thập phân) như hình dưới
  6. Khởi động lại dịch vụ NFS client bằng cách khởi động lại máy.

Kết nối nfs windows trong linux

Bây giờ bạn có thể truy cập thư mục chia sẻ từ Linux trên windows

     Ví Dụ:

Trên linux:

Ta có thư mục chia sẻ NFS là home/cuongnv
IP của máy chia sẻ linux là 192.168.0.10 và chia sẻ tới các máy trong mạng 192.168.0.0/24.
Bạn mở file etc/exports trên NFS server và thêm dòng:
/home/cuongnv 192.168.0.0/24(rw,sync,no_subtree_check)
Lưu lại
chạy lệnh exports -ra
Khởi động lại dịch vụ portmapnfs


Trên windows:

  1. Mở Computer (hoặc ấn Windows + E).
  2. Click vào Map netwok drive trên toolbar.
  3. Điền 192.168.0.10:/home/cuongnv vào Folder:
  4. Ấn Finish.

Kết nối nfs windows trong linux

Như vậy đã hoàn tất!
Chúc bạn thành công!

(source:http://blog.cuongnv.com)

Kết nối nfs windows trong linux

NFS là một trong những phương pháp được sử dụng để chia sẻ dữ liệu trên các hệ thống vật lý. Sử dụng TCP và UDP để truy cập và phân phối dữ liệu tùy thuộc vào phiên bản được sử dụng. Cơ chế hệ thống tệp cho phép lưu trữ và truy xuất dữ liệu từ nhiều đĩa và thư mục.

Các phiên bản NFS: (“nfsstat -o all” “nfsstat -s” trên server và  “nfsstat -c” trên client)

  • NFSv2: Tháng 3 năm 1989

Có thể sử dụng cả TCP và UDP qua mạng IP ( cổng 2049 )

Ban đầu chỉ hoạt động trên UDP

  • NFSv3: Tháng 6 năm 1995

An toàn và mạnh mẽ hơn khi xử lý lỗi so với v2

Sử dụng cả TCP và UDP qua cổng 2049

Vẫn là phiên bản được sử dụng rộng rãi nhất

  • NFSv4: Tháng 4 năm 2003

Hoạt động thông qua tường lửa và trên internet

Hỗ trợ ACL ( Danh sách các câu lệnh chỉ ra loại packet nào được chấp nhận, hủy bỏ dựa vào địa chỉ nguồn, đích hoặc số port)

Sử dụng giao thức TCP là bắt buộc

  • 1: Tháng 1 năm 2010

khả năng cung cấp quyền truy cập song song có thể mở rộng vào các tệp được phân phối giữa nhiều máy chủ

  • 2: Tháng 11 năm 2016

Sao chép và sao chép phía máy chủ

Một lợi thế lớn của NFSv4 so với các phiên bản trước đó là chỉ có một cổng IP được sử dụng để chạy dịch vụ, giúp đơn giản hóa việc sử dụng giao thức trên tường lửa.

Cài đặt – server

+ Centos : yum install nfs-utils

Kết nối nfs windows trong linux

Kết nối nfs windows trong linux
Kết nối nfs windows trong linux

+ Ubuntu/Debian : sudo apt install nfs-kernel-server

Tạo thư mục và cấp quyền:

mkdir /nfsroot

Kết nối nfs windows trong linux

systemctl enable –now rpcbind nfs-server

Mở tệp /etc/exports và thêm đoạn nội dung sau cấp phép quyền truy cập:

/nfsroot 103.9.188.0/24(ro,no_root_squash,no_subtree_check)

  • ro: quyền chỉ đọc
  • rw: quyền đọc và viết
  • root_squash: ngăn chặn người dùng root remote NFS
  • no_root_squash: cho phép người dùng root remote NFS
  • subtree_check: tuỳ chọn kiểm tra tệp và thư mục trên server lưu trữ.
  • no_subtree_check: không kiểm tra tệp và thư mục đang được lưu trữ.
  • sync: đồng bộ thư mục dùng chung.
  • async: bỏ qua kiểm tra đồng bộ hóa để tăng tốc độ.

Sau đó chạy lệnh “exportfs -r” để hoàn tất lưu cấu hình.

Check Port bằng lệnh “rpcinfo -p”

Kết nối nfs windows trong linux

Kiểm tra lại dịch vụ vừa cấu hình bằng lệnh: “showmount -e localhost”

Kết nối nfs windows trong linux

Đồng bộ sẽ không thành công giữa client và server nếu chưa mở port trên firewall

+ Trên Firewalld cần chạy các lệnh sau:

firewall-cmd –add-service=nfs –permanent
firewall-cmd –add-service={nfs3,mountd,rpc-bind} –permanent
firewall-cmd –reload

Kết nối nfs windows trong linux

+ Nếu dùng Iptables thì chạy chỉnh sửa allow port như sau

vi /etc/sysconfig/iptables

# Portmap ports
-A INPUT -m state –state NEW -p tcp –dport 111 -j ACCEPT
-A INPUT -m state –state NEW -p udp –dport 111 -j ACCEPT
# NFS daemon ports
-A INPUT -m state –state NEW -p tcp –dport 2049 -j ACCEPT
-A INPUT -m state –state NEW -p udp –dport 2049 -j ACCEPT
# NFS mountd ports
-A INPUT -m state –state NEW -p udp –dport 10050 -j ACCEPT
-A INPUT -m state –state NEW -p tcp –dport 10050 -j ACCEPT
# NFS status ports
-A INPUT -m state –state NEW -p udp –dport 10051 -j ACCEPT
-A INPUT -m state –state NEW -p tcp –dport 10051 -j ACCEPT
# NFS lock manager ports
-A INPUT -m state –state NEW -p udp –dport 10052 -j ACCEPT
-A INPUT -m state –state NEW -p tcp –dport 10052 -j ACCEPT
# NFS rquotad ports
-A INPUT -m state –state NEW -p udp –dport 10053 -j ACCEPT
-A INPUT -m state –state NEW -p tcp –dport 10053 -j ACCEPT

systemctl restart nfs-server

Cài đặt – client

+Centos: yum install nfs-utils

+Ubuntu/Debian: sudo apt install nfs-common

Tạo thư mục sau ” mkdir -p /nfsclient”

Kết nối nfs windows trong linux

Tạo đồng bộ giữa nfs server và client bằng lệnh
mount -t nfs 103.9.188.128:/nfsroot /nfsclient

Kết nối nfs windows trong linux

Tự động tạo mount từ client đến nfs-server, cần chỉnh file /etc/fstab

103.9.188.128:/nfsroot    /nfsclient   nfs defaults 0 0

Kết nối nfs windows trong linux

Kiểm tra NFS share Server – Client

+Server

cd /nfsroot
touch test.txt

Kết nối nfs windows trong linux

+Client

ls -l /nfsclient

Kết nối nfs windows trong linux

Ngoài các quy tắc được liệt kê ở trên, chỉnh các mục để theo dõi trạng thái (sử dụng mô-đun conntrack) và cho phép các kết nối được thiết lập. Nếu mọi thứ diễn ra như mong đợi sẽ có thể gắn kết các hệ thống tệp mà không gặp vấn đề gì. Để gỡ lỗi sự cố có thể sử dụng các bước sau:

  1. Thêm câu lệnh LOG vào chuỗi INPUT iptables để ghi nhật ký thả các gói.
  2. Chạy tcpdump -i host (máy chủ lưu trữ phải là IP máy khách đang cố gắng gắn kết / truy cập hệ thống tệp đã xuất của server này) và kiểm tra xem liệu các kết nối có đến máy chủ NFS hay không.
    vd: tcpdump -i ens33 host 103.9.188.128
  3. Chạy rpcinfo -p để xem liệu các cổng chính xác đã được chỉ định hay chưa.

Tổng kết

Chạy các lệnh “nfsstat -s” trên server và  “nfsstat -c” trên client để kiểm tra phiên bản nfs được sử dụng.

Kết nối nfs windows trong linux

Kết nối nfs windows trong linux

Hiển thị các thư mục mount đến server nfs “df -kh”:

Kết nối nfs windows trong linux

Ưu điểm :

  • NFS là 1 giải pháp chi phí thấp để chia sẻ tệp mạng.
  • Dễ cài đặt vì nó sử dụng cơ sở hạ tầng IP hiện có
  • Cho phép quản lý trung tâm, giảm nhu cầu thêm phần mềm cũ và dụng lượng đĩa trên các hệ thống người dùng cá nhân

Nhược điểm :

  • NFS vốn không an toàn, chỉ nên sử dụng trên 1 mạng đáng tin cậy sau Firewall
  • NFS bị chậm trong khi lưu lượng mạng lớn
  • Client và server tin tưởng lần nhau vô điều kiện
  • Tên máy chủ có thể là giả mạo (tự xưng là máy khác)

Was this article helpful?