«راه‌اندازی فایل‌سیستم‌های استاندارد لینوکس و پیکربندی سرور NFSv4 – سطح پیشرفته» پرینت


## بخش اول: راه‌اندازی فایل‌سیستم‌های استاندارد در لینوکس

### 1️⃣ ساخت پارتیشن و فایل‌سیستم

ابتدا دیسک خام را پارتیشن‌بندی می‌کنیم:

```bash
sudo fdisk /dev/sdb
```

سپس فایل‌سیستم مورد نظر را روی آن ایجاد می‌کنیم (مثلاً ext4):

```bash
sudo mkfs.ext4 /dev/sdb1
sudo mkdir -p /mnt/data
sudo mount /dev/sdb1 /mnt/data
```

### 2️⃣ اضافه‌کردن به fstab برای مانت خودکار

```bash
sudo blkid # گرفتن UUID پارتیشن
sudo nano /etc/fstab
```

و افزودن خط:

```
UUID=xxxxxxxx /mnt/data ext4 defaults,noatime 0 2
```

---

## بخش دوم: پیکربندی سرور NFSv4 در لینوکس

### 📌 هدف: اشتراک‌گذاری دایرکتوری‌ها به کلاینت‌ها از طریق پروتکل **NFS نسخه ۴**

---

### 1️⃣ نصب NFS Server

در توزیع‌های Debian/Ubuntu:

```bash
sudo apt install nfs-kernel-server
```

در توزیع‌های RHEL/CentOS:

```bash
sudo yum install nfs-utils
```

---

### 2️⃣ ساخت دایرکتوری اشتراکی

```bash
sudo mkdir -p /srv/nfs/data
sudo chown nobody:nogroup /srv/nfs/data
sudo chmod 755 /srv/nfs/data
```

---

### 3️⃣ پیکربندی فایل `/etc/exports`

فایل زیر را ویرایش کن:

```bash
sudo nano /etc/exports
```

و اضافه کن:

```
/srv/nfs/data 192.168.1.0/24(rw,sync,no_subtree_check,fsid=0,crossmnt)
```

> `fsid=0` فقط برای ریشه NFSv4 الزامی‌ست.

---

### 4️⃣ راه‌اندازی و فعال‌سازی سرویس‌ها

```bash
sudo exportfs -ra
sudo systemctl enable nfs-server
sudo systemctl start nfs-server
```

برای اطمینان از فعال بودن:

```bash
sudo exportfs -v
```

---

### 5️⃣ باز کردن پورت‌های مورد نیاز در فایروال

در CentOS/RHEL:

```bash
sudo firewall-cmd --add-service=nfs --permanent
sudo firewall-cmd --add-service=mountd --permanent
sudo firewall-cmd --add-service=rpc-bind --permanent
sudo firewall-cmd --reload
```

---

## بخش سوم: اتصال به NFSv4 از سمت کلاینت

روی کلاینت:

### نصب ابزار NFS

```bash
sudo apt install nfs-common # برای Debian/Ubuntu
sudo yum install nfs-utils # برای RHEL/CentOS
```

### مانت پوشه اشتراکی:

```bash
sudo mkdir -p /mnt/nfs_data
sudo mount -t nfs4 192.168.1.100:/ /mnt/nfs_data
```

> مسیر `/` در NFSv4 به معنی ریشه share تعریف شده با `fsid=0` است.

---

### مانت خودکار با fstab در کلاینت:

```bash
192.168.1.100:/ /mnt/nfs_data nfs4 defaults,_netdev 0 0
```

---

## نکات امنیتی و حرفه‌ای

| مورد | توضیح |
| -------------------- | ------------------------------------------------------ |
| `no_root_squash` | دسترسی root را از کلاینت‌ها حذف نکن (خطرناک) |
| `fsid=0` | الزامی برای ریشه NFSv4 |
| رمزنگاری مسیر با SSH | برای انتقال امن (در صورت نیاز به امنیت بالا) |
| محدود کردن IP ها | با `hosts.allow` یا `firewalld` کنترل دقیق داشته باشید |

---

## جمع‌بندی

راه‌اندازی فایل‌سیستم استاندارد و اشتراک‌گذاری آن از طریق NFSv4، یکی از بهترین روش‌ها برای انتقال فایل و اتصال سیستم‌ها در شبکه‌های داخلی است. با رعایت نکات امنیتی، می‌توانید این سیستم را در سازمان یا سرورهای ابری خود پیاده‌سازی کنید.

 


آیا این پاسخ به شما کمک کرد؟

  • 0
« برگشت