How to Install and Configure NFS server in Ubuntu 18.04
תוכן עניינים:
- תנאים מוקדמים
- הגדר את שרת NFS
- התקנת שרת NFS
- יצירת מערכות הקבצים
- ייצוא מערכות הקבצים
- תצורת חומת אש
- הגדר את לקוחות NFS
- התקנת לקוח NFS
- הרכבת מערכות קבצים
- בדיקת גישה ל- NFS
- הסרת מערכת הקבצים של NFS
- סיכום
Network File System (NFS) הוא פרוטוקול מערכת קבצים מבוזר המאפשר לשתף ספריות מרוחקות ברשת. עם NFS, תוכלו להתקין ספריות מרוחקות במערכת שלכם ולעבוד עם הקבצים במחשב המרוחק כאילו היו קבצים מקומיים.
פרוטוקול NFS אינו מוצפן כברירת מחדל ובניגוד לסמבה, הוא אינו מספק אימות משתמש. הגישה לשרת מוגבלת על ידי כתובות ה- IP או שמות המארחים של הלקוחות.
במדריך זה נעבור כיצד להתקין שרת NFSv4 באובונטו 18.04. אנו נראה לך כיצד להתקין מערכת קבצים NFS על הלקוח.
תנאים מוקדמים
דוגמה זו מניחה שיש לך שרת אחד שמריץ את אובונטו 18.04, ושרת אחר שמריץ כל הפצת לינוקס אחרת. השרת והלקוחות צריכים להיות מסוגלים לתקשר זה עם זה דרך רשת פרטית. אם ספק האירוח שלך אינו מציע כתובות IP פרטיות, אתה יכול להשתמש בכתובות ה- IP הציבוריות ולהגדיר את חומת האש של השרת כך שתאפשר תנועה ביציאה
2049
רק ממקורות מהימנים.
המכונות בדוגמה זו כוללות את ה- IP הבא:
NFS Server IP: 192.168.33.10 NFS Clients IPs: From the 192.168.33.0/24 range
הגדר את שרת NFS
נתחיל בהתקנה והגדרת התצורה של שרת NFS.
התקנת שרת NFS
רענן את אינדקס החבילות והתקן את חבילת שרת NFS:
sudo apt update
sudo apt install nfs-kernel-server
לאחר סיום ההתקנה, שירותי NFS יתחילו אוטומטית.
כברירת מחדל, באובונטו 18.04 NFS גרסת 2 אינה זמינה. גרסאות 3 ו -4 מופעלות. אתה יכול לאמת זאת על ידי הפעלת פקודת
cat
הבאה:
sudo cat /proc/fs/nfsd/versions
-2 +3 +4 +4.1 +4.2
NFSv2 די ישן עכשיו, ואין שום סיבה לאפשר זאת.
אפשרויות התצורה של שרת NFS מוגדרות בקבצים
/etc/default/nfs-kernel-server
ו
/etc/default/nfs-common
קבצים. הגדרות ברירת המחדל מספיקות במקרה שלנו.
יצירת מערכות הקבצים
בעת קביעת התצורה של שרת NFSv4, כדאי להשתמש בספריית השורשים הגלובלית של NFS ולחייב את הרכיב של הספריות לנקודת הרכבה של השיתוף. בדוגמה זו אנו נשתמש
/srv/nfs4
כשורש NFS.
אנו נשתף שתי ספריות (
/var/www
ו-
/opt/backups
), עם הגדרות תצורה שונות, כדי להסביר טוב יותר כיצד ניתן להגדיר את התקני ה- NFS.
ה-
/var/www/
נמצא בבעלות המשתמש וקבוצת
www-data
ו
/opt/backups
הוא בבעלות
root
.
צור את מערכת
mkdir
הייצוא באמצעות הפקודה
mkdir
:
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
:
sudo nano /etc/fstab
ולהוסיף את השורות הבאות:
/ וכו '/ fstab
/opt/backups /srv/nfs4/backups none bind 0 0 /var/www /srv/nfs4/www none bind 0 0
ייצוא מערכות הקבצים
השלב הבא הוא הגדרת מערכות הקבצים שייצאו על ידי שרת NFS, אפשרויות השיתוף והלקוחות שמורשים לגשת למערכות הקבצים הללו. לשם כך פתח את קובץ
/etc/exports
:
sudo nano /etc/exports
קובץ
/etc/exports
export כולל גם הערות המתארות כיצד לייצא מדריך.
במקרה שלנו עלינו לייצא את ספריות
www
backups
ולאפשר גישה רק מלקוחות ברשת
192.168.33.0/24
:
/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)
השורה הראשונה מכילה
fsid=0
המגדיר את ספריית השורש NFS
/srv/nfs
. הגישה בנפח NFS זה מותרת רק ללקוחות מרשת המשנה
192.168.33.0/24
. אפשרות
crossmnt
נדרשת כדי לשתף ספריות שהן ספריות משנה של ספריה מיוצאת.
בשורה השנייה מראה כיצד ניתן לציין כללי ייצוא מרובים עבור מערכת קבצים אחת. הוא מייצא את
/srv/nfs4/backups
ומאפשר גישה לקריאה בלבד לכל טווח
192.168.33.0/24
ושניהם גישה לקריאה וכתיבה ל
192.168.33.3
. אפשרות
sync
אומרת ל- NFS לכתוב שינויים בדיסק לפני שהיא תשובה.
השורה האחרונה צריכה להיות בעלת הסבר עצמי. לקבלת מידע נוסף על כל האפשרויות הזמינות, סוג
man exports
בטרמינל שלך.
שמור את הקובץ וייצא את השיתופים:
sudo exportfs -ra
עליך להריץ את הפקודה למעלה בכל פעם שאתה משנה את קובץ
/etc/exports
. אם יש שגיאות או אזהרות הן יוצגו בטרמינל.
כדי להציג את הייצוא הפעיל הנוכחי ואת מצבם, השתמש ב:
sudo exportfs -v
התפוקה תכלול את כל המניות עם האופציות שלהם. כפי שאתה יכול לראות יש גם אפשרויות שלא הגדרנו בקובץ
/etc/exports
. אלה הן אפשרויות ברירת מחדל ואם ברצונך לשנות אותן, עליך להגדיר במפורש את האפשרויות האלה.
/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)
באובונטו
root_squash
מופעל כברירת מחדל. זוהי אחת האפשרויות החשובות ביותר בנושא אבטחת NFS. זה מונע ממשתמשי שורש המחוברים מהלקוחות לקבל הרשאות שורש במניות המותקנות. זה ימפה את
UID
ו-
GID
לשורש
nobody
/
nobody
לקבוצה
UID
/
GID
.
על מנת שהמשתמשים במחשבי הלקוח יוכלו לקבל גישה, NFS מצפה שמשתמשים ומזהי הקבוצה של הלקוח יתאימו לאלה שבשרת. אפשרות נוספת היא להשתמש בתכונת המיפוי של NFSv4 המתרגמת מזהי משתמשים וקבוצות לשמות ולהפך.
זהו זה. בשלב זה הקמת שרת NFS בשרת אובונטו. כעת תוכלו לעבור לשלב הבא ולהגדיר את הלקוחות ולהתחבר לשרת NFS.
תצורת חומת אש
בהנחה שאתה משתמש ב-
UFW
לניהול חומת האש שלך כדי לאפשר גישה מרשת המשנה
192.168.33.0/24
עליך להפעיל את הפקודה הבאה:
sudo ufw allow from 192.168.33.0/24 to any port nfs
כדי לאמת את הפעלת השינוי:
sudo ufw status
על הפלט להראות שהתנועה בנמל
2049
מותרת:
To Action From -- ------ ---- 2049 ALLOW 192.168.33.0/24 22/tcp ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6)
הגדר את לקוחות NFS
כעת, לאחר ששרת NFS מוגדר ומייצאים שיתופים, השלב הבא מגדיר את הלקוחות ומעלה את מערכות הקבצים המרוחקות.
אתה יכול גם לעלות על שיתוף NFS במכונות macOS ו- Windows אך אנו נתמקד במערכות לינוקס.
התקנת לקוח NFS
במכונות הלקוח עלינו להתקין רק את הכלים הדרושים להתקנת מערכות קבצים NFS מרוחקות.
-
התקן לקוח NFS ב- Debian ואובונטו
שם החבילה הכוללת תוכניות להתקנת מערכות קבצים NFS בהפצות מבוססות Debian הוא
nfs-common
. להתקנת הפעלה:sudo apt update
sudo apt install nfs-common
התקן לקוח NFS ב- CentOS ובפדורה
ב- Red Hat ונגזרותיו מתקינים את חבילת
nfs-utils
:sudo yum install nfs-utils
הרכבת מערכות קבצים
אנו נעבוד על מחשב הלקוח עם IP
192.168.33.110
שקיבל גישה לקריאה וכתיבה למערכת הקבצים
/srv/nfs4/www
ולקרוא גישה בלבד למערכת הקבצים
/srv/nfs4/backups
.
צור שתי ספריות חדשות עבור נקודות ההר. אתה יכול ליצור ספריות זו בכל מקום שתרצה.
sudo mkdir -p /backups
sudo mkdir -p /srv/www
הר את מערכות הקבצים המיוצאות באמצעות הפקודה
mount
:
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
כאשר
192.168.33.10
הוא ה- IP של שרת NFS. אתה יכול גם להשתמש בשם המארח במקום בכתובת ה- IP, אך הוא צריך להיפתר על ידי מחשב הלקוח. זה נעשה בדרך כלל על ידי מיפוי שם המארח ל- IP בקובץ
/etc/hosts
.
בעת התקנת מערכת קבצים NFSv4, עליך להשמיט את ספריית השורשים של NFS, כך שבמקום
/srv/nfs4/backups
אתה צריך להשתמש
/backups
.
ודא שמערכות הקבצים המרוחקות מותקנות בהצלחה באמצעות הפקודה mount או
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
כדי להפוך את ההרכבה לקבוע בהפעלה מחדש, פתח את קובץ
/etc/fstab
:
sudo nano /etc/fstab
ולהוסיף את השורות הבאות:
/ וכו '/ 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
כדי למצוא מידע נוסף על האפשרויות הזמינות בעת התקנת מערכת קבצים NFS, הקלד
man nfs
בטרמינל שלך.
אפשרות נוספת להתקנת מערכות הקבצים המרוחקות היא להשתמש בכלי
autofs
או ליצור יחידת systemd.
בדיקת גישה ל- NFS
בואו נבדוק את הגישה לשיתופים על ידי יצירת קובץ חדש לכל אחד מהם.
ראשית, נסה ליצור קובץ מבחן
/backups
באמצעות פקודת
touch
:
sudo touch /backups/test.txt
מערכת קבצי
/backup
מיוצאת כקריאה בלבד וכצפוי תראה הודעת שגיאה של
Permission denied
:
touch: cannot touch '/backups/test': Permission denied
לאחר מכן נסה ליצור קובץ מבחן
/srv/www
כשורש באמצעות הפקודה
sudo
:
sudo touch /srv/www/test.txt
שוב, תראה
Permission denied
ההודעה
Permission denied
.
touch: cannot touch '/srv/www': Permission denied
בהנחה שיש לך שימוש
www-data
במחשב הלקוח עם אותם
UID
ו-
GID
כמו בשרת המרוחק (מה שאמור להיות המקרה אם למשל התקנת nginx בשתי המכונות) אתה יכול לבדוק כדי ליצור קובץ כמשתמש
www-data
עם:
sudo -u www-data touch /srv/www/test.txt
הפקודה לא תציג פלט שמשמעותה הקובץ נוצר בהצלחה.
כדי לאמת אותו רשימת הקבצים בספרייה
/srv/www
:
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
sudo umount /backups
אם נקודת ההר מוגדרת בקובץ
/etc/fstab
, הקפד להסיר את השורה או להגיב אותה על ידי הוספת
#
בתחילת השורה.
סיכום
במדריך זה הראנו לכם כיצד להגדיר שרת NFS וכיצד להתקין את מערכות הקבצים המרוחקות על מכונות הלקוח. אם אתה מיישם NFS בייצור ושיתוף נתונים הגיוניים, כדאי מאוד לאפשר אימות קרברוס.
כחלופה ל- NFS, אתה יכול להשתמש ב- SSHFS כדי להקים ספריות מרוחקות באמצעות חיבור SSH. SSHFS מוצפן כברירת מחדל והרבה יותר קל להגדיר את תצורתו ולהשתמש בו.
אל תהסס להשאיר תגובה אם יש לך שאלות.
מסוף הר Ubuntu NFSכיצד להתקין ולהגדיר שרת nfs ב- centos 8
במדריך זה תעברו את הצעדים הנחוצים להגדרת שרת NFSv4 ב- CentOS 8. אנו נראה לכם כיצד להתקין מערכת קבצים NFS על הלקוח.
כיצד להתקין ולהגדיר redis מחדש ב- centos 7
Redis היא חנות למבנה נתונים של קוד פתוח בזיכרון. זה יכול לשמש כמסד נתונים, מטמון וכמתווך הודעות ותומך במבני נתונים שונים כמו מחרוזות, האש, רשימות, סטים וכו '.
כיצד להתקין ולהגדיר מחדש מחדש ב- debian 10 Linux
במדריך זה, נסקור כיצד להתקין ולהגדיר את Redis ב- Debian 10, Buster. Redis היא חנות נתונים בעלת קוד פתוח בזיכרון.