8 Oca 2016

Linux üzerinde paylaşım alanı oluşturmak

Merhaba bu yazımda CentOS 6.3 üzerinde paylaşım alanı oluşturmayı ve bu paylaşım alanını başka bir linux sunucuya eklemeyi anlatmaya çalışacağım.
Server: CentOS 6.3
Client: Solaris 10.9




Server tarafı için;
Paylaşmak istediğim klasörü root(/) dizini altına oluşturacağım için root dizini altına geçiyorum.
# cd /
# mkdir sharelocal  # klasör adını istediğiniz şekilde verebilirsiniz.

# yum install nfs-utils nfs-utils-lib   # nfs paylaşım alanı oluşturabilmek için gerekli paketleri yüklüyoruz.

chkconfig nfs on   # sunucumuz reboot olduğu zaman nfs servisimizin otomatik olarak çalışması için gerekli tanımı yapıyoruz. Bu tanımı yapmazsanız sunucunuz reboot olduğu zaman servis başlamayacağı için client makineleriniz paylaşım alanına bağlanamayacaklardır.

vim /etc/exports  # bu dosyada belirttiğimiz klasörleri istenirse belirli clientlarla yada tüm clientlarla paylaşabilirsiniz.
exports dosyası içerisine aşağıdaki şekilde tanımlamaları ekliyoruz.

/sharelocal *(rw,sync,no_root_squash,no_subtree_check)  # bu şekilde yaparsanız tüm clientlar oluşturulan paylaşıma erişebilir.
/sharelocal 192.168.1.10(rw,sync,no_root_squash,no_subtree_check) # burada ise sadece 192.168.1.10 ip'li client paylaşım alanına erişebilir.

rw: client'ların paylaşım alanında okuma ve yazma yapmasına izin verir.
ro: client'ların paylaşım alanında sadece okuma yapmasına izin verir.
sync: paylaşım alanındaki dosyaların tamamen diske eklendikten sonra client'ları bilgilendirmeye yarar.
no_root_squash: paylaşım alanının root olarak eklenmesini engeller.
no_subtree_check: paylaşım altındaki alt klasörlerin denetimini kapatır.

Client tarafı için;

Solaris sunucularda doğrudan mount komutu çalışıyor. İlave paket kurmaya gerek kalmıyor. centos yada redhat client'lara paylaşım alanını eklemek istediğiniz de hata alırsanız yada eksik paket uyarısı alırsanız aşağıdaki şekilde paket kurulumlarını yapabilirsiniz.

#yum install nfs-utils nfs-utils-lib  # eksik paketleri kuruyoruz.

# mkdir /applog_ydk   # paylaşım alanını map edeceğimiz klasörü client tarafında oluşturuyoruz.

Map noktasını oluşturduktan sonra aşağıda şekilde ilgili paylaşımı mount ediyoruz.

solaris için;
# mount -F nfs serverip:/sharelocal /applog_ydk  #oluşturduğumuz paylaşım alanını applog_ydk klasörüne bağlamış olduk. Bu durumu doğrulamak için df -kh komutunu çalıştırabilirsiniz.


mount ederken sunucu ekran donmuş gibi bekliyorsa büyük olasılıkla server tarafında firewall açık kalmıştır. Firewall'u kapatabilirsiniz yada nfs paylaşım için client'lara izin verebilirsiniz.

Firewall ayarları:

Eğer firewall'ı kapatmak isterseniz service iptables stop komutunu server tarafında çalıştırabilirsiniz. reboot sonrası FW'nin yeniden açılmasını engellemek içinde chkconfig iptables off komutunu da çalıştırmanız gerekmektedir. Eğer bu komutu çalıştırmazsanız sunucunuz reboot olduğu zaman FW yeniden devreye girecektir ve paylaşım alanına erişimi engelleyecektir.

Yok ben FW'yi kapatamam diyorsanız aşağıda ki şekilde nfs paylaşım için FW'ye kural ekleyebilirsiniz.
# iptables -I INPUT -m state --state NEW -p tcp \
    -m multiport --dport 111,892,2049,32803 -s 0.0.0.0/0 -j ACCEPT
 #iptables -I INPUT -m state --state NEW -p udp \
    -m multiport --dport 111,892,2049,32769 -s 0.0.0.0/0 -j ACCEPT
Burada TCP ve UDP olarak belirtilen portlar için tüm client'ların nfs paylaşımına erişmesine izin vermiş olursunuz. Sadece bir client yada bir ip bloğundan paylaşıma erişilmesini istiyorsanız 0.0.0.0/0 yazan yeri sadece erişmesini istediğiniz client yada ip bloğu olarak değiştirebilirsiniz.

FW kurallarını ekledikten sonra #service iptables save komutu ile eklediğimiz kuralları kaydediyoruz.
Son olarak FW servisini restart ediyoruz. #service iptables restart