วิธีการติดตั้งและกำหนดค่าเซิร์ฟเวอร์ 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 ที่แข็งแกร่งและปลอดภัยกว่า