How to Install a Basic NFS Server on Linux - CentOS 8
תוכן עניינים:
- תנאים מוקדמים
- הגדר את שרת NFS
- התקנת שרת NFS
- יצירת מערכות הקבצים
- ייצוא מערכות הקבצים
- תצורת חומת אש
- הגדר את לקוחות NFS
- התקנת לקוח NFS
- הרכבת מערכות קבצים
- בדיקת גישה ל- NFS
- הסרת מערכת הקבצים של NFS
- סיכום
Network File System (NFS) הוא פרוטוקול מערכת קבצים מבוזר המאפשר לשתף ספריות מרוחקות ברשת. עם NFS, תוכלו להתקין ספריות מרוחקות במערכת שלכם ולעבוד עם הקבצים במחשב המרוחק כאילו היו קבצים מקומיים.
פרוטוקול NFS אינו מוצפן כברירת מחדל, ובניגוד לסמבה, הוא אינו מספק אימות משתמשים. הגישה לשרת מוגבלת על ידי כתובות ה- IP או שמות המארחים של הלקוחות.
במדריך זה תעברו את הצעדים הנחוצים להגדרת שרת NFSv4 ב- CentOS 8. אנו נראה לכם כיצד להתקין מערכת קבצים NFS על הלקוח.
תנאים מוקדמים
אנו מניחים שיש לך שרת שמפעיל את CentOS 8 עליו נקבע את שרת NFS ומכונות אחרות שישמשו כלקוחות NFS. השרת והלקוחות צריכים להיות מסוגלים לתקשר זה עם זה דרך רשת פרטית. אם ספק האירוח שלך אינו מציע כתובות IP פרטיות, אתה יכול להשתמש בכתובות ה- IP הציבוריות ולהגדיר את חומת האש של השרת כך שתאפשר תנועה ביציאה
2049
רק ממקורות מהימנים.
המכונות בדוגמה זו כוללות את ה- IP הבא:
NFS Server IP: 192.168.33.148 NFS Clients IPs: From the 192.168.33.0/24 range
הגדר את שרת NFS
פרק זה מסביר כיצד להתקין את החבילות הדרושות, ליצור ולייצא את ספריות NFS ולהגדיר את חומת האש.
התקנת שרת NFS
חבילת "nfs-utils" מספקת את כלי ה- NFS והדמונים לשרת NFS. כדי להתקין אותו הפעל את הפקודה הבאה:
sudo dnf install nfs-utils
לאחר השלמת ההתקנה, הפעל את שירות NFS והפעל אותו על ידי הקלדה:
sudo systemctl enable --now nfs-server
כברירת מחדל, ב- CentOS 8 NFS גרסאות 3 ו- 4.x מופעלות, גרסה 2 מושבתת. NFSv2 די ישן עכשיו, ואין שום סיבה לאפשר זאת. כדי לאמת אותה הפעל את פקודת
cat
הבאה:
sudo cat /proc/fs/nfsd/versions
-2 +3 +4 +4.1 +4.2
אפשרויות התצורה של שרת NFS מוגדרות
/etc/nfsmount.conf
/etc/nfs.conf
ו-
/etc/nfs.conf
. הגדרות ברירת המחדל מספיקות ללימוד שלנו.
יצירת מערכות הקבצים
בעת קביעת התצורה של שרת NFSv4, כדאי להשתמש בספריית שורש גלובלית של NFS ולחייב את הרכיב של ספריות לנקודת הרכבה של השיתוף. בדוגמה זו אנו נשתמש
/srv/nfs4
כשורש NFS.
כדי להסביר טוב יותר כיצד ניתן לקבוע את התצורה של mounts NFS, אנו הולכים לשתף שתי ספריות (
/var/www
ו-
/opt/backups
) עם הגדרות תצורה שונות.
ה-
/var/www/
הוא בבעלות המשתמש וקבוצת ה-
apache
ו
/opt/backups
היא בבעלות
root
.
צור את מערכת
mkdir
הייצוא באמצעות הפקודה
mkdir
:
sudo mkdir -p /srv/nfs4/{backups, 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
ייצא את ספריות
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(sync, wdelay, hide, no_subtree_check, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4/www 192.168.33.110(sync, wdelay, hide, no_subtree_check, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4 192.168.33.0/24(sync, wdelay, hide, crossmnt, no_subtree_check, fsid=0, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4/backups 192.168.33.0/24(sync, wdelay, hide, no_subtree_check, sec=sys, ro, secure, root_squash, no_all_squash)
root_squash
היא אחת האפשרויות החשובות ביותר בנושא אבטחת NFS. זה מונע ממשתמשי שורש המחוברים מהלקוחות לקבל הרשאות שורש במניות המותקנות. זה ימפה את
UID
ו-
GID
לשורש
nobody
/
nobody
לקבוצה
UID
/
GID
.
למשתמשים במחשבי הלקוח תהיה גישה, NFS מצפה שמזהי המשתמש והקבוצה של הלקוח יתאימו לאלה שעל השרת. אפשרות נוספת היא להשתמש בתכונת המיפוי של NFSv4 המתרגמת מזהי משתמשים וקבוצות לשמות ולהפך.
זהו זה. בשלב זה הגדרת שרת NFS בשרת CentOS שלך. כעת תוכלו לעבור לשלב הבא ולהגדיר את הלקוחות ולהתחבר לשרת NFS.
תצורת חומת אש
FirewallD הוא פתרון חומת האש המוגדר כברירת מחדל ב- Centos 8.
שירות NFS כולל כללים מוגדרים מראש לאפשר גישה לשרת NFS.
הפקודות הבאות יאפשרו לצמיתות גישה מרשת המשנה
192.168.33.0/24
:
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
במכשירי הלקוח, התקן את הכלים הדרושים להתקנת מערכות קבצים 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.148:/backups /backups
sudo mount -t nfs -o vers=4 192.168.33.148:/www /srv/www
כאשר
192.168.33.148
הוא ה- IP של שרת NFS. אתה יכול גם להשתמש בשם המארח במקום בכתובת ה- IP, אך הוא צריך להיפתר על ידי מחשב הלקוח. זה נעשה בדרך כלל על ידי מיפוי שם המארח ל- IP בקובץ
/etc/hosts
.
בעת התקנת מערכת קבצים NFSv4, עליך להשמיט את ספריית השורשים של NFS, כך שבמקום
/srv/nfs4/backups
אתה צריך להשתמש
/backups
.
ודא שמערכות הקבצים המרוחקות מותקנות בהצלחה באמצעות הפקודה mount או
df
:
df -h
הפקודה תדפיס את כל מערכות הקבצים המותקנות. שתי השורות האחרונות הן המניות המותקנות:
… 192.168.33.148:/backups 9.7G 1.2G 8.5G 13% /backups 192.168.33.148:/www 9.7G 1.2G 8.5G 13% /srv/www
כדי להפוך את ההרכבה לקבוע בהפעלה מחדש, פתח את קובץ
/etc/fstab
:
sudo nano /etc/fstab
ולהוסיף את השורות הבאות:
/ וכו '/ fstab
192.168.33.148:/backups /backups nfs defaults, timeo=900, retrans=5, _netdev 0 0 192.168.33.148:/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
ספריית
/var/www
נמצאת בבעלות משתמש
apache
,
root_squash
זה
root_squash
אפשרות
root_squash
, אשר ממפה את משתמש השורש למשתמש
nobody
וקבוצת הקבוצה שלא קיימת הרשאות כתיבה לשיתוף המרוחק.
בהנחה שקיימת
apache
משתמש במחשב הלקוח עם אותו
UID
ו-
GID
כמו בשרת המרוחק (מה שאמור להיות המקרה אם, למשל, התקנת אפאצ 'בשתי המכונות), אתה יכול לבדוק כדי ליצור קובץ
apache
משתמש. עם:
sudo -u apache touch /srv/www/test.txt
הפקודה לא תציג פלט, כלומר הקובץ נוצר בהצלחה.
כדי לאמת אותו רשימת הקבצים בספרייה
/srv/www
:
ls -la /srv/www
על הפלט להציג את הקובץ החדש שנוצר:
drwxr-xr-x 3 apache apache 4096 Jun 23 22:18. drwxr-xr-x 3 root root 4096 Jun 23 22:29.. -rw-r--r-- 1 apache apache 0 Jun 23 21:58 index.html -rw-r--r-- 1 apache apache 0 Jun 23 22:18 test.txt
הסרת מערכת הקבצים של NFS
sudo umount /backups
אם נקודת ההר מוגדרת בקובץ
/etc/fstab
, הקפד להסיר את השורה או להגיב אותה על ידי הוספת
#
בתחילת השורה.
סיכום
במדריך זה הראנו לכם כיצד להגדיר שרת NFS וכיצד להתקין את מערכות הקבצים המרוחקות על מכונות הלקוח. אם אתה מיישם NFS בייצור ושיתוף נתונים הגיוניים, כדאי מאוד לאפשר אימות kerberos.
כחלופה ל- NFS, אתה יכול להשתמש ב- SSHFS כדי להקים ספריות מרוחקות באמצעות חיבור SSH. SSHFS מוצפן כברירת מחדל והרבה יותר קל להגדיר את תצורתו ולהשתמש בו.
אל תהסס להשאיר תגובה אם יש לך שאלות.
מרכז מסוף הרכיצד להתקין ולהגדיר שרת nfs ב- Ubuntu 18.04
Network File System (NFS) הוא פרוטוקול מערכת קבצים מבוזר המאפשר לשתף ספריות מרוחקות ברשת. במדריך זה נעבור כיצד להתקין שרת NFSv4 באובונטו 18.04.
כיצד להתקין ולהגדיר מחדש מחדש ב- debian 10 Linux
במדריך זה, נסקור כיצד להתקין ולהגדיר את Redis ב- Debian 10, Buster. Redis היא חנות נתונים בעלת קוד פתוח בזיכרון.
כיצד להתקין ולהגדיר מחדש מחדש באובונטו 18.04
Redis היא חנות למבנה נתונים של קוד פתוח בזיכרון. זה יכול לשמש כמסד נתונים, מטמון וכמתווך הודעות ותומך במבני נתונים שונים כמו מחרוזות, האש, רשימות, סטים וכו '. מדריך זה מתאר כיצד להתקין ולהגדיר את Redis בשרת Ubuntu 18.04.