Sun Microsystems'in NFS'si (Ağ Dosya Sistemi), ağa bağlı aygıtların bir ağ üzerinden NFS çalıştıran sunucuları yerel sürücüleri olarak kullanmalarına izin veren RPC tabanlı bir dağıtılmış dosya sistemi yapısıdır.

İşte bir Linux makinesinde bir NFS sunucusunu kurmak ve yapılandırmak için adım adım bir kılavuz.

Ağ Dosya Sistemi Nedir?

NFS dosya sisteminin dört protokolü vardır. Sunucu hazır olduğunda kullanılacak portu portmap'e (protokolü port numaralarına çeviren sunucu) bildirir ve kontrollü RPC program numarasını sağlar.

Gömülü bir Linux sistemi kullanırken, cihazınızı bir NFS dosya paylaşımı yoluyla başlatmak çok uygundur. doğrudan depolama aygıtından başlatmak yerine ağ üzerinden (NAND flash, eMMC, MMC, vb.).

Daha nadir olmakla birlikte, sisteminizi doğrudan NFS paylaşımından başlatmasanız bile, sistem başlatıldıktan sonra bir NFS paylaşımı bağlamak ve bunu kullanarak dosya paylaşımları yapmak isteyebilirsiniz. Her iki senaryonun da çalışabilmesi için öncelikle geliştirme yaptığınız bilgisayara bir NFS sunucusu kurmalısınız.

instagram viewer

Linux'ta NFS Nasıl Kurulur

kullanıyorsanız Debian tabanlı sistem Ubuntu veya Linux Mint gibi, nfs-çekirdek-sunucusu aşağıdaki gibi paket:

sudo uygun Yüklemek nfs-çekirdek-sunucu

Arch Linux'ta:

sudo pacman -S nfs-utils

Fedora, CentOS ve RHEL'de:

sudo dnf -y Yüklemek nfs-utils

İşlemin sonunda NFS sunucunuz otomatik olarak çalışacaktır. Ancak bu noktada ağ üzerinden bilgisayarınızda hangi dizinleri paylaşmak istediğinizi henüz bilmiyor. Bu nedenle, varsayılan olarak herhangi bir paylaşım sağlamaz.

Farklı yetki ve kısıtlamalarla ağ paylaşımına izin vermek için aynı sunucu üzerinde birden fazla dizin açabilirsiniz.

Linux'ta NFS Sunucusunu Yapılandırma

NFS sunucusu üzerinden herhangi bir dizini paylaşmak için, dizinle ilgili bir ayarı yapılandırmak gerekir. /etc/exports dosya. Dosyayı istediğiniz herhangi bir metin düzenleyiciyle açın. Komuta sudo önekini eklediğinizden emin olun.

sudo vim /etc/ihracat

Burada gördüğünüz eşleme seçeneklerinin ne anlama geldiğini merak ediyor olabilirsiniz:

  • root_squash: Sudo yetkili istemci kullanıcılarını NFS'de hiç kimse kullanıcı ve grup olarak işaretler
  • no_root_squash: Kök ezmeyi devre dışı bırakır
  • all_squash: Root_squash'tan farklı olarak, tüm kullanıcıların hiç kimse kullanıcı ve grup olarak eşlenmesine izin verir. Genellikle halka açık erişim için kullanılır.
  • no_all_squash: all_squash'ın tersi; Bu seçenek varsayılan değerdir

NFS sunucusundaki /etc/exports dosyasında izin verdiğiniz IP aralıklarının dışındaki bir sistem ilgili kaynağa erişmeye çalıştığında, NFS sunucusu isteği reddedecektir.

Gömülü sisteminize monte ederken "sunucu tarafından erişim reddedildi" mesajları alabilirsiniz. Aşağıdakine benzer hata mesajları programın sonunda görünecektir. /var/log/syslog NFS sunucusunun çalıştığı bilgisayardaki dosya:

rpc.mountd[1041]: takma isteği reddedildi itibaren192.168.2.2için /home/example/casper/hedef (/home/örnek/casper/hedef): eşsiz ana bilgisayar

Yukarıdaki gibi eşleşmeyen bir host log mesajı gördüğünüzde /etc/exports dosyasındaki ilgili kuralın IP/Netmask bölümünü genişletmeli veya yıldız işareti (*) tüm IP adreslerine erişim izni vermek istiyorsanız özel karakter.

üzerinde değişiklik yaptıktan sonra NFS hizmetini yeniden başlatmanız gerekir. /etc/exports dosya:

sudo hizmeti nfs-kernel-server yeniden başlatma

Veya dağıtımınız systemctl ile birlikte geliyorsa, aşağıdaki komutu çalıştırın:

sudosistemctltekrar başlatnfs sunucusu.hizmet

Ayrıca şunları da verebilirsiniz: -r parametreye ihracat komutu, paylaşımla ilgili ayarları değiştiren dizinleri yeniden paylaşmasını sağlar:

sudo dışa aktarma -r

Mount Gecikme Sorununu Düzeltme

Sunucunuzda NFS protokolü sürüm 4 ve üzerini kullandığınızda, işlem sırasında 15 saniyeye kadar gecikmeler olabilir. NFS'nin varsayılan yapılandırmalarıyla geleneksel işletim senaryolarında istemci tarafı bağlama işlemi sunucu. Bu sorun Debian, Fedora ve Ubuntu'nun bazı sürümlerinde görünebilir.

Benzer bir mount gecikmesi yaşıyorsanız, şunları yapabilirsiniz: sunucu tarafı günlük dosyalarını kontrol edin (/var/log/syslog, /var/log/messages) aşağıdakine benzer bir günlük mesajı için:

... RPC: AUTH_GSS yükseltme çağrısı zaman aşımına uğradı

Bu mesaj, Kerberos kimlik doğrulamasının başarısız olduğunu ve zaman aşımına uğradığını gösterir. Ortamınızdaki ağda güvenlik kimlik doğrulaması için muhtemelen Kerberos protokolüne ihtiyacınız olmayacak. Bu şekilde yapılandırılmış bir ağda olsanız bile, en azından yerleşik Linux sistemlerinizle Kerberos kimlik doğrulamasını etkinleştirmeniz gerekmez.

Sorunu çözmek için GSSD hizmetini NFS ile çalıştırmanın alternatifleri önerilmiş olsa da, bu yaklaşımların tüm dağıtımlarda ve paket sürümlerinde aynı etki ve bu nedenle, bu sorunu en mantıklı olandan çözmek kök.

engellemeniz (veya kara listeye almanız) gerekir. rpcsec_gss_krb5 çekirdek modülünün NFS sunucusunun yürütülmekte olduğu Linux sistemine yüklenmesini engeller.

Bu seçeneğin bilgisayarınızı her yeniden başlattığınızda etkinleşmesi için, yeni bir dosya oluştur aranan /etc/modprobe.d/nfs-gss-blacklist.conf ve ona şu satırları ekleyin:

kara liste rpcsec_gss_krb5

Dosyayı kaydedip sistemi yeniden başlattığınızda, bağlama gecikmesi sorunu ortadan kalkacaktır.

NFS Sunucusu Neden Kullanılır?

NFS'nin kurulumu basit ve uygun maliyetlidir. Bireysel bir kullanıcının bilgisayarında ekstra yazılım ve depolama alanı gereksinimini azaltan merkezi yönetime izin verir. Tek bir makinede birden çok kullanıcı aynı disk alanını paylaşabilir. Depolama alanını genişletmek için bu diskleri dosya sistemlerinin üstüne koyabilirler.

NFS paylaşımı, çok fazla depolama alanı gerektiren programların tek bir sunucuda gruplandırılmasına olanak tanır. Bu, büyük disk alanı tasarrufu ile sonuçlanabilir. Önceki NFS sürümleri savunmasız olsa da, daha yeni sürümler, Kerberos kimlik doğrulaması dahil olmak üzere ek koruma düzeyleri getirmiştir.

Bununla birlikte, bazı dezavantajlar da vardır. NFS'nin bazı durumlarda yoğun ağ trafiği sırasında yavaşladığı tespit edilmiştir. Windows ile paylaşmak mümkündür, ancak bazı üçüncü taraf uygulamaları gerektirebilir. Ancak bu güvenlik açısından pek mantıklı bir uygulama değil. Yapılandırma doğru değilse, yetkisiz erişim meydana gelebilir.

NFS Kullanarak Linux'ta Dosya Sistemi Paylaşımı Kolaylaştı

Güvenlik sorunlarını bilmek ve çözüm bulmak, bir sistem yöneticisinin en kritik görevlerinden biridir. Sadece NFS için değil, tüm dosya paylaşım sistemleri ve yönetim araçları için güvenlik prosedürlerini bilmek gerekir.