ค้นหาเว็บไซต์

วิธีการติดตั้งและกำหนดค่าเซิร์ฟเวอร์ NFS บน Ubuntu 22.04


NFS (Network File Share) เป็นโปรโตคอลที่ช่วยให้คุณสามารถแบ่งปันไดเร็กทอรีและไฟล์กับไคลเอ็นต์ Linux อื่นๆ ในเครือข่าย โดยปกติแล้วไดเร็กทอรีที่จะแชร์จะถูกสร้างขึ้นบนเซิร์ฟเวอร์ NFS และมีการเพิ่มไฟล์เข้าไป

ระบบไคลเอ็นต์ติดตั้งไดเร็กทอรีที่อยู่บนเซิร์ฟเวอร์ NFS ซึ่งให้สิทธิ์ในการเข้าถึงไฟล์ที่สร้างขึ้น NFS มีประโยชน์เมื่อคุณต้องการแบ่งปันข้อมูลทั่วไประหว่างระบบไคลเอ็นต์ โดยเฉพาะอย่างยิ่งเมื่อพื้นที่เหลือไม่เพียงพอ

คู่มือนี้จะประกอบด้วย 2 ส่วนหลัก: การติดตั้งและกำหนดค่า เซิร์ฟเวอร์ NFS บน Ubuntu 22.04, 20.04 และ 18.04 และการติดตั้ง ไคลเอ็นต์ NFS บน ระบบไคลเอนต์ลินุกซ์

การติดตั้งและกำหนดค่าเซิร์ฟเวอร์ NFS บน Ubuntu

หากต้องการติดตั้งและกำหนดค่าเซิร์ฟเวอร์ NFS ให้ทำตามขั้นตอนที่แสดงด้านล่าง

ขั้นตอนที่ 1: ติดตั้งเซิร์ฟเวอร์เคอร์เนล NFS ใน Ubuntu

ขั้นตอนแรกคือการติดตั้งแพ็คเกจ nfs-kernel-server บนเซิร์ฟเวอร์ แต่ก่อนที่เราจะทำเช่นนี้ เรามาอัปเดตแพ็คเกจระบบก่อนโดยใช้คำสั่ง apt ต่อไปนี้

sudo apt update

เมื่อการอัปเดตเสร็จสมบูรณ์ ให้ดำเนินการต่อและติดตั้งแพ็คเกจ nfs-kernel-server ดังที่แสดงด้านล่าง การดำเนินการนี้จะจัดเก็บแพ็คเกจเพิ่มเติม เช่น nfs-common และ rpcbind ซึ่งมีความสำคัญเท่าเทียมกันในการตั้งค่าการแชร์ไฟล์

sudo apt install nfs-kernel-server

ขั้นตอนที่ 2: สร้างไดเรกทอรีส่งออก NFS

ขั้นตอนที่สองคือการสร้างไดเร็กทอรีที่จะใช้ร่วมกันระหว่างระบบไคลเอ็นต์ นี่เรียกอีกอย่างว่าไดเร็กทอรีการส่งออก และในไดเร็กทอรีนี้เราจะสร้างไฟล์ที่ระบบไคลเอ็นต์สามารถเข้าถึงได้ในภายหลัง

รันคำสั่งด้านล่างโดยระบุชื่อไดเร็กทอรีเมาท์ NFS

sudo mkdir -p /mnt/nfs_share

เนื่องจากเราต้องการให้เครื่องไคลเอนต์ทั้งหมดเข้าถึงไดเร็กทอรีที่ใช้ร่วมกัน ให้ลบข้อจำกัดใดๆ ในการอนุญาตไดเร็กทอรีออก

sudo chown -R nobody:nogroup /mnt/nfs_share/

คุณยังสามารถปรับแต่งการอนุญาตของไฟล์ตามความต้องการของคุณได้ เราได้ให้สิทธิ์ในการอ่าน เขียน และดำเนินการกับเนื้อหาทั้งหมดภายในไดเร็กทอรี

sudo chmod 777 /mnt/nfs_share/

ขั้นตอนที่ 3: ให้สิทธิ์การเข้าถึง NFS แบ่งปันกับระบบไคลเอนต์

สิทธิ์ในการเข้าถึงเซิร์ฟเวอร์ NFS ถูกกำหนดไว้ในไฟล์ /etc/exports เปิดไฟล์โดยใช้โปรแกรมแก้ไขข้อความที่คุณชื่นชอบ:

sudo vim /etc/exports

คุณสามารถให้การเข้าถึงไคลเอนต์เดียว หลายไคลเอนต์ หรือระบุเครือข่ายย่อยทั้งหมด

ในคู่มือนี้ เราได้อนุญาตให้เครือข่ายย่อยทั้งหมดสามารถเข้าถึงการแชร์ NFS ได้

/mnt/nfs_share  192.168.43.0/24(rw,sync,no_subtree_check)

คำอธิบายเกี่ยวกับตัวเลือกที่ใช้ในคำสั่งข้างต้น

  • rw: ย่อมาจาก อ่าน/เขียน
  • ซิงค์: จำเป็นต้องเขียนการเปลี่ยนแปลงลงในดิสก์ก่อนที่จะนำไปใช้
  • No_subtree_check: กำจัดการตรวจสอบแผนผังย่อย

หากต้องการให้สิทธิ์การเข้าถึงแก่ลูกค้ารายเดียว ให้ใช้ไวยากรณ์:

/mnt/nfs_share  client_IP_1 (re,sync,no_subtree_check)

สำหรับไคลเอนต์หลายราย ให้ระบุไคลเอนต์แต่ละรายในไฟล์แยกกัน:

/mnt/nfs_share  client_IP_1 (re,sync,no_subtree_check)
/mnt/nfs_share  client_IP_2 (re,sync,no_subtree_check)

ขั้นตอนที่ 4: ส่งออก NFS Share Directory

หลังจากให้สิทธิ์การเข้าถึงระบบไคลเอ็นต์ที่ต้องการแล้ว ให้ส่งออกไดเร็กทอรีแบ่งใช้ NFS และรีสตาร์ทเซิร์ฟเวอร์เคอร์เนล NFS เพื่อให้การเปลี่ยนแปลงมีผล

sudo exportfs -a
sudo systemctl restart nfs-kernel-server

ขั้นตอนที่ 5: อนุญาตให้เข้าถึง NFS ผ่านไฟร์วอลล์

เพื่อให้ไคลเอ็นต์เข้าถึงการแชร์ NFS คุณจะต้องอนุญาตการเข้าถึงผ่านไฟร์วอลล์ มิฉะนั้น การเข้าถึงและติดตั้งไดเร็กทอรีที่แชร์จะไม่สามารถทำได้ เพื่อให้บรรลุผลนี้ ให้รันคำสั่ง:

sudo ufw allow from 192.168.43.0/24 to any port nfs

โหลดใหม่หรือเปิดใช้งานไฟร์วอลล์ (หากปิดอยู่) และตรวจสอบสถานะของไฟร์วอลล์ ควรเปิดพอร์ต 2049 ซึ่งเป็นพื้นที่แชร์ไฟล์เริ่มต้น

sudo ufw enable
sudo ufw status

ติดตั้งไคลเอนต์ NFS บนระบบไคลเอนต์

เราติดตั้งและกำหนดค่าบริการ NFS บนเซิร์ฟเวอร์เสร็จแล้ว ตอนนี้มาติดตั้ง NFS บนระบบไคลเอนต์กันดีกว่า

ขั้นตอนที่ 1: ติดตั้งแพ็คเกจ NFS-Common

ตามปกติ ให้เริ่มต้นด้วยการอัพเดตแพ็คเกจระบบและที่เก็บข้อมูลก่อนสิ่งอื่นใด

sudo apt update

จากนั้น ติดตั้งแพ็คเกจ nfs-common ตามที่แสดง

sudo apt install nfs-common

ขั้นตอนที่ 2: สร้าง NFS Mount Point บนไคลเอนต์

ถัดไป คุณต้องสร้างจุดเมานท์ที่คุณจะเมานต์การแบ่งปัน nfs จากเซิร์ฟเวอร์ NFS เมื่อต้องการทำเช่นนี้ ให้รันคำสั่ง:

sudo mkdir -p /mnt/nfs_clientshare

ขั้นตอนที่ 3: เมานต์ NFS Share บนระบบไคลเอนต์

ขั้นตอนสุดท้ายที่เหลือคือการติดตั้งการแบ่งใช้ NFS ที่เซิร์ฟเวอร์ NFS แบ่งใช้ สิ่งนี้จะทำให้ระบบไคลเอนต์สามารถเข้าถึงไดเร็กทอรีที่แชร์

มาตรวจสอบที่อยู่ IP ของเซิร์ฟเวอร์ NFS โดยใช้คำสั่ง ifconfig

ifconfig

เพื่อให้บรรลุผลนี้ ให้รันคำสั่ง:

sudo mount 192.168.43.234:/mnt/nfs_share  /mnt/nfs_clientshare

ขั้นตอนที่ 4: การทดสอบ NFS Share บนระบบไคลเอนต์

เพื่อตรวจสอบว่าการตั้งค่า NFS ของเราใช้งานได้ เราจะสร้างไฟล์บางไฟล์ในไดเร็กทอรีแชร์ NFS ที่อยู่ในเซิร์ฟเวอร์

cd /mnt/nfs_share/
touch file1.txt file2.txt file3.txt

ตอนนี้กลับไปที่ระบบไคลเอ็นต์ NFS และตรวจสอบว่ามีไฟล์อยู่หรือไม่

ls -l /mnt/nfs_clientshare/

ยอดเยี่ยม! ผลลัพธ์ยืนยันว่าเราสามารถเข้าถึงไฟล์ที่เราเพิ่งสร้างบนเซิร์ฟเวอร์ NFS!

และนั่นก็เกี่ยวกับมัน ในคู่มือนี้ เราได้แนะนำคุณเกี่ยวกับการติดตั้งและการกำหนดค่าเซิร์ฟเวอร์ NFS บน Ubuntu 22.04, Ubuntu 20.04 และ Ubuntu 18.04 . NFS ไม่ค่อยมีคนใช้ในปัจจุบันและถูกลดระดับลงเพราะหันไปใช้โปรโตคอลแชร์ Samba ที่แข็งแกร่งและปลอดภัยกว่า