Android

Cách cài đặt và cấu hình máy chủ nfs trên centos 8

Con Gì Đây ? Dạy Bé Học Con Vật Tiếng Kêu, Hình Ảnh Con Bò, Lợn, Chó, Mèo, Vịt, Gà, Báo | Gà Con TV

Con Gì Đây ? Dạy Bé Học Con Vật Tiếng Kêu, Hình Ảnh Con Bò, Lợn, Chó, Mèo, Vịt, Gà, Báo | Gà Con TV

Mục lục:

Anonim

Hệ thống tệp mạng (NFS) là một giao thức hệ thống tệp phân tán cho phép bạn chia sẻ các thư mục từ xa qua mạng. Với NFS, bạn có thể gắn các thư mục từ xa trên hệ thống của mình và làm việc với các tệp trên máy từ xa như thể chúng là các tệp cục bộ.

Giao thức NFS không được mã hóa theo mặc định và không giống như Samba, nó không cung cấp xác thực người dùng. Quyền truy cập vào máy chủ bị hạn chế bởi địa chỉ IP hoặc tên máy chủ của khách hàng.

Trong hướng dẫn này, bạn sẽ thực hiện các bước cần thiết để thiết lập Máy chủ NFSv4 trên CentOS 8. Chúng tôi cũng sẽ chỉ cho bạn cách gắn hệ thống tệp NFS trên máy khách.

Điều kiện tiên quyết

Chúng tôi giả định rằng bạn có một máy chủ chạy CentOS 8, trên đó chúng tôi sẽ thiết lập máy chủ NFS và các máy khác sẽ hoạt động như các máy khách NFS. Máy chủ và máy khách sẽ có thể liên lạc với nhau qua mạng riêng. Nếu nhà cung cấp dịch vụ lưu trữ của bạn không cung cấp địa chỉ IP riêng, bạn có thể sử dụng địa chỉ IP công cộng và định cấu hình tường lửa máy chủ để chỉ cho phép lưu lượng truy cập trên cổng 2049 từ các nguồn đáng tin cậy.

Các máy trong ví dụ này có các IP sau:

NFS Server IP: 192.168.33.148 NFS Clients IPs: From the 192.168.33.0/24 range

Thiết lập máy chủ NFS

Phần này giải thích cách cài đặt các gói cần thiết, tạo và xuất các thư mục NFS và định cấu hình tường lửa.

Cài đặt máy chủ NFS

Gói nfs-utils của nhà cung cấp các tiện ích và trình tiện ích NFS cho máy chủ NFS. Để cài đặt, nó chạy lệnh sau:

sudo dnf install nfs-utils

Khi quá trình cài đặt hoàn tất, hãy bật và khởi động dịch vụ NFS bằng cách nhập:

sudo systemctl enable --now nfs-server

Theo mặc định, trên CentOS 8 NFS phiên bản 3 và 4.x được bật, phiên bản 2 bị tắt. NFSv2 hiện đã khá cũ và không có lý do gì để kích hoạt nó. Để xác minh nó chạy lệnh cat sau:

sudo cat /proc/fs/nfsd/versions

-2 +3 +4 +4.1 +4.2

Các tùy chọn cấu hình máy chủ NFS được đặt trong các /etc/nfsmount.conf /etc/nfs.conf . Các thiết lập mặc định là đủ cho hướng dẫn của chúng tôi.

Tạo hệ thống tập tin

Khi cấu hình một máy chủ NFSv4, một cách tốt nhất là sử dụng thư mục gốc NFS toàn cầu và liên kết gắn kết các thư mục thực tế với điểm gắn kết chia sẻ. Trong ví dụ này, chúng tôi sẽ sử dụng giám đốc /srv/nfs4 làm gốc NFS.

Để giải thích rõ hơn về cách gắn kết NFS có thể được cấu hình, chúng tôi sẽ chia sẻ hai thư mục ( /var/www /opt/backups ) với các cài đặt cấu hình khác nhau.

/var/www/ được sở hữu bởi apache người dùng và nhóm và /opt/backups được sở hữu bởi root .

Tạo hệ thống tập tin xuất bằng mkdir :

sudo mkdir -p /srv/nfs4/{backups, www}

Gắn kết các thư mục thực tế:

sudo mount --bind /opt/backups /srv/nfs4/backups sudo mount --bind /var/www /srv/nfs4/www

Để tạo liên kết gắn kết vĩnh viễn, hãy thêm các mục sau vào tệp /etc/fstab :

sudo nano /etc/fstab / etc / fstab

/opt/backups /srv/nfs4/backups none bind 0 0 /var/www /srv/nfs4/www none bind 0 0

Xuất hệ thống tập tin

Bước tiếp theo là xác định các hệ thống tệp sẽ được xuất bởi máy chủ NFS, các tùy chọn chia sẻ và các máy khách được phép truy cập vào các hệ thống tệp đó. Để làm như vậy, hãy mở tập tin /etc/exports :

sudo nano /etc/exports

Xuất các thư mục www backups và chỉ cho phép truy cập từ các máy khách trên mạng 192.168.33.0/24 :

/ etc / xuất khẩu

/srv/nfs4 192.168.33.0/24(rw, sync, no_subtree_check, crossmnt, fsid=0) /srv/nfs4/backups 192.168.33.0/24(ro, sync, no_subtree_check) 192.168.33.3(rw, sync, no_subtree_check) /srv/nfs4/www 192.168.33.110(rw, sync, no_subtree_check)

Dòng đầu tiên chứa fsid=0 xác định thư mục gốc NFS /srv/nfs . Quyền truy cập trên khối lượng NFS này chỉ được phép cho các máy khách từ mạng con 192.168.33.0/24 . Tùy chọn crossmnt được yêu cầu để chia sẻ các thư mục là thư mục con của thư mục được xuất.

Dòng thứ hai cho thấy cách chỉ định nhiều quy tắc xuất cho một hệ thống tệp. Nó xuất thư mục /srv/nfs4/backups và chỉ cho phép truy cập đọc vào toàn bộ phạm vi 192.168.33.0/24 và cả truy cập đọc và ghi vào 192.168.33.3 . Tùy chọn sync yêu cầu NFS ghi các thay đổi vào đĩa trước khi trả lời.

Dòng cuối cùng nên tự giải thích. Để biết thêm thông tin về tất cả các tùy chọn có sẵn, hãy nhập man exports trong thiết bị đầu cuối của bạn.

Lưu tệp và xuất các cổ phần:

sudo exportfs -ra

Bạn cần chạy lệnh ở trên mỗi lần bạn sửa đổi tệp /etc/exports . Nếu có bất kỳ lỗi hoặc cảnh báo, chúng sẽ được hiển thị trên thiết bị đầu cuối.

Để xem các hoạt động xuất khẩu hiện tại và trạng thái của chúng, hãy sử dụng:

sudo exportfs -v

Đầu ra sẽ bao gồm tất cả các cổ phiếu với các tùy chọn của họ. Như bạn có thể thấy, cũng có các tùy chọn mà chúng tôi chưa xác định trong tệp /etc/exports . Đó là các tùy chọn mặc định và nếu bạn muốn thay đổi chúng, bạn sẽ cần đặt các tùy chọn đó một cách rõ ràng.

/srv/nfs4/backups 192.168.33.3(sync, wdelay, hide, no_subtree_check, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4/www 192.168.33.110(sync, wdelay, hide, no_subtree_check, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4 192.168.33.0/24(sync, wdelay, hide, crossmnt, no_subtree_check, fsid=0, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4/backups 192.168.33.0/24(sync, wdelay, hide, no_subtree_check, sec=sys, ro, secure, root_squash, no_all_squash)

root_squash là một trong những tùy chọn quan trọng nhất liên quan đến bảo mật NFS. Nó ngăn người dùng root được kết nối từ máy khách để có quyền root trên các cổ phần được gắn kết. Nó sẽ ánh xạ UID gốc và GID tới nobody / nogroup UID / GID .

Để người dùng trên các máy khách có quyền truy cập, NFS hy vọng ID người dùng và ID nhóm của khách hàng sẽ khớp với những người dùng trên máy chủ. Một tùy chọn khác là sử dụng tính năng lập bản đồ NFSv4 để dịch ID người dùng và nhóm thành tên và theo cách khác.

Đó là nó. Tại thời điểm này, bạn đã thiết lập máy chủ NFS trên máy chủ CentOS của mình. Bây giờ bạn có thể chuyển sang bước tiếp theo và định cấu hình máy khách và kết nối với máy chủ NFS.

Cấu hình tường lửa

FirewallD là giải pháp tường lửa mặc định trên Centos 8.

Dịch vụ NFS bao gồm các quy tắc được xác định trước để cho phép truy cập vào máy chủ NFS.

Các lệnh sau sẽ cho phép truy cập vĩnh viễn từ mạng con 192.168.33.0/24 :

sudo firewall-cmd --new-zone=nfs --permanent sudo firewall-cmd --zone=nfs --add-service=nfs --permanent sudo firewall-cmd --zone=nfs --add-source=192.168.33.0/24 --permanent sudo firewall-cmd --reload

Thiết lập khách hàng NFS

Bây giờ máy chủ NFS được thiết lập và chia sẻ được xuất, bước tiếp theo định cấu hình máy khách và gắn kết các hệ thống tệp từ xa.

Bạn cũng có thể gắn kết chia sẻ NFS trên máy macOS và Windows, nhưng chúng tôi sẽ tập trung vào các hệ thống Linux.

Cài đặt máy khách NFS

Trên máy của khách hàng, cài đặt các công cụ cần thiết để gắn hệ thống tệp NFS từ xa.

  • Cài đặt máy khách NFS trên Debian và Ubuntu

    Tên của gói bao gồm các chương trình để gắn hệ thống tệp NFS trên các bản phân phối dựa trên Debian là nfs-common . Để cài đặt nó chạy:

    sudo apt update sudo apt install nfs-common

    Cài đặt ứng dụng khách NFS trên CentOS và Fedora

    Trên Red Hat và các dẫn xuất của nó cài đặt gói nfs-utils :

    sudo yum install nfs-utils

Gắn hệ thống tập tin

Chúng tôi sẽ làm việc trên máy khách với IP 192.168.33.110 , có quyền truy cập đọc và ghi vào hệ thống tệp /srv/nfs4/www và truy cập chỉ đọc vào hệ thống tệp /srv/nfs4/backups .

Tạo hai thư mục mới cho các điểm gắn kết. Bạn có thể tạo các thư mục này tại bất kỳ vị trí nào bạn muốn.

sudo mkdir -p /backups sudo mkdir -p /srv/www

Gắn kết các hệ thống tệp đã xuất bằng lệnh mount :

sudo mount -t nfs -o vers=4 192.168.33.148:/backups /backups sudo mount -t nfs -o vers=4 192.168.33.148:/www /srv/www

Trong đó 192.168.33.148 là IP của máy chủ NFS. Bạn cũng có thể sử dụng tên máy chủ thay vì địa chỉ IP, nhưng máy khách cần phải được phân giải. Điều này thường được thực hiện bằng cách ánh xạ tên máy chủ đến IP trong tệp /etc/hosts .

Khi gắn hệ thống tập tin NFSv4, bạn cần bỏ qua thư mục gốc NFS, vì vậy thay vì /srv/nfs4/backups bạn cần sử dụng /backups .

Xác minh rằng các hệ thống tệp từ xa được gắn kết thành công bằng cách sử dụng lệnh mount hoặc df :

df -h

Lệnh sẽ in tất cả các hệ thống tập tin được gắn kết. Hai dòng cuối cùng là các cổ phiếu được gắn kết:

… 192.168.33.148:/backups 9.7G 1.2G 8.5G 13% /backups 192.168.33.148:/www 9.7G 1.2G 8.5G 13% /srv/www

Để gắn kết vĩnh viễn khi khởi động lại, hãy mở tệp /etc/fstab :

sudo nano /etc/fstab

và thêm các dòng sau:

/ etc / fstab

192.168.33.148:/backups /backups nfs defaults, timeo=900, retrans=5, _netdev 0 0 192.168.33.148:/www /srv/www nfs defaults, timeo=900, retrans=5, _netdev 0 0

Để tìm thêm thông tin về các tùy chọn khả dụng khi gắn hệ thống tệp NFS, hãy nhập man nfs trong thiết bị đầu cuối của bạn.

Một tùy chọn khác để gắn kết các hệ thống tệp từ xa là sử dụng công cụ autofs hoặc để tạo một đơn vị systemd.

Kiểm tra truy cập NFS

Hãy kiểm tra quyền truy cập vào các chia sẻ bằng cách tạo một tệp mới trong mỗi tệp.

Trước tiên, hãy thử tạo một tệp thử nghiệm vào thư mục /backups bằng lệnh touch :

sudo touch /backups/test.txt

Hệ thống tập tin /backup được xuất dưới dạng chỉ đọc và như mong đợi, bạn sẽ thấy Permission denied báo lỗi Từ Permission denied :

touch: cannot touch '/backups/test': Permission denied

Tiếp theo, hãy thử tạo một tệp thử nghiệm vào thư mục /srv/www dưới dạng root bằng sudo :

sudo touch /srv/www/test.txt

Một lần nữa, bạn sẽ thấy tin nhắn Permission denied .

touch: cannot touch '/srv/www': Permission denied

Thư mục /var/www thuộc sở hữu của người dùng apache và chia sẻ này có tùy chọn root_squash , ánh xạ người dùng root đến nhóm người dùng và nhóm nogroup không có quyền ghi vào chia sẻ từ xa.

Giả sử rằng một apache người dùng tồn tại trên máy khách có cùng UID GID như trên máy chủ từ xa (ví dụ: nếu bạn đã cài đặt apache trên cả hai máy), bạn có thể kiểm tra để tạo một tệp như apache người dùng với:

sudo -u apache touch /srv/www/test.txt

Lệnh sẽ hiển thị không có đầu ra, có nghĩa là tệp đã được tạo thành công.

Để xác minh nó liệt kê các tệp trong thư mục /srv/www :

ls -la /srv/www

Đầu ra sẽ hiển thị tệp mới được tạo:

drwxr-xr-x 3 apache apache 4096 Jun 23 22:18. drwxr-xr-x 3 root root 4096 Jun 23 22:29.. -rw-r--r-- 1 apache apache 0 Jun 23 21:58 index.html -rw-r--r-- 1 apache apache 0 Jun 23 22:18 test.txt

Ngắt kết nối hệ thống tệp NFS

sudo umount /backups

Nếu điểm gắn kết được xác định trong tệp /etc/fstab , hãy đảm bảo bạn xóa dòng hoặc nhận xét nó bằng cách thêm # ở đầu dòng.

Phần kết luận

Trong hướng dẫn này, chúng tôi đã chỉ cho bạn cách thiết lập máy chủ NFS và cách gắn kết các hệ thống tệp từ xa trên các máy khách. Nếu bạn đang triển khai NFS trong sản xuất và chia sẻ dữ liệu hợp lý, bạn nên kích hoạt xác thực kerberos.

Thay thế cho NFS, bạn có thể sử dụng SSHFS để gắn các thư mục từ xa qua kết nối SSH. SSHFS được mã hóa theo mặc định và dễ dàng hơn nhiều để cấu hình và sử dụng.

Hãy để lại nhận xét nếu bạn có bất kỳ câu hỏi nào.

thiết bị đầu cuối gắn kết centos nfs