Linuxlar arası NFS dosya paylaşımı yapma

Linux Yazıları24/09/2014


Linux ve türevi işletim sistemlerinde dosya paylaşımı denince ilk akla gelen NFS(Network File System)'dir. Ayarları hakkında kısa kısa aklıma gelenler.

Server Tarafı

# vi /etc/exports

/export/share 192.168.1.0/24(rw,no_root_squash)

Not: no_root_squash parametresi, nfs client’ların export edilen dizinlere, root yetkisi ile erişmesini sağlamaktadır.  Bu nedenle, NFS sunucunuzu public bir ortamda kullanmak istiyorsanız güvenlik nedenlerinden ötürü bu parametreyi kullanmanız önerilmez.

Yukarıda değinilen sebeplerle, no_root_squash parametresini kullanmak istememeniz durumunda, export ettiğiniz dizine rw (read-write) yetkisi vermiş olsanız bile, clientlar okuma işlemini yapabilecek ama yazamayacaklardır. Bunun nedeni ise, clientların kullanıcılarının, server tarafından default olarak nfsnobody isimli yetkisiz kullanıcıya set edilmesidir. Bu durumda, nfs üzerinden erişilen dizinlere direk olarak yazma işlemi yapılamaz.
Eğer no_root_squash parametresini kullanmak istemiyor ama bir yandan da NFS clientların paylaşımdaki dizinlere yazabilmesini istiyorsanız izleyebileceğiniz iki yol var:

Birincisi exports edilmiş dizinin permission’ını 777 olarak belirlemek. Bu şekilde ilgili dizine herkes yazabileceğinden nfsnobody kullanıcısı da yazabilecektir. İkinci yöntem ise ilgili dizinin owner’ını nfsnobody olarak set etmektir. Export ettiğiniz dizinler güvenlik açısından sorun teşkil etmiyorsa bu yöntemlerden herhangi birini tercih edebilirsiniz.

Export ayarlamalarını yaptıktan sonra NFS sunucusunu start ediyoruz.

# /etc/init.d/nfs start

NFS servisinin sistem açılışlarında otomatik devreye girmesi için startup’a ekleyelim.

# chkconfig --level 345 nfs on

Client'ların sunucuya bağlanabilmesi için 2049(NFS) ve 111(portmap,RPC) portlarının açılması gerekli.

# iptables -I INPUT -p tcp -s 192.168.1.0/24 -m state --state NEW,RELATED,ESTABLISHED --dport 2049 -j ACCEPT

# iptables -I INPUT -p udp -s 192.168.1.0/24 -m state --state NEW,RELATED,ESTABLISHED --dport 2049 -j ACCEPT

# iptables -I INPUT -p tcp -s 192.168.1.0/24 -m state --state NEW,RELATED,ESTABLISHED --dport 111 -j ACCEPT

# iptables -I INPUT -pudp -s 192.168.1.0/24 -m state --state NEW,RELATED,ESTABLISHED --dport 111 -j ACCEPT

Sunucu ile ilgili yapılması gerekenler bu kadar.

Export edilen dizinleri görmek için showmount komutundan yararlanabilirsiniz.

# showmount -e
/export/share 192.168.1.0/24

Client Tarafı

mount -t nfs 192.168.1.55:/export/share /media/nfs_share

#vi /etc/fstab

192.168.1.55:/export/share /media/nfs_share    nfs    defaults    0 0

Etiketler: