Android

Centos 8'de bir nfs sunucusu nasıl kurulur ve yapılandırılır

Настройка Gnome в CentOS 8

Настройка Gnome в CentOS 8

İçindekiler:

Anonim

Ağ Dosya Sistemi (NFS), uzak dizinleri ağ üzerinden paylaşmanızı sağlayan dağıtılmış bir dosya sistemi protokolüdür. NFS ile, sisteminize uzak dizinler bağlayabilir ve uzak makinedeki dosyalarla yerel dosyalarmış gibi çalışabilirsiniz.

NFS protokolü varsayılan olarak şifrelenmez ve Samba'nın aksine, kullanıcı kimlik doğrulaması sağlamaz. Sunucuya erişim, istemcilerin IP adresleri veya ana bilgisayar adları tarafından kısıtlanır.

Bu öğreticide, CentOS 8'de bir NFSv4 Sunucusu kurmak için gerekli adımları uygulayacaksınız. Ayrıca, istemciye bir NFS dosya sisteminin nasıl takılacağını da göstereceğiz.

Ön şartlar

NOS sunucusunu ve NFS istemcisi olarak görev yapacak diğer makineleri kuracağımız CentOS 8 çalıştıran bir sunucunuz olduğunu varsayıyoruz. Sunucu ve istemciler özel bir ağ üzerinden birbirleriyle iletişim kurabilmelidir. Barındırma sağlayıcınız özel IP adresleri sunmuyorsa, genel IP adreslerini kullanabilir ve sunucu güvenlik duvarını 2049 numaralı bağlantı noktasında yalnızca güvenilir kaynaklardan gelen trafiğe izin verecek şekilde yapılandırabilirsiniz.

Bu örnekteki makineler aşağıdaki IP'lere sahiptir:

NFS Server IP: 192.168.33.148 NFS Clients IPs: From the 192.168.33.0/24 range

NFS Sunucusunu Ayarlama

Bu bölümde, gerekli paketlerin nasıl kurulacağı, NFS dizinlerinin nasıl oluşturulacağı ve dışa aktarılacağı ve güvenlik duvarının nasıl yapılandırılacağı açıklanmaktadır.

NFS sunucusunu yükleme

“Nfs-utils” paketi, NFS sunucusu için NFS yardımcı programları ve artalan süreçleri sağlar. Kurmak için aşağıdaki komutu çalıştırın:

sudo dnf install nfs-utils

Kurulum tamamlandıktan sonra, NFS hizmetini etkinleştirin ve başlatın:

sudo systemctl enable --now nfs-server

Varsayılan olarak, CentOS 8 NFS sürüm 3 ve 4.x'te etkin, sürüm 2 devre dışıdır. NFSv2 artık oldukça eskidir ve etkinleştirmek için bir neden yoktur. Doğrulamak için aşağıdaki cat komutunu çalıştırın:

sudo cat /proc/fs/nfsd/versions

-2 +3 +4 +4.1 +4.2

NFS sunucusu yapılandırma seçenekleri /etc/nfsmount.conf ve /etc/nfs.conf dosyalarında ayarlanır. Varsayılan ayarlar öğreticimiz için yeterlidir.

Dosya sistemlerinin oluşturulması

Bir NFSv4 sunucusunu yapılandırırken, genel bir NFS kök dizini kullanmak ve gerçek dizinleri paylaşım bağlama noktasına bağlamak için iyi bir yöntemdir. Bu örnekte, /srv/nfs4 yöneticisini NFS kökü olarak /srv/nfs4 .

NFS bağlantılarının nasıl yapılandırılabileceğini daha iyi açıklamak için, iki dizini ( /var/www ve /opt/backups ) farklı yapılandırma ayarlarıyla paylaşacağız.

/var/www/ kullanıcı ve grup apache ve /opt/backups root aittir.

mkdir komutunu kullanarak dışa aktarma dosya sistemini mkdir :

sudo mkdir -p /srv/nfs4/{backups, www}

Gerçek dizinleri bağlayın:

sudo mount --bind /opt/backups /srv/nfs4/backups sudo mount --bind /var/www /srv/nfs4/www

Bağlama bağlarını kalıcı hale getirmek için, /etc/fstab dosyasına aşağıdaki girdileri ekleyin:

sudo nano /etc/fstab / Etc / fstab

/opt/backups /srv/nfs4/backups none bind 0 0 /var/www /srv/nfs4/www none bind 0 0

Dosya sistemlerini dışa aktarma

Bir sonraki adım, NFS sunucusu tarafından dışa aktarılacak dosya sistemlerini, paylaşım seçeneklerini ve bu dosya sistemlerine erişmesine izin verilen istemcileri tanımlamaktır. Bunu yapmak için /etc/exports dosyasını açın:

sudo nano /etc/exports

www ve backups dizinlerini dışa aktarın ve yalnızca 192.168.33.0/24 ağındaki istemcilerden erişime izin verin:

/ Etc / ihracat

/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)

İlk satır /srv/nfs NFS kök dizinini tanımlayan fsid=0 içerir. Bu NFS birimindeki erişime yalnızca 192.168.33.0/24 alt ağındaki istemciler izin verilir. Dışa aktarılan bir dizinin alt dizinleri olan dizinleri paylaşmak için crossmnt seçeneği gereklidir.

İkinci satır, bir dosya sistemi için birden çok dışa aktarma kuralının nasıl belirtileceğini gösterir. /srv/nfs4/backups dizinini /srv/nfs4/backups ve 192.168.33.0/24 aralığının tamamına yalnızca okuma erişimine ve 192.168.33.0/24 /srv/nfs4/backups hem okuma hem de yazma erişimine izin verir. sync seçeneği, NFS'ye yanıt vermeden önce diske değişiklikler yazmasını söyler.

Son satır açıklayıcı olmalıdır. Mevcut tüm seçenekler hakkında daha fazla bilgi için terminalinize man exports yazın.

Dosyayı kaydedin ve paylaşımları dışa aktarın:

sudo exportfs -ra

/etc/exports dosyasını her değiştirdiğinizde yukarıdaki komutu çalıştırmanız gerekir. Herhangi bir hata veya uyarı varsa, bunlar terminalde gösterilecektir.

Mevcut etkin dışa aktarmaları ve durumlarını görüntülemek için şunu kullanın:

sudo exportfs -v

Çıktı, seçenekleriyle tüm paylaşımları içerecektir. Gördüğünüz gibi, /etc/exports dosyasında tanımlamadığımız seçenekler de var. Bunlar varsayılan seçeneklerdir ve bunları değiştirmek istiyorsanız, bu seçenekleri açıkça ayarlamanız gerekir.

/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 güvenliği ile ilgili en önemli seçeneklerden biridir. İstemcilerden bağlanan kök kullanıcıların bağlı paylaşımlarda kök ayrıcalıklarına sahip olmasını engeller. Kök UID ve nogroup nobody / nogroup UID / GID nogroup .

İstemci makinelerindeki kullanıcıların erişebilmesi için NFS, istemcinin kullanıcı ve grup kimliklerinin sunucudakilerle eşleşmesini bekler. Başka bir seçenek de, kullanıcı ve grup kimliklerini adlara ve tam tersine çeviren NFSv4 idmap oluşturma özelliğini kullanmaktır.

Bu kadar. Bu noktada, CentOS sunucunuzda bir NFS sunucusu ayarladınız. Artık bir sonraki adıma geçebilir ve istemcileri yapılandırabilir ve NFS sunucusuna bağlanabilirsiniz.

Güvenlik duvarı yapılandırması

Güvenlik DuvarıD, Centos 8'deki varsayılan güvenlik duvarı çözümüdür.

NFS hizmeti, NFS sunucusuna erişime izin vermek için önceden tanımlanmış kurallar içerir.

Aşağıdaki komutlar 192.168.33.0/24 alt 192.168.33.0/24 erişime kalıcı olarak izin verecektir:

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 İstemcilerini Ayarlama

Artık NFS sunucusu ayarlanmış ve paylaşımlar dışa aktarılmıştır, bir sonraki adım istemcileri yapılandırır ve uzak dosya sistemlerini bağlar.

NFS paylaşımını macOS ve Windows makinelerine de ekleyebilirsiniz, ancak Linux sistemlerine odaklanacağız.

NFS istemcisini yükleme

İstemcinin makinelerine, uzak NFS dosya sistemlerini bağlamak için gerekli araçları yükleyin.

  • Debian ve Ubuntu'ya NFS istemcisi yükleme

    Debian tabanlı dağıtımlarda NFS dosya sistemlerini bağlamak için programlar içeren paketin adı nfs-common . Yüklemek için şunu çalıştırın:

    sudo apt update sudo apt install nfs-common

    CentOS ve Fedora'ya NFS istemcisi yükleme

    Red Hat ve türevlerinde nfs-utils paketini kurun:

    sudo yum install nfs-utils

Montaj dosya sistemleri

/srv/nfs4/www dosya sistemine okuma ve yazma erişimi ve /srv/nfs4/backups dosya sistemine salt okuma erişimi olan IP 192.168.33.110 ile istemci makinede çalışacağız.

Bağlama noktaları için iki yeni dizin oluşturun. Bu dizinleri istediğiniz yerde oluşturabilirsiniz.

sudo mkdir -p /backups sudo mkdir -p /srv/www

Dışa aktarılan dosya sistemlerini mount komutuyla bağlayın:

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

Burada 192.168.33.148 , NFS sunucusunun IP'sidir. IP adresi yerine ana bilgisayar adını da kullanabilirsiniz, ancak istemci makine tarafından çözülmesi gerekir. Bu genellikle ana bilgisayar adını /etc/hosts dosyasındaki IP ile eşleyerek yapılır.

Bir NFSv4 dosya sistemi kurarken, /srv/nfs4/backups yerine /srv/nfs4/backups kullanmanız için NFS kök dizinini atlamanız gerekir.

Mount veya df komutunu kullanarak uzak dosya sistemlerinin başarıyla bağlandığını doğrulayın:

df -h

Komut bağlı tüm dosya sistemlerini yazdırır. Son iki satır bağlı paylardır:

… 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

Montajları yeniden başlatma sırasında kalıcı hale getirmek için /etc/fstab dosyasını açın:

sudo nano /etc/fstab

ve aşağıdaki satırları ekleyin:

/ Etc / 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

Bir NFS dosya sistemini monte ederken kullanılabilir seçenekler hakkında daha fazla bilgi edinmek için terminalinize man nfs yazın.

Uzak dosya sistemlerini bağlamak için başka bir seçenek, autofs aracını kullanmak veya bir systemd birimi oluşturmaktır.

NFS Erişimini Test Etme

Her birinde yeni bir dosya oluşturarak paylaşımlara erişimi test edelim.

İlk olarak, touch komutunu kullanarak /backups dizininde bir test dosyası oluşturmayı deneyin:

sudo touch /backups/test.txt

/backup dosya sistemi salt okunur olarak dışa aktarılır ve beklendiği gibi Permission denied hata iletisini görürsünüz:

touch: cannot touch '/backups/test': Permission denied

Ardından, sudo komutunu kullanarak /srv/www dizinine kök olarak bir test dosyası oluşturmayı deneyin:

sudo touch /srv/www/test.txt

Yine, Permission denied mesajını göreceksiniz.

touch: cannot touch '/srv/www': Permission denied

/var/www dizini apache kullanıcısına aittir ve bu paylaşımda kök kullanıcıyı uzak kullanıcı için yazma izinleri olmayan nobody kullanıcı ve grup grubu ile nogroup root_squash seçenek kümesi bulunur.

İstemci makinede, uzak sunucudakiyle aynı UID ve GID değerine sahip bir kullanıcı apache var olduğunu varsayarsak (örneğin, her iki makineye de apache yüklediyseniz böyle olmalıdır), kullanıcı apache olarak bir dosya oluşturmayı test edebilirsiniz ile:

sudo -u apache touch /srv/www/test.txt

Komut hiçbir çıktı göstermeyecektir, bu da dosyanın başarıyla oluşturulduğu anlamına gelir.

/srv/www dizinindeki dosyaları listelediğini doğrulamak için:

ls -la /srv/www

Çıktıda yeni oluşturulan dosya gösterilmelidir:

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 Dosya Sisteminin Bağlantısını Kesme

sudo umount /backups

Bağlama noktası /etc/fstab dosyasında tanımlanmışsa, satırı kaldırdığınızdan emin olun veya satırın başına # ekleyerek satırı yorumlayın.

Sonuç

Bu öğreticide, NFS sunucusunun nasıl kurulacağını ve uzak dosya sistemlerinin istemci makinelere nasıl bağlanacağını gösterdik. NFS'yi üretimde uyguluyorsanız ve mantıklı veriler paylaşıyorsanız, kerberos kimlik doğrulamasını etkinleştirmek iyi bir fikirdir.

NFS'ye alternatif olarak, uzak dizinleri bir SSH bağlantısı üzerinden bağlamak için SSHFS'yi kullanabilirsiniz. SSHFS varsayılan olarak şifrelenmiştir ve yapılandırılması ve kullanımı çok daha kolaydır.

Herhangi bir sorunuz varsa yorum bırakmaktan çekinmeyin.

centos nfs montaj terminali