coolwolf / 18/01/2021

Linux/BSD Tabanlı NAS Distro Denemeleri

Eski sucularımı NAS cihazı olarak kullanmak istedim. Bu amaçla kısa bir araştırmadan sonra alttaki sürümleri denemeye karar verdim.

Aradığım temel özellikler şunlar:
Kolay kurulum, güvenli altyapı, kolay yönetim, birkaç adımda paylaşım oluşturma, paylaşımlara SMB/NFS/FTP gibi özellikler ekleme, vb.

  1. XigmaNas
  2. OpenMediaVault
  3. TrueNas
  4. RockStor

XigmaNAS‘tan başlayalım.

Eski adı FreeNAS. FreeBSD altyapısı üzerine kurulu.
Varsayılan admin ve root parolası xigmanas.

2GB RAM, 2GB OS Alanı istiyor. CPU kullanımı çok düşük.

Arayüzü basit, ancak kullanışlı değil. Paylaşım oluşturmak yerine “Mount Point” oluşturma şeklinde çalışıyor. Bu da, NAS mantığı yerine Webmin kullanıyormuş hissi veriyor. Hatta Webmin yönetmek daha kolay denebilir.
Bu işlerden anlarım diye havalara girmeme rağmen, bu dağıtımı 30dk içinde kullanılabilir bir NAS haline getiremedim.


OpenMediaVault :

Varsayılan root parolası “kurulum esnasında giriliyor”. Varsayılan admin parolası openmediavault.

Debian altyapısı kullanıyor. Ram ve CPU kullanımı oldukça düşük. XigmaNAS 2GB Ram’den 700MB boş bırakıyor ilk çalışmada. OpenMediaVault 2GB’ın 1.8GB’ını boş bırakıyor.

Derli toplu bir görünümü var. XigmaNAS gibi, az kaynak istiyor.

Dosya Sistemleri menüsünden depolama için kullandığım diski bağlandım.
Kullanıcı oluşturdum.
Bir paylaşım oluşturdum.
son olarak da SMB’yi açıp, ilgili paylaşımı SMB’ye dahil ettim.

Birkaç dakika içinde NAS kullanıma hazır hale geldi.

Sadece ve amaca yönelik gibi duruyor. XigmaNAS’ta diskteki imajlardan sanal makina oluşturma vardı. Bunda öyle bir özellik gözükmüyor.


TrueNAS:

Varsayılan root parolası “kurulum esnasında giriliyor”. Varsayılan admin parolası da “kurulum esnasında root için girdiğiniz parola”.

En az 8GB Ram istiyor. Altyapısı FreeBSD. Varsayılan olarak ZFS kullanıyor.
İlk açıldığında 8GB’tın 3.3GB’ını kullanıyor.

Görünüşü en güzel DashBoard bunda bence.
Diğerlerinde olan “İlk kurulum sihirbazı” eksiği burada da mevcut. Sistem ilk kurulduğunda, sistemi NAS olarak kullanmaya hazır hale getiren bir sihirbaz olsa çok iyi olurdu. Her birinin iç yapısı farklı. Adımları aynı olmuyor.

Pools altından Pool ekleyerek başlanıyor.
Ardından bir DataSet ekleniyor.
Kullanıcı ekleme ekranında oluşturulan DataSet seçilerek kullanıcı oluşturuluyor.
Ardından,  Sharing -> Windows Sharing altından SMB paylaşımı oluşturuluyor. Fakat ağda \\NasIp yazıldığında paylaşım adı yerine DataStora\PaylaşımAdı şeklinde gözüküyor. Bu istediğim bir durum değil. Her ne kadar görünümü çok iyi olsa da, OpenMediaVault’ta paylaşım oluşturmak daha kolaydı. Oluşturulan paylaşım da doğrudan share olarak gözüküyordu.

XigmaNAS’ta olduğu gibi, sanal makina desteği var.


RockSTOR

İlk kurulumda bir ip bilgisi vermemesi ilk büyük eksikti.
İkinci eksik, sadece HTTPS bağlantısı kabul etmesi. “Ne var bunda, iyi işte” diyebilirsiniz. HTTPS kullanmasına tabi ki itirazım yok. Fakat HTTP bağlantısı yapıldığında “Connection Refused” yerine HTTPS portuna yönlendirebilirdi.
Neyse, nginx ayarlarından kendimiz yönlendiririz.

VmWare altında kurulduğunda,

ERROR: not a valid btrfs filesystem: /dev/disk/by-id/

hatası veriyor. Bunu, ilgili sanal makinanın VM Options -> Advanced ->Configuration Parameters kısmına disk.EnableUUID=TRUE parametresini ekleyerek çözebilirsiniz.

Her zamanki gibi ilk adımımız ortak isimli bir kullanıcı oluşturmak.
Ardından Pool ve Share ekledik.
Oluşturduğumuz Share’ın yetki kısmında ortak kullanıcımıza bu Share üzerinde yetki de verdikten sonra işlemimiz tamamlanıyor

Daha önce yapmadıysak, File Sharing -> Samba ekranından Samba paylaşımını açalım ve oluşturduğumuz Share’i “Samba Export” lsitesine ekleyelim.

Buraya kadar, diğer NAS dağıtımlarına göre (ilk baştaki VmWare hatasını saymazsak) basit ve hızlı bir kurulum oldu.

coolwolf / 21/02/2014

Hylafax, how to delete fax jobs as root

When you want to delete a fax job in queue, you will receive “504 cannot kill job operation not permitted”
Even if you try to remove faxes as root, system will not give you permission.
To solve this, first see the job numbers using this command

faxstat -s

After that remove the fax jobs using this command :

faxrm -v -u nobody <JOBID>

Please note: nobody is the owner of fax job. You get this information on previous command.

coolwolf / 10/02/2014

ClearOS / Centos ROUND_CEILING hatası

Defalarca ve değişik konfigürasyonlarda kurmayı denememe rağmen, bir türlü kuramadığım ClearOS’u nihayet kurdum.
Her kurma denememde içinde ROUND_CEILING geçen bir hata aldım. Internetin altını üstüne getirdim. Her ne hikmetse benden önce k8mse bu hata ile karşılaşmamış.
Tesadüfen kurulum dilini English seçtiğimde hiç hatasız kuruluverdi.
Eğer siz de ClearOS yada Centos kurarken hard disk partition şeklini seçtikten sonra hata alıyorsanız, kurulum dilini English yapmayı deneyiniz.
Ecnebiler için:
If you get some error which contains ROUND_CEILING when installing ClearOS or Centos, just change the installation language to English.

coolwolf / 10/11/2013

Centos Linux Conexant Modem Tanıtma

http://www.linuxant.com/drivers/
adresinden modeminize uygun olan driveri indirin. Örneğimizde DGC modem kullandık.
İndirdiğimiz cnxtinstall.run dosyasını çalıştırılabilir hale getirelim.

chmod a+x cnxinstall.run

Bu dosyanın kernel derleyebilmesi için kernel-devel paketini kuralım.

yum install kernel-devel kernel-PAE

Aaşağıdaki komutu çalıştırıp yönergeleri izlediğimizde modemimiz /dev/modem olarak kurulmuş olacaktır.

sh cnxinstall.run

====================================================
======EĞER OTOMATİK KURULUM ÇALIŞMAZSA RPM DENEYELİM===
====================================================
Önce RPM dosyasının kernel derleyebilmesi için gcc ve kernel kaynaklarını kuralım :

yum install gcc kernel-devel kernel-PAE kernel-PAE-devel

Yine aynı siteden RPM dosyasını indirelim

wget http://www.linuxant.com/drivers/dgc/archive/dgcmodem-1.13/dgcmodem-1.13-1.i386.rpm.zip
unzip dgcmodem-1.13-1.i386.rpm.zip
rpm -ivh dgcmodem-1.13-1.i386.rpm

Normal şartlar altında modeminiz kurulmuş olmalıdır.
==========================================================
===MODEMİNİZ YİNE KURULMADI ::: GELİN ELLE DERLEMEYİ DENEYELİM ====
==========================================================
dgcmodem kaynak dosyasını indirelim

wget http://www.linuxant.com/drivers/dgc/archive/dgcmodem-1.13/dgcmodem-1.13.tar.gz
tar xvfz dgcmodem-1.13.tar.gz
cd dgcmodem-1.13/
make install

=========================================================
===BU DA OLMADI===========================================
Bu durumda kernel sürümünüzü ve kernel-source sürümünüzü kontrol ediniz.
Büyük ihtimalle dgcconfig scripti sizin için kernel derlemesini yapamıyor.
/etc/grub.conf dosyasının default kısmına PAE olmayan bir kernel’in numarasını yazmayı deneyebilirsiniz.
0 1 2 şeklinde.

coolwolf / 18/04/2013

PfSense dansguardian kurup çalıştırmak

Öncelikle paketlerden dansguradian’ı kurun.
Services -> Proxy Server ekranını açın. Burada Proxy interface kısmından sadece loopback’i seçin.
Böylece Proxy Server’a sadece dansguardian bağlanabilir.
 
Ardından Services -> Dansguardian ekranını açın. Burada şu ayarları kontrol edin :
1. Enable dansguardian kutucuğunun seçili olduğundan emin olun.
3. Listen Interface olarak sedece LAN seçili olsun.
4. Proxy IP kısmına 127.0.0.1 yazın.
5. Proxy Port kısmına 3128 yazın.
 
Şimdi yerel ağdan gelen 80 ve 443 port isteklerini dansguardian’a yönlendirelim.
Firewall -> Nat -> Port Forward ekranını açın.
+ butonuna tıklayarak yeni kural ekleyin. Bu kuralda aşağıdaki ayarları kontrol edin :
1. Interface -> LAN
2. Protocol -> TCP
3. Source -> LAN subnet
4. Destination -> any
5. Destination port range -> HTTP
6. Redirect target IP -> firewall’ın lan IP adresi
7. Redirect target port -> 8080
 
HTTPS portundan yapılabilecek kaçakları engellemek için aynı kuralın bir de HTTPS olanını ekleyelim:
+ butonuna tıklayarak yeni kural ekleyin. Bu kuralda aşağıdaki ayarları kontrol edin :
1. Interface -> LAN
2. Protocol -> TCP
3. Source -> LAN subnet
4. Destination -> any
5. Destination port range -> HTTPS
6. Redirect target IP -> firewall’ın lan IP adresi
7. Redirect target port -> 8080

coolwolf / 01/12/2010

Gammagraphx ağ denetleyicisini linux’a tanıtmak

Ethernet controller: Gammagraphx, Inc. Unknown device 82b0
bu kartı internette arattığımda
intel Gigabit PCI Based Network Connections
olduğunu görüyoruz.
http://downloadcenter.intel.com/confirm.aspx?httpDown=http://downloadmirror.intel.com/9180/eng/e1000-7.6.15.4.tar.gz&agr=&ProductID=2197&DwnldId=9180&strOSs=&OSFullName=〈=eng
adresinden
http://downloadmirror.intel.com/9180/eng/e1000-7.6.15.4.tar.gz
dosyasını indiriyoruz
bu dosyayı açıyoruz

tar xvfz e1000-7.6.15.4.tar.gz

sonra açtığımız dizinin içindeki src dizinine geçiyoruz
burada

make install

dememiz yeterli fakat kernel-devel paketinin sistemimizde kurulu olması gerkiyor. Aynı şekilde bu derlemeyi yapmak için bir derleyici de bulunması şart.
redhat tabanlı sistemlerde

yum install kernel-devel

yazarak çekirdek kaynağını kurabilirsiniz.

yum install gcc

komutu da gerekli derleyicileri kuracaktır.
bu işlemler tamamlandıktan sonra tekrar

make install

komutunu vererek sürücümüzün derlenmesini sağlıyoruz.
sistem sürümünüze göre değişmekle beraber kurlan dosya
/lib/modules//kernel/drivers/net/e1000
dizinine kurulacaktır.
Şimdi bu modülü yüklememiz gerekiyor.

modprobe e1000
insmod /lib/modules/2.6.18-53.1.14.el5/kernel/drivers/net/e1000/e1000.ko

komutlarıyla çekirdeğimize bu modülün desteğini veriyoruz.
NOT: bu ethernet kartı modeli aynı zamanda rtl6189 oalrak da tanıtılabilir.

coolwolf / 01/12/2010

Centos üzerine Shorewall kurulumu

Öncelikle http://shorewall.de/pub/shorewall/4.6/shorewall-4.6.4/ adresinden aşağıdaki paketleri indiriyoruz:
Siz kurarken daha yeni sürümü varsa onu yükleyebilirsiniz.

wget http://shorewall.de/pub/shorewall/4.6/shorewall-4.6.4/shorewall-4.6.4-3.noarch.rpm
wget http://shorewall.de/pub/shorewall/4.6/shorewall-4.6.4/shorewall-core-4.6.4-3.noarch.rpm

ardından

rpm -ivh shorewall-core-4.6.4-3.noarch.rpm shorewall-4.6.4-3.noarch.rpm

komutuyla shorewall kurulumunu tamamlıyoruz.
Şimdi sıra shorewall yapılandırmasında. Bu örnekte 2 arayüzlü bir firewall düşünülmüştür.
Birinci arayüz internete (eth0) ikinci aryüz (eth1) ise yerel ağımıza bağlı.
Shorewall kurulumu ile birlikte basit ayarları içeren ön tanımlı ayar dosyaları da gelmektedir.

rpm -ql shorewall | fgrep two-interfaces

komutuyla bu dosyaların nerede saklandığını buluyoruz.

cd /usr/share/doc/shorewall-4.6.4/Samples/two-interfaces

komutuyla bu dosyaların bulunduğu dizine giriyoruz.

cp * /etc/shorewall/

komutuyla buradaki dosyaları /etc/shorewall/ altındaki asıl yerlerine kopyalıyoruz.
Kopyalama esnasında dosyaların üzerine yazılsın mı diye sorarsa hepsine evet diyoruz.
Şimdi buradaki dosyaları kendimize göre düzenleyelim
/etc/shorewall/interfaces dosyası

#ZONE INTERFACE BROADCAST OPTIONS
net eth0 detect dhcp,tcpflags,routefilter,nosmurfs,logmartians
loc eth1 detect tcpflags,nosmurfs
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

bizim yapılandırmamız da aynı şekilde olduğu için buraya dokunmuyoruz. Eğer ağ arayüz ayarlarınız farklı ise buradan gerekli değişiklikleri yapabilirsiniz.
/etc/shorewall/masq dosyası

#INTERFACE SOURCE ADDRESS PROTO PORT(S) IPSEC MARK
eth0 eth1
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE

dış ağ arayüzü olan eth0, iç arayüz eth1 de masquerade yapılacak.
policy ve rules dosyalarını kendi isteklerinize göre özelleştirebilirsiniz.
Son olarak /etc/shorewall/shorewall.conf dosyasında

STARTUP_ENABLED=No

olan değeri

STARTUP_ENABLED=Yes

yapıyoruz.

shorewall start

komutu ile güvenlik duvarımız devreye giriyor.
NOT: shorewall’ı başlatmadan önce lütfen policy ve rules dosyalarında gerekli ayarları yapınız. aksi takdirde uzaktan bağlanamazsınız.
Tabi makina başındaysanız sorun yok.
Eğer yerel ağda bir sunucunuz çalışıyor ve dışarıdan gelen istekleri bu sunucuya yönlendirmek istiyorsanız aşağıdaki komutu rules dosyasına yazabilirsiniz. Aşağıdaki gibi bir komut internetten 25,53,80 ve 110 portlarına gelen istekleri yerel ağdaki 10.1.1.1 ip’li bilgisayara yönlendirecektir.

DNAT net loc:10.1.1.1 tcp 25,53,80,110

Peki ya yerel ağda birden fazla makinada aynı portu kullanan servisler varsa (uzak masaüstü gibi).
Böyle bir durumda aşağıdaki komutu kullanıyoruz:

DNAT net loc:10.0.0.2:3389 tcp 3388

bu tanımlama internetten 3388 portuna gelen istekleri 10.0.0.2 makinasının 3389 (yani uzak masaüstü) portuna yönlendirir.
Peki MSN Messenger kullanımını engellemek istersem:

REJECT loc net tcp 1863

komutu tüm yerel ağ kullanıcılarının MSN Messenger kullanmasını engeller. Eğer bazı ip adreslerine MSN Messenger izni vermek istiyorsak da aşağıdaki komutu kullanabiliriz:

REJECT loc:!10.1.1.10,10.1.1.11,10.1.1.12 net tcp 1863

bu komutla yerel ağdaki herkes msn engelli iken, 10.1.1.10,10.1.1.11 ve 10.1.1.12 ipli makinalara MSN izni verilmiş oluyor.

coolwolf / 01/12/2010

Centos ile Spam+Antivirüs içeren Exchange için Mail Gateway

Bu yazıda Centos ile antispam gateway kurulumunu tamamlayacağız. Bu gateway’i exchange, lotus notes, mailenable, hmailserver, qmail gibi tüm eposta sunucularıyla kullanabilirsiniz.
Öncelikle sendmail’i durdurmalıyız.

service sendmail stop

ile sendmaili durduruyoruz

chkconfig sendmail off

komutu da sendmail’in açılışta çalışmasını engelliyor

yum install postfix

komutu ile postfix’i kuruyoruz.
Ardından /etc/psotfix/main.cf dosyasında aşağıdaki değişiklikleri yapıyoruz:

myhostname = altalan.alanadi.com.tr
mydomain = altalan.alanadi.com.tr
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain $mydomain
mynetworks_style = host
relay_domains = alanadi.com.tr
transport_maps = hash:/etc/postfix/transport
append_at_myorigin = no

/etc/postfix/transport dosyasına şu satırı ekliyoruz

alalanadi.com.tr                smtp:[exchange server ip'si]

postmap /etc/postfix/transport koumutu ile postfix’in transport dosyasını indekslemesini sağlıyoruz.

service postfix stop
service postfix start

komutlarıyla da yaptığımız değşiklikleri aktif hale getiriyoruz.
Lütfen bu aşamada maillerin exchange’e ulaştığından emin olun. Hataları sonra düzeltmek daha zor olacaktır.
NOT: Ayrıca altalan.alanadi.com.tr ismine dikkat edin. Exchange sunucusu da kendisini aynı şekilde tanıtırsa postfix mailleri exchange’e teslim etmeyecektir.
Örn: Linux makinanın adını mail.egeonline.com yazmşsam ve exchange sunucusu da kendisini mail.egeonline.com olarak tanıtırsa, linux üzerinde kurulu postfix mailleri teslim etmeyecektir. Bu sorunun çözümü için şöyle yapabiliriz:
Eğer exchange sunucumuzun adı mail.egeonline.com ise, linux sunucunun adını linux.egeonline.com şeklinde ayarlayın. Alan adımız yani $mydomain egeonline.com oalcağı için sorun çıkmaz.
Eğer
Recipient address rejected: User unknown in local recipient table;
şeklinde bir hata alırsanız mydomain değişkenini myhostname ile aynı yapmayı deneyin.
MailScanner kurulumu
http://mailscanner.info adresinden sisteminize ait dosyayı indiriniz.

tar zxvf MailScanner-versiyon.tar.gz

komutuyla mailscanner’ı açıyoruz.
sonra da

cd  MailScanner-versiyon

komutuyla bu dizine giriyoruz.

./install

komutu sizin için gerekli kurulumları yapacaktır. Eğer eksik bir bileşen varsa bunu kurmanız için sizi uyaracaktır.
Bende rpm-build paketi eksikti. yum install rpm-build komutuyla bu paketi kurdum.

chkconfig --list | grep MailScanner

komutuyla kurulumun durumunu kontrol edelim. Çıktı şu şekilde olmalıdır :

MailScanner
0:kapalı       1:kapalı       2:açık        3:açık       4:açık 5:açık        6:kapalı
chkconfig postfix off

komutuyla postfixi devreden çıkarıyoruz. MailScanner postfix’i kendisi çalıştıracaktır.
/etc/postfix/main.cf dosyasına

header_checks = regexp:/etc/postfix/header_checks

satırını ekliyoruz.
/etc/postfix/header_checks dosyasına:

/^Received:/ HOLD

satırını ekliyoruz.
/etc/MailScanner/MailScanner.conf dosyasında aşağıdaki değişikikleri yapıyoruz

Run As User = postfix
Run As Group = postfix
Incoming Queue Dir = /var/spool/postfix/hold
Outgoing Queue Dir = /var/spool/postfix/incoming
MTA = postfix

Sonra da MailScanner çalışma dizinlerinin sahipliklerini değiştiriyoruz:

chown postfix.postfix /var/spool/MailScanner/incoming
chown postfix.postfix /var/spool/MailScanner/quarantine
service MailScanner restart

komutuyla mailscanner’i yeniden çalıştırıyoruz.
Bu aşamada tekrar mail alıp gödnermeyi deneyiniz. Bir hata var ise büyümeden düzeltmek zamanımızı kurtaracaktır.
Spamassassin
http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
dosyasını indirerek rpmforge repo’sunu repo lsitemize ekliyoruz

yum install perl-Digest-SHA1 perl-HTML-Parser perl-MIME-Base64 perl-Net-DNS perl-Mail-SPF-Query perl-Time-HiRes perl-DB_File

komutuyla gerekli perl modüllerini kuruyoruz

yum install spamassassin

komutu da spamassassin kurulumunu bizim için yapacaktır.
Kurulum tamamlandıktan sonra /etc/MailScanner/MailScanner.conf dosyasına:

SpamAssassin User State Dir = /var/spool/MailScanner/spamassassin

komutunu ekliyoruz. Yada zaten vasrsa bu şekle gelmesini sağlıyoruz.
Ardından şu komutları çalıştırıyoruz:

mkdir /var/spool/MailScanner/spamassassin
chown postfix.postfix /var/spool/MailScanner/spamassassin
service MailScanner restart

komutuyla mailscanner’ı yeniden başlatıyoruz.
ClamAV
Sıra geldi clamav kurulumuna

groupadd clamav
useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav
wget http://dag.wieers.com/rpm/packages/clamav/clamav-0.92.1-1.el5.rf.i386.rpm
wget http://dag.wieers.com/rpm/packages/clamav/clamav-db-0.92.1-1.el5.rf.i386.rpm
wget http://dag.wieers.com/rpm/packages/clamav/clamd-0.92.1-1.el5.rf.i386.rpm

clamav’ın centos 5 rpm’leri yukarıdaki adreste verilmiştir.
ardından gerekli perl modüllerini sistemimize yüklüyoruz

yum install perl-Parse-RecDescent perl-Inline perl-Mail-ClamAV
service clamd start

komutuyla clamavı başlatıyoruz.

freshclam

komutuyla clamav veritabanını güncelliyoruz.
/etc/MailScanner/MailScanner.conf dosyasına clamav’ı kullanmasını söylüyoruz:

'Virus Scanners = clamav'

ve

Monitors for ClamAV Updates = /var/clamav/*.inc/* /var/clamav/*.cvd

ile güncellenmiş dosyaların yerşni bildiriyoruz.
Artık Exchange’inizin önünde bir spam ve antivirüs tarayıcısı var.
Güle Güle Kullanın

coolwolf / 01/12/2010

Centos Üzerine Webmin kurmak

Bu konuda kimsenin yardıma ihtiyacı olacağını sanmıyorum. Fakat yine de yeni başlayan arkadaşlar için kısa bir bilgi verelim.
http://www.webmin.com/download.html adresinden soldaki rpm link’ine tıklayarak rpm dosyasını indirelim.
Benim kurduğum webmin sürümünün direk linki şu şekilde:

http://kent.dl.sourceforge.net/sourceforge/webadmin/webmin-1.420-1.noarch.rpm
wget http://kent.dl.sourceforge.net/sourceforge/webadmin/webmin-1.420-1.noarch.rpm

komutuyla bu dosyayı doğrudan indirebiliriz.
Şimdi indirdiğimiz dosyayı kuralım.

rpm -ivh webmin-1.420-1.noarch.rpm

komutuyla webmin’i kuruyoruz.
kurulum tamamlandıktan sonra http://makinaninipadresi:10000 adresinden webmine girebilirsiniz.