Hệ thống tệp mạng (NFS) là một giao thức hệ thống tệp phân tán để chia sẻ tệp và thư mục. NFS dựa trên Giao thức thủ tục từ xa (ONC RPC). NFS cho phép gắn kết các hệ thống tệp từ xa qua mạng. Hãy nhớ rằng theo mặc định, dữ liệu không được mã hóa khi sử dụng NFS và máy khách không được xác thực (quyền truy cập có thể bị giới hạn bởi IP).
NFS dễ dàng cấu hình cả trên máy chủ và phía máy khách. Trong bài viết này, chúng tôi sẽ hướng dẫn cách cài đặt và định cấu hình máy chủ NFS, sau đó chúng tôi sẽ kết nối phần chia sẻ NFS trên một ứng dụng khách. Bài viết này dựa trên các bản phân phối Linux dựa trên RPM (CentOS, RHEL, Fedora, v.v.).
Cách Cài đặt và Định cấu hình Máy chủ NFS trên Linux CentOS
Theo mặc định, nfs đã được cài đặt trong CentOS với gói Standard. Nếu bạn đã xóa các thành phần NFS hoặc sử dụng chế độ Cài đặt Tối thiểu cho máy chủ của mình, bạn có thể cài đặt gói NFS bằng trình quản lý gói yum (hoặc dnf):
Trong CentOS 8:
# dnf install nfs-utils -y
Tôi đã cài đặt gói:
Phiên bản máy chủ NFS hiện tại hỗ trợ các phiên bản giao thức NFSv3 và NFSv4. NFSv2 bị tắt theo mặc định. Bạn có thể nhận danh sách các phiên bản NFS được hỗ trợ bằng lệnh này:
cat /proc/fs/nfsd/versions
Sau khi bạn đã cài đặt tất cả các gói mình cần, hãy khởi động các dịch vụ nfs-server và rpcbind và thêm chúng vào khởi động:
# systemctl enable rpcbind
# systemctl enable nfs-server
# systemctl start rpcbind
# systemctl start nfs-server
Nếu bạn đang sử dụng firewalld trên máy chủ Linux của mình, hãy mở các cổng sau:
# firewall-cmd --permanent --add-port=111/tcp
# firewall-cmd --permanent --add-port=20048/tcp
# firewall-cmd --permanent --add-service=nfs
# firewall-cmd --permanent --zone=public --add-service=nfs
# firewall-cmd --permanent --zone=public --add-service=mountd
# firewall-cmd --permanent --zone=public --add-service=rpc-bind
# firewall-cmd --reload
Đối với những người đang sử dụng iptables:
# iptables -t filter -A INPUT -p tcp --dport 111 -j ACCEPT
# iptables -t filter -A INPUT -p tcp --dport 2049 -j ACCEPT
# iptables -t filter -A INPUT -p tcp --dport 20048 -j ACCEPT
# service iptables save
# service iptables restart
Sau đó, tạo một thư mục mà máy chủ NFS của bạn sẽ chia sẻ:
# mkdir -p /backup/nfs
# chmod -R 777 /backup/nfs
Xuất bản chia sẻ NFS và chỉ định quyền truy cập trong tệp cấu hình có chứa cài đặt máy chủ NFS (/ etc / export).
# nano /etc/exports
Thêm dòng sau vào cấu hình để cấp quyền truy cập NFS cho tất cả các máy chủ trong mạng con IP được chỉ định:
/backup/nfs 192.168.1.0/24(rw,sync,no_root_squash,no_all_squash)
Hoặc bạn có thể giới hạn quyền truy cập vào một địa chỉ IP duy nhất:
/backup/nfs 192.168.2.24(rw,sync,no_root_squash,no_all_squash, anonuid=1000,anongid=1000) 192.168.3.100 (ro,async,no_subtree_check)
Hãy xem những thông số nào được sử dụng để cấp đặc quyền trên thư mục NFS:
- rw - cấp quyền ghi, ro - cung cấp quyền truy cập chỉ đọc
- đồng bộ hóa - chế độ truy cập đồng bộ, không đồng bộ có nghĩa là bạn không cần đợi xác nhận ghi trên đĩa (nó cải thiện hiệu suất NFS nhưng làm giảm độ tin cậy)
- no_root_squash - cho phép người dùng root có quyền truy cập vào thư mục NFS từ máy khách (thường không được khuyến nghị)
- no_all_squash - cho phép xác thực người dùng, all_squash - cho phép truy cập chia sẻ NFS với một người dùng ẩn danh
- no_subtree_check - vô hiệu hóa kiểm tra xem người dùng đã truy cập tệp trong thư mục hay không ( mục_kiểm_máu được sử dụng theo mặc định)
- anonuid, anongid - ánh xạ người dùng / nhóm NFS với người dùng / nhóm cục bộ được chỉ định ( UID hoặc GID )
Để áp dụng cài đặt chia sẻ NFS mới, hãy chạy lệnh sau:
# exportfs -a
Và khởi động lại máy chủ NFS:
# systemctl restart nfs-server
Như vậy, chúng tôi đã hoàn thành cấu hình máy chủ NFS của mình và có thể tiến hành cấu hình máy khách.
Định cấu hình NFS Client trên CentOS
Để định cấu hình máy khách NFS, bạn cũng phải cài đặt gói nfs-utils.
# yum install nfs-utils -y
Thêm dịch vụ vào khởi động và khởi động chúng:
# systemctl enable rpcbind
# systemctl enable nfs-server
# systemctl start rpcbind
# systemctl start nfs-server
Sau đó, tạo một thư mục trên máy khách, thư mục NFS sẽ được gắn vào:
# mkdir /backup
Sau đó, bạn có thể gắn kết chia sẻ NFS từ xa bằng lệnh này:
# mount -t nfs 192.168.0.100:/backup/nfs/ /backup
Bạn có thể buộc sử dụng phiên bản của giao thức NFS:
# mount -t nfs -o vers=4 192.168.0.100:/backup/nfs/ /backup
trong đó IP là địa chỉ của máy chủ NFS mà bạn đã định cấu hình trước đó.
Sau đó, các chia sẻ NFS được kết nối sẽ được hiển thị trong danh sách các ổ đĩa được gắn kết. Bạn có thể đọc dữ liệu trong thư mục hoặc ghi vào nó (tùy thuộc vào quyền được gán cho địa chỉ IP của bạn trên máy chủ NFS). Để tự động gắn kết thư mục NFS khi khởi động lại, bạn cần mở fstab tệp:
# nano /etc/fstab
Và thêm dòng sau vào đó:
192.168.0.100:/backup/nfs/ /backup/ nfs rw,sync,hard,intr 0 0
Sau khi lưu fstab, bạn có thể áp dụng nó bằng lệnh sau:
# mount -a
Vì vậy, chúng tôi đã cấu hình và kết nối một bộ lưu trữ NFS từ xa, có thể được sử dụng để truy cập mạng trong suốt vào tài nguyên được chia sẻ từ các máy chủ khác nhau. Bạn có thể đặt các bản sao lưu, tệp hình ảnh ISO, v.v. trong thư mục NFS của mình.