精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何在CentOS 8設置NFS v4服務器

CHANBAEK ? 來源:myfreax ? 作者:myfreax ? 2023-01-04 17:13 ? 次閱讀

NFS網絡文件系統是一種分布式文件系統協議,使您可以通過網絡共享遠程目錄。

使用NFS,您可以在系統上掛載遠程計算機目錄,并像對待本地文件一樣使用遠程計算機文件。

NFS協議是未加密的協議,并且與Samba不同,它不提供用戶身份驗證。使用客戶端IP地址或主機名來限制客戶端對服務器的訪問。

在本教程中,我們將介紹如何在CentOS 8設置NFS v4服務器。我們還將向您展示如何在客戶端計算機掛載NFS文件系統。

本教程假定您有一臺正在運行的CentOS 8服務器,另一臺運行著任意Linux發行版的計算機。

服務器和客戶端能夠通過網絡相互通信。如果您托管服務器提供商不提供私有IP地址。可以使用公共IP地址并設置服務器防火墻僅允許來自受信任源端口2049

本教程中的計算機的IP地址是NFS Server/服務器 IP: 192.168.33.10。NFS Clients/客戶端 IPs: 192.168.33.0/24 網段內任意IP。

安裝NFS服務器

要在CentOS 8安裝NFS服務器,你只需要運行apt命令sudo apt install nfs-kernel-server更新軟件包索引并安裝NFS服務器軟件包。

安裝完成后,運行systemctl命令啟用并自動啟動NFS服務在重啟時。

默認情況下,在CentOS 8,NFS版本2是禁用的。版本3和版本4已啟用。NFSv2現在已經很老了,我們沒有理由再啟用它。

NFS服務器配置文件分別是etc/default/nfs-kernel-serveretc/default/nfs-common

您可以運行cat命令sudo cat /proc/fs/nfsd/versions來驗證正在運行的NFS版本。

sudo dnf install nfs-utils
sudo systemctl enable --now nfs-server
sudo cat /proc/fs/nfsd/versions
-2 +3 +4 +4.1 +4.2

創建共享目錄

配置NFSv4服務器時,一個好的做法是使用全局NFS根目錄,并將實際目錄綁定到共享掛載點。在本教程中,我們將使用/srv/nfs4目錄作為NFS根目錄。

我們將共享具有不同配置的兩個目錄/var/www/opt/backups,以更好地說明如何配置NFS。

/var/www/www-data用戶和組擁有和/opt/backups它的擁有者是root

請運行以下mkdir命令創建要共享的目錄/var/www/opt/backups。然后將目錄/var/www/opt/backups目錄綁定到/srv/nfs4根目錄。

sudo mkdir -p /var/www/
sudo mkdir -p /opt/backups
sudo mkdir -p /srv/nfs4/backups
sudo mkdir -p /srv/nfs4/www

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

要在重啟后自動綁定目錄,請使用你喜歡的文本編輯器打開文件etc/fstab,在本教程中我們將使用vim打開文件。

復制粘帖以下行到文件etc/fstab,然后保存文件并退出vim編輯器。

sudo vim etc/fstab
/opt/backups /srv/nfs4/backups  none   bind   0   0
/var/www     /srv/nfs4/www      none   bind   0   0

etc/fstab

導出文件系統

下一步就是定義共享選項和訪問限制然后通過NFS服務器導出。etc/exports文件包含了描述如何導出目錄的說明。

在本教程中,我們需要導出wwwbackups目錄,并僅允許IP是192.168.33.0/24網段的客戶端訪問。

繼續使用你喜歡的文本編輯器打開文件etc/exports,在本教程中我們將使用vim打開文件。

sudo vim etc/exports
/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)

etc/exports

第一行包含fsid=0定義NFS根目錄/srv/nfs4。僅允許來自192.168.33.0/24子網的客戶端對此NFS訪問權限。crossmnt選項是必需的,它用于共享目錄和導出子目錄。

第二行顯示如何為一個文件系統指定多個導出規則。它導出/srv/nfs4/backups目錄,只允許192.168.33.0/24網段的客戶端有讀的權限,并且僅允許IP地址是192.168.33.3的客戶端具有讀和寫權限。sync選項告訴NFS在恢復之前將更改寫入磁盤。

最后一行應該是不言自明的了。所有可用選項的更多信息,請在終端中輸入man exports查看手冊。

保存文件并退出vim編輯器,然后運行命令導出目錄sudo exportfs -ra

sudo exportfs -ra

每次修改etc/exports文件時,都需要運行命令sudo exportfs -ra。如果有任何錯誤或警告,錯誤消息將打印在終端。

要查看當前活動的export及其狀態,請運行命令sudo exportfs -v。輸出將包含所有共享目錄及其選項。

如您所見,還有一些我們尚未在etc/exports文件中定義的選項。這些是默認選項,如果要更改它們,則需要顯式設置這些選項。

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

在CentOS 8,root_squash默認情況下是啟用的。這是NFS安全性的最重要的選擇之一。

這樣可以防止從客戶端對已掛載的共享具有root權限。它將映射rootUIDGIDnobody/nogroup UID/GID

為了使客戶端計算機能夠訪問,NFS希望客戶端的用戶和組ID與服務器的用戶和組ID匹配。另一種選擇是使用NFSv4 idmapping功能,將用戶和組ID轉換為名稱。

至此,您已經在CentOS 8安裝配置NFS服務器。現在,您可以轉到下一步配置客戶端并連接到NFS服務器。

NFS 防火墻配置

如果您在計算機上運行著FirewallD防火墻,則需要打開端口2049,允許NFS端口的連接。假設您正在使用FirewallD用來管理iptables防火墻。

為了僅允許來自192.168.33.0/24子網的計算機訪問NFS服務器。請運行命令sudo firewall-cmd --zone=nfs --add-source=192.168.33.0/24 --permanent

sudo firewall-cmd --zone=nfs --add-service=nfs --permanent命令將會允許任何源IP地址。

要驗證防火墻規則的更改,請運行命令sudo firewall-cmd --reload。輸出將會顯示允許端口2049的連接。。

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

安裝設置 NFS客戶端

現在我們已經設置NFS服務器并導出了共享,則下一步將配置客戶端并掛載NFS文件系統。

您也可以在macOS和Windows計算機掛載NFS共享目錄,但是我們將重點關注Linux系統。

在客戶端計算機,我們僅需要安裝掛載遠程NFS文件系統所需的軟件工具。

如果你的計算機運行的是基于Debian的Linux發行版,例如Ubuntu,Linux mint。請運行命令sudo apt update && sudo apt install nfs-common安裝NFS文件系統掛載軟件。

如果你的計算機運行的是基于RedHat的Linux發行版,例如CentOS,Fedora。請運行命令sudo yum install nfs-utils安裝NFS文件系統掛載軟件。

sudo apt update && sudo apt install nfs-common
sudo yum install nfs-utils

掛載 NFS文件系統

我們將在IP地址是192.168.33.110客戶端計算機掛載NFS共享,該IP具有對/srv/nfs4/www目錄的讀寫權限和對/srv/nfs4/backups的只讀權限。

為掛載兩個目錄,我們將創建兩個目錄作為掛載點。您可以在你所需的任何目錄創建此掛載點目錄。

然后運行mount命令掛載NFS共享文件系統,vers=4表示使用V4版本的NFS,192.168.33.10:/backupsNFS服務器共享目錄。/backups掛載點。

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

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

您也可以使用主機名代替NFS服務器IP地址192.168.33.10。但是客戶端計算機必須可以將主機名解析為IP地址。

你可以在etc/hosts文件添加主機名與IP的映射來完成,這是hosts文件格式127.0.1.1 ubuntu,第一列是IP地址,第二列是主機名稱,可以是任何名稱。

掛載NFS v4版本的文件系統時,可以省略NFS根目錄,因此你可以使用/backups,而不是/srv/nfs4/backups掛載NFS共享目錄。

最后使用mount或df命令驗證是否成功掛載NFS共享目錄,df命令將打印所有已掛載的文件系統。最后兩行是已掛載的共享目錄。

df -h
Filesystem                       Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00   38G  1.7G   36G   5% /
devtmpfs                         236M     0  236M   0% /dev
tmpfs                            244M     0  244M   0% /dev/shm
tmpfs                            244M  4.5M  240M   2% /run
tmpfs                            244M     0  244M   0% /sys/fs/cgroup
/dev/sda2                       1014M   87M  928M   9% /boot
tmpfs                             49M     0   49M   0% /run/user/1000
192.168.33.10:/backups           9.7G  1.2G  8.5G  13% /backups
192.168.33.10:/www               9.7G  1.2G  8.5G  13% /srv/www

要自動掛載NFS共享目錄,請你喜歡的編輯器打開etc/fstab文件。復制粘帖以下行到文件etc/fstab

etc/fstab文件包含一個掛載點列表,這些條目定義在系統啟動時將在何處以及如何掛載文件系統。

要查找掛載NFS文件系統可用選項的更多信息,請在終端中鍵入man nfs。掛載共享目錄的另一種選擇是使用autofs工具或創建一個systemd服務文件。

sudo vim etc/fstab
192.168.33.10:/backups /backups   nfs   defaults,timeo=900,retrans=5,_netdev	0 0
192.168.33.10:/www /srv/www       nfs   defaults,timeo=900,retrans=5,_netdev	0 0

etc/fstab

測試NFS訪問

讓我們為每個共享目錄創建一個文件來測試對NFS共享目錄的訪問。首先,嘗試/backups掛載點運行touch命令創建文件。

/backup文件系統被設置為只讀權限,因此你會看到一個權限拒絕錯誤消息touch: cannot touch ‘/backups/test’: Permission denied。

sudo touch /backups/test.txt
touch: cannot touch ‘/backups/test’: Permission denied

接下來,嘗試在/srv/www目錄,運行命令sudo touch /srv/www/test.txt創建測試文件。

同樣,您將看到錯誤消息touch: cannot touch ‘/srv/www’: Permission denied,也就是權限拒絕錯誤。

sudo touch /srv/www/test.txt
touch: cannot touch ‘/srv/www’: Permission denied

您可能還記得/var/www目錄所有者是www-data用戶。此共享設置root_squash選項。

root_squash選項將root用戶映射到遠程服務器nobody用戶和nogroup組。nobody用戶和nogroup組是沒有寫權限讀寫導出的共享目錄。

假設在客戶端計算機存在用戶www-data,在服務器端也有用戶www-data且相同的UIDGID

則可以運行命令sudo -u www-data touch /srv/www/test.txt/srv/www/共享目錄中創建文件。

該命令將不顯示任何輸出,表示文件已成功創建。要驗證它可以運行ls命令列出/srv/www目錄文件。

sudo -u www-data touch /srv/www/test.txt
ls -la /srv/www
drwxr-xr-x 3 www-data www-data 4096 Jun 23 22:18 .
drwxr-xr-x 3 root     root     4096 Jun 23 22:29 ..
-rw-r--r-- 1 www-data www-data    0 Jun 23 21:58 index.html
-rw-r--r-- 1 www-data www-data    0 Jun 23 22:18 test.txt

卸載NFS文件系統

如果不再需要遠程NFS共享,則可以使用umount命令將其卸載已掛載的任何目錄。

例如要卸載/backupNFS共享,請運行命令sudo umount /backups

如果在etc/fstab文件中定義了掛載記錄,請確保刪除包含掛載點的行或者在該行的開頭添加#注釋掉。

sudo umount /backups

結論

在本教程中,我們向您展示了如何在CentOS 8設置NFS服務器以及如何在客戶端計算機掛載NFS文件系統。

如果要在生產中實施NFS并共享敏感數據,建議啟用kerberos身份驗證。作為NFS的安全替代方案,您可以使用SSHFS通過SSH連接掛載NFS共享。

SSHFS默認是加密的協議,并且更易于配置和使用。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    12

    文章

    9021

    瀏覽量

    85184
  • 文件系統
    +關注

    關注

    0

    文章

    284

    瀏覽量

    19883
  • NFS
    NFS
    +關注

    關注

    1

    文章

    52

    瀏覽量

    26090
  • CentOS
    +關注

    關注

    0

    文章

    77

    瀏覽量

    13731
收藏 人收藏

    評論

    相關推薦

    Linux開發_CentOS7.4服務器搭建NFS、NGINX服務器,安裝ffmpeg、Qt環境

    CentOS7.4服務器版本的環境下搭建NFS服務器、安裝ffmpeg、安裝nginx服務器、部署Qt編譯環境。
    的頭像 發表于 07-14 13:45 ?1540次閱讀
    Linux開發_<b class='flag-5'>CentOS</b>7.4<b class='flag-5'>服務器</b>搭建<b class='flag-5'>NFS</b>、NGINX<b class='flag-5'>服務器</b>,安裝ffmpeg、Qt環境

    【AWorks試用體驗】+NFS服務器搭建

    本帖最后由 youzizhile 于 2015-8-18 15:53 編輯 6.4 NFS服務器搭建6.4.1 NFS能做什么?在嵌入式Linux開發中,需要在Linux主機為目
    發表于 08-18 15:51

    第四課:NFS服務器的配置

    NFS的客戶端應用可以透明地讀寫位于遠端NFS服務器上的文件,就像訪問本地文件一樣。介紹NFS安裝步驟1、執行命令:sudo apt-get installnfs-kernel-ser
    發表于 09-07 07:18

    【OK210試用體驗】之(4)——NFS服務器的搭建

    。$ sudoapt-get install nfs-kernel-server2.設置NFS-Server目錄。修改/etc/exports文件,在其中增加NFS
    發表于 09-09 00:34

    TQ210 NFS服務器的配置和使用

      這一講將介紹怎么在虛擬機的Linux系統上安裝NFS服務器,然后在TQ210v6開發板上的Linux上掛載nfs共享文件夾,實現虛擬機和開發板的文件共享,方便把編譯好的程序復制到開
    發表于 11-23 15:35

    4412開發板學習筆記-NFS服務器的搭建

    /exports,使用 vi 命令打開/etc/exports在其中增加NFS服務器目錄。 一個NFS服務器可以共享多個NFS目錄,在/et
    發表于 06-20 14:29

    Linux 配置 NFS進行服務器端配置,重啟NFS時報錯,請問這是為什么?

    -utils rpcbind 完成了nfs-utills 和 rpcbind(Centos5版本下是portmap)完成了相關的安裝。2、接下來進行服務器端配置,重啟NFS時報錯:重啟
    發表于 06-21 20:00

    ubuntu下搭建NFS服務器

    ubuntu下搭建NFS服務器何在ubuntu下搭建NFS服務器,是困擾很多人的一個問題,下面是ubuntu下搭建
    發表于 11-02 16:08

    CentOS的ntp服務器搭建

    【ntp】CentOS上搭建ntp服務器,并實現時間同步
    發表于 03-20 11:18

    如何使用Xmanager遠程CentOS 7服務器

    【Xmanager】如何使用Xmanager遠程CentOS 7服務器
    發表于 04-09 13:16

    如何配置NFS文件存儲服務器

    配置NFS文件存儲服務器的方法步驟
    發表于 11-05 06:10

    AIO-3399J NFS服務器實現掛載

    mkdir nfs3. 設置sudo mount -t nfs 172.17.32.168:/home/sljt/data /home/gavin/nfs172.17.32.168為
    發表于 06-10 15:02

    何在Win 2003環境中設置一個Web服務器

    何在Win 2003環境中設置一個Web服務器   本文介紹了如何在 Windows Server 2003 環境中設置一個用于匿名訪問
    發表于 01-29 11:35 ?565次閱讀

    何在Ubuntu 20.04設置NFS v4服務器

    NFS網絡文件系統是一種分布式文件系統協議,使您可以通過網絡共享遠程目錄。
    的頭像 發表于 12-07 09:36 ?5107次閱讀

    centos7如何設置靜態IP

    CentOS 7上設置靜態IP是一個簡單而重要的任務,尤其對于服務器管理員來說。在本文中,我們將詳細介紹如何在CentOS 7上
    的頭像 發表于 11-17 11:06 ?1442次閱讀