NFS หรือ Network File System คือโปรโตคอลระบบไฟล์แบบกระจายซึ่งสร้างขึ้นครั้งแรกโดย Sun Microsystems ผ่าน NFS ระบบสามารถอนุญาตให้แชร์ไดเร็กทอรีและไฟล์กับผู้อื่นผ่านเครือข่าย
ในการแชร์ไฟล์ NFS ข้อมูลเกี่ยวกับระบบระยะไกลสามารถเข้าถึงได้โดยผู้ใช้และแม้แต่โปรแกรมเกือบราวกับว่าพวกเขาอาศัยอยู่ในเครื่องโลคัล
NFS ทำงานในสภาพแวดล้อมไคลเอนต์เซิร์ฟเวอร์ โดยที่เซิร์ฟเวอร์รับผิดชอบในการจัดการการพิสูจน์ตัวตนไคลเอ็นต์การอนุญาตและการจัดการตลอดจนข้อมูลที่แชร์ทั้งหมดภายในระบบไฟล์เฉพาะ
เมื่อได้รับอนุญาตลูกค้าจำนวนเท่าใดก็ได้สามารถเข้าถึงข้อมูลที่แชร์ได้ราวกับว่ามีอยู่ในที่จัดเก็บข้อมูลภายในของตน
การตั้งค่าเซิร์ฟเวอร์ NFS บนระบบ Ubuntu ของคุณนั้นง่ายมาก สิ่งที่คุณต้องทำคือดำเนินการติดตั้งและกำหนดค่าที่จำเป็นทั้งบนเซิร์ฟเวอร์และบนเครื่องไคลเอนต์เท่านี้คุณก็พร้อมแล้ว
ในบทความนี้, เราจะอธิบายวิธีกำหนดค่าเซิร์ฟเวอร์ NFS และไคลเอนต์ทีละขั้นตอนซึ่งจะอนุญาตให้แชร์ไฟล์จากระบบ Ubuntu หนึ่งไปยังอีกระบบหนึ่ง
การกำหนดค่าเซิร์ฟเวอร์ NFS
ในการกำหนดค่าระบบโฮสต์เพื่อแชร์ไดเร็กทอรีเราจะต้องติดตั้งเซิร์ฟเวอร์ NFS Kernel จากนั้นสร้างและส่งออกไดเร็กทอรีที่เราต้องการให้ระบบไคลเอ็นต์เข้าถึง
ตอนนี้ เราจะเปิดเทอร์มินัลด้วย Ctrl + Alt + T และในนั้นเราจะดำเนินการคำสั่งต่อไปนี้:
sudo apt install nfs-kernel-server -y
เมื่อติดตั้งเสร็จตอนนี้เราจะสร้างโฟลเดอร์ที่เราต้องการแชร์กับระบบไคลเอนต์ซึ่งจะเป็นโฟลเดอร์ส่งออก
ในตัวอย่างนี้ เราจะสร้างโฟลเดอร์ในไดเร็กทอรีปัจจุบันที่เราอยู่ แต่คุณสามารถเลือกเส้นทางที่คุณชอบมากที่สุดได้
ในเทอร์มินัลเราจะพิมพ์:
sudo mkdir -p carpeta-compartida
เนื่องจากเราต้องการให้ลูกค้าทั้งหมดเข้าถึงไดเร็กทอรี เราจะลบสิทธิ์ที่ จำกัด ออกจากโฟลเดอร์ส่งออกโดยใช้คำสั่งต่อไปนี้:
sudo chown nobody: nogroup carpeta-compartida sudo chmod 777 carpeta-compartida
สิ่งสำคัญคือหากอยู่ในเส้นทางอื่นคุณจะต้องวางไว้เพราะถ้าคุณเว้นช่องว่างเดียวคุณสามารถเปลี่ยนสิทธิ์ของไดเรกทอรีในระบบของคุณได้
ตอนนี้ผู้ใช้ทุกคนทุกกลุ่มในระบบไคลเอนต์จะสามารถเข้าถึง "โฟลเดอร์ที่แชร์" ของเราได้
ตอนนี้ในโฟลเดอร์ที่สร้างขึ้นนี้คุณสามารถวางเนื้อหาทั้งหมดที่คุณต้องการแชร์ได้
ส่งออกไดเร็กทอรีที่ใช้ร่วมกัน
หลังจากสร้างโฟลเดอร์ส่งออกแล้วเราจะต้องให้สิทธิ์ลูกค้าในการเข้าถึงเครื่องเซิร์ฟเวอร์โฮสต์
สิทธิ์นี้กำหนดผ่านไฟล์ส่งออกที่อยู่ในโฟลเดอร์ / etc บนระบบของคุณ
ใช้คำสั่งต่อไปนี้เพื่อเปิดไฟล์นี้ด้วย Nano:
sudo nano /etc/ exports
เมื่อคุณเปิดไฟล์แล้วคุณสามารถอนุญาตให้เข้าถึงโฟลเดอร์ที่สร้างขึ้นด้วยคำสั่งต่อไปนี้:
/ruta/de/la/ carpeta-compartida ip-de-cliente (rw, sync, no_subtree_check)
O คุณสามารถเพิ่มไคลเอนต์ได้หลายตัวโดยเพิ่มบรรทัดต่อไปนี้ในไฟล์:
/ruta/de/la/carpeta-compartida ip-de-cliente-1 (rw, sync, no_subtree_check)
/ruta/de/la/carpeta-compartida ip-de-cliente-2 (rw, sync, no_subtree_check)
หรือคุณสามารถใส่ช่วง IP ได้ดังนี้:
/ruta/de/la/carpeta-compartida ip-de-cliente1/24 (rw, sync, no_subtree_check)
สิทธิ์ "rw, sync, no_subtree_check" ที่กำหนดไว้ในไฟล์นี้หมายความว่าไคลเอนต์สามารถดำเนินการ:
rw: อ่านและเขียนการดำเนินการ
ซิงค์: เขียนการเปลี่ยนแปลงใด ๆ ลงในดิสก์ก่อนนำไปใช้
no_subtree_check - ป้องกันการตรวจสอบแผนผังย่อย
หลังจากทำการกำหนดค่าข้างต้นทั้งหมดบนระบบโฮสต์ตอนนี้ถึงเวลาส่งออกไดเร็กทอรีที่ใช้ร่วมกัน:
sudo exportfs -a
ในที่สุด เพื่อให้การตั้งค่าทั้งหมดมีผลให้รีสตาร์ทเซิร์ฟเวอร์เคอร์เนล NFS ดังต่อไปนี้:
sudo systemctl restart nfs-kernel-server
ขั้นตอนสำคัญคือการตรวจสอบว่าไฟร์วอลล์ของเซิร์ฟเวอร์เปิดให้ไคลเอนต์เพื่อให้เข้าถึงเนื้อหาที่แชร์ได้
sudo ufw allow from ip/rango to any port nfs
สิ่งที่เหลืออยู่ดังนี้:
sudo ufw allow from 192.168.1.1/24 to any port nfs
ตอนนี้เมื่อคุณตรวจสอบสถานะของไฟร์วอลล์ Ubuntu ของคุณผ่านคำสั่งต่อไปนี้คุณจะสามารถเห็นสถานะการดำเนินการเป็น "อนุญาต" สำหรับ IP ไคลเอ็นต์
sudo ufw status
ขณะนี้เซิร์ฟเวอร์โฮสต์ของคุณพร้อมที่จะเอ็กซ์พอร์ตโฟลเดอร์ที่ใช้ร่วมกันไปยังไคลเอนต์ที่ระบุผ่านเซิร์ฟเวอร์เคอร์เนล NFS
การกำหนดค่าเครื่องไคลเอนต์
ตอนนี้เป็นเวลาทำการกำหนดค่าอย่างง่ายบนเครื่องไคลเอนต์เพื่อให้สามารถติดตั้งโฟลเดอร์ที่ใช้ร่วมกันจากโฮสต์บนไคลเอนต์และเข้าถึงได้โดยไม่มีปัญหา
สำหรับสิ่งนี้ เราจะติดตั้งไคลเอนต์ NFS ด้วยคำสั่งต่อไปนี้:
sudo apt-get install nfs-common
ระบบไคลเอ็นต์ของคุณต้องการไดเร็กทอรีที่สามารถเข้าถึงเนื้อหาทั้งหมดที่แชร์โดยเซิร์ฟเวอร์โฮสต์ได้ในโฟลเดอร์เอ็กซ์พอร์ต
คุณสามารถสร้างโฟลเดอร์นี้ได้ทุกที่ในระบบของคุณ
sudo mkdir -p carpeta-cliente
ตอนนี้โฟลเดอร์ที่คุณสร้างในขั้นตอนก่อนหน้าก็เหมือนกับโฟลเดอร์อื่น ๆ ในระบบของคุณเว้นแต่คุณจะต่อเชื่อมไดเร็กทอรีที่ใช้ร่วมกันจากโฮสต์ของคุณไปยังโฟลเดอร์ที่สร้างขึ้นใหม่นี้
ใช้คำสั่งต่อไปนี้เพื่อเชื่อมต่อโฟลเดอร์ที่ใช้ร่วมกันจากโฮสต์ไปยังโฟลเดอร์ mount บนไคลเอนต์:
sudo mount IPdelserivdor:/ruta/de/la/carpeta-compartida /ruta/carpeta-cliente
คำสั่งมากหรือน้อยดังนี้:
sudo mount 192.168.1.1:/home/servidor/carpeta-compartida /home/cliente/carpeta-cliente
ตอนนี้ถึงเวลาทดสอบการเชื่อมต่อโดยไปที่โฟลเดอร์จากเครื่องไคลเอนต์หรือเครื่องและตรวจสอบว่ามีเนื้อหาที่แชร์อยู่ที่นั่น
โปรโตคอลใดที่เร็วกว่าสำหรับการถ่ายโอนไฟล์ NFS หรือแซมบ้า
โปรโตคอลใดที่เร็วกว่าสำหรับการถ่ายโอนไฟล์ NFS หรือแซมบ้า
สวัสดี Luis ความเร็วขึ้นอยู่กับเครือข่ายของคุณจริงๆ
Samba และ NFS เป็นสองโปรโตคอลที่แตกต่างกัน
Samba ใช้เพื่อแชร์โฟลเดอร์ที่สามารถเข้าถึงได้จากระบบอื่น ๆ (Android, windows, linux ฯลฯ )
NFS เป็นโปรโตคอลที่ติดตั้งในโหมดเซิร์ฟเวอร์บนเครื่องที่คุณมีโฟลเดอร์ที่คุณต้องการแชร์และเป็นไคลเอนต์บนเครื่อง linux ที่คุณต้องการติดตั้งราวกับว่าเป็นระบบไฟล์ภายในเครื่อง (คุณสามารถเมานต์ได้ในแต่ละ เซสชันหรือกำหนดค่าในไฟล์ fstab เพื่อให้ติดตั้งทุกครั้งที่คุณเริ่มต้น)
ฉันหวังว่าฉันจะได้ชี้แจงความแตกต่างเล็กน้อย
มันทำให้ฉันมีข้อผิดพลาดคุณไม่ได้ใส่ตัวอย่างข้อผิดพลาดทางไวยากรณ์ คุณเว้นวรรคผิดดังนั้นฉันจึงไม่รู้ว่าข้อผิดพลาดอยู่ตรงไหน
มันไม่มีประโยชน์สำหรับฉัน