0

dig Ve nslookup Nasıl Kullanılır?

Sitelerin DNS kayıtlarını sorgulamak için kullanılan bu iki komut oldukça faydalıdır. Bu komutları karşılaştırmalı olarak kullanacağız. nslookup‘ı OSX ve Windows işletim sistemlerinde de kullanabileceğimizi hatırlatırız. Eğer *nix tabanlı işletim sisteminizde nslookup veya dig bulunamadı derse bind-utils ve dig paketlerini kurmanız gerekir.

Örneğin bir sitenin A (Alias) kaydını görüntülemek için:

# nslookup -q=A nbt.net.tr

Çıktı:

[root@server ~]# nslookup -q=A nbt.net.tr
Server: 192.168.1.2
Address: 192.168.1.2#53

Non-authoritative answer:
Name: nbt.net.tr
Address: 77.223.137.4

# dig A nbt.net.tr

Çıktı:

[root@server ~]# dig A nbt.net.tr

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6.3 <<>> A nbt.net.tr
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60575 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;nbt.net.tr. IN A ;; ANSWER SECTION: nbt.net.tr. 3511 IN A 77.223.137.4 ;; Query time: 96 msec ;; SERVER: 192.168.1.2#53(192.168.1.2) ;; WHEN: Wed Apr 3 10:30:22 2013 ;; MSG SIZE rcvd: 44

Burada 3511 saniye (~58 dakika) olan TTL süresini ve A kaydının baktığı IP adresi olan 77.223.137.4 'ü görüyoruz. dig 'in nslookup 'tan farkı TTL süresini göstermesidir.

MX kaydını sorgulamak için:

# nslookup -q=MX nbt.net.tr
# dig MX nbt.net.tr

Bu iki komutta eğer kaydın sorgulanacağı DNS sunucusunu belirtmezsek /etc/resolv.conf altındaki kayıtlı DNS sunucuları üzerinden sorgular, bu durumda eğer kendi DNS sunucumuzu kullanıyorsak kayıt değişikliğinin yayılması (DNS propagation) zaman alacağından DNS hatalarını belirlemekte bizi yanılgıya düşürebilir zira kendi DNS sunucumuz üzerinde yapılan değişiklik TTL (Bkz. TTL süresi nedir?) süresi dolmadan diğer DNS sunuculara yayılmaz . Bu durumda genelde Google DNS'lerinden (8.8.8.8 veya 8.8.4.4) sorgulamak faydalı olacaktır:

# nslookup -q=A nbt.net.tr 8.8.8.8
# dig A nbt.net.tr 8.8.8.8

0

iftop ile Interface Bazlı Bandwith Kullanımı Nasıl Görüntülenir? (Centos)

Networkünüzü sömüren bağlantıları tespit etmek için oldukça kullanışlı olan bu uygulamayla interface bazlı canlı istatistik alabilirsiniz.

iftop

Kurmak için:

# yum install iftop

Kullanım:

# iftop -i eth0 – eth0 interface’i üzerinden geçen trafik
# iftop – eğer tek ethernet kartınız varsa bunu yazmanız yeterlidir.
# iftop -Nn – eğer bağlantıları sadece IP olarak görmek istiyorsanız bu komutu giriniz.

0

chown ve chgrp Nasıl Kullanılır?

Bazı durumlarda dosyalarınızın ownership’ini değiştirmek isteyebilirsiniz. Örneği aşağıdaki ls -la çıktısını inceleyelim:

-rw-r--r-- 1 user user 9177 Mar 28 10:52 readme.html
-rw-r--r-- 1 nobody nobody 5416 Apr 2 15:33 sitemap.xml
-rw-r--r-- 1 nobody nobody 1127 Apr 2 15:33 sitemap.xml.gz
-rw-r--r-- 1 user user 4663 Mar 28 10:52 wp-activate.php

sitemap.xml ve sitemap.xml.gz dosyaları bir php hatasından dolayı nobody kullanıcısı ve nobody grubuna geçmiş. Böyle bir durumda yapmamız gereken bu dosyaları root olarak login olup user kullanıcısı ve user grubuna dahil etmektir:

kısayol:

# chown user:user sitemap.xml sitemap.xml.gz

daha uzun yol:

# chown user sitemap.xml – sitemap.xml’i user kullanıcısına dahil ettik.
# chgrp user sitemap.xml – sitemap.xml’i user grubuna dahil ettik.

0

Hangi Process Ne Kadar Bandwith Harcıyor?

NetHogs programıyla kolayca bu işlemi yapabiliriz. Programın güzelliklerinden biri de process’in hangi kullanıcı tarafından kullanıldığını göstermesi dolayısıyla paylaşımlı hosting üzerinde kaynakları tüketen hesabı kolayca bulabiliriz.

nethogs

Kurmak için aşağıdaki adımları takip ediyoruz:

# cd ~
# wget http://downloads.sourceforge.net/project/nethogs/nethogs/0.8/nethogs-0.8.0.tar.gz
# tar -zxvf nethogs-0.8.0.tar.gz
# cd nethogs-0.8.0
# make

eğer ncurses.h ve pcap.h eksik uyarısı verirse aşağıdaki komutu giriyoruz

# sudo aptitude install ncurses-dev libpcap-dev

paketleri kurduktan sonra tekrar kurulum işlemine geçiyoruz:

# make
# make install
# nethogs

Program size hangi process ne kadar bandwith harcıyor gösterecektir. CTRL+C ile çıkabilirsiniz.

3

Linux Sunucu Hatalarında İlk Yapılması Gerekenler

Linux sistemler stabiliteleriyle bilinse dahi konfigürasyon hataları ve/veya donanım hataları neticesinde sorunlarla karşılaşabiliriz. Bu gibi durumlarda öncelikle sakinliğimizi koruyup en temel semptomları incelememiz ve hatanın nereyi işaret ettiğini bulmamız gerekir.

Hata gidermede olmazsa olmazlar:

– Tam olarak alınan hatanın çeşidi nedir? Servis (daemon) cevap mı vermiyor? Hata mı veriyor?
– Hata ne zaman oluşmaya başladı?
– Hata tekrarlanabiliyor mu? Örneğin servisi her başlatmak istediğimizde aynı hatayı mı veriyor?
– Herhangi bir paterni var mı? Örneğin her saat başı mı yaşanıyor?
– Sistemde en son yapılan değişiklikler nelerdir? Örneğin bir plugin kuruldu mu? Konfigürasyon değiştirildi mi? Elektrik kesintisi yaşandı mı?
– Sorun herkese mi etkiliyor yoksa belirli bir kullanıcı grubunu mu etkiliyor? Örneğin ofis içerisindeki bir bilgisayardan websitesi erişilemezken, başka bir ISS üzerinden erişilebiliyor mu?
– Sistemin fiziksel ve yazılımsal olarak herhangi bir dökümantasyonu var mı?

Öncelikle sistemde sizden başka çalışan biri var mı?

Eğer başka bir sistem yöneticisi de sistem üzerinde çalışıyorsa sistemi çalıştırmak adına reboot ettiğinizde diğer yöneticinin çalışmalarını kaybetmesine neden olabilirsiniz.

# w
# last

Bu komutlar sistemde login olmuş kullanıcıları gösterir.

Sizden önce hangi komutlar girilmiş?

# history

Bu komutla sistemde çalıştırılmış son komutlar incelenebilir. Apache’de hata alıyorsanız ve nano /usr/local/apache/conf/httpd.conf gibi bir komut görüyorsanız birileri Apache konfigürasyonunuzu değiştirmiş demektir ve burayı incelemeniz gerekir.

Sistemde neler çalışıyor?

# pstree -a
# ps aux

Bunlarla sistemde çalışan processleri gösterir ve hata kaynağını tespit etmenizde yardımcı olabilir.

Servisler nerelere bağlanıyor?

# netstat -ntlp
# netstat -nulp
# netstat -nxlp

Hangi servis hangi portta hangi IP ile iletişimde görebilirsiniz. Örneğin httpd üzerinde 1000 tane bağlantı varsa DDOS yaşıyor olabilirsiniz.

CPU ve RAM durumu nedir?

# free -m
# top

Bu komutlarla aşağıdaki sorulara cevap alabilirsiniz:

– Hangi process ne kadar cpu ve ram harcıyor?
– Toplam RAM’de ne kadar boş yer var?
– CPU kullanımı ne durumda?
– Load average nedir?

Sistem logları ve kernel mesajları uyarı veriyor mu?

# dmesg
# tail -f /var/log/messages
# tail -f /var/log/

Bu komutlarla aşağıdaki sorulara cevap alabilirsiniz:

– Özel bir yazılım veya donanım hatası var mı?
– Alınan hatayla loglarda karşılaştığınız hatalar arasında ilişki kurulabiliyor mu?

Sonuç:

Sadece basit bit checklist mahiyeti taşıyan bu yazıyla neler yapılabilir bir fikir vermeye çalıştık, özet olarak aşağıdakileri kontrol etmemiz gerekir:

– Ne çalışıyor?
– Sorun ne kaynaklı? IO/hardware/software/network veya konfigürasyon mu?
– Hatada bir pattern var mı?

Kolay gelsin.

0

Akıllı Telefonunuzla Sunucunuzu Takip Edin

Eğer Nagios, Solarwinds vb. gibi yazılımlara ayırabilecek ekstra bir sunucunuz yoksa ve sunucunuzda çalışan websitelerinin çalışırlığını kontrol etmek için basit bir çözüm arıyorsanız ücretsiz bir android uygulaması olan Network Tools işinizi görecektir.

unnamed

Yazılımda kontrol etmek istediğiniz websitesini, kontrol aralıklarını ve kontrol metodunu (http get, ping vb.) belirtirseniz arka planda çalışarak websitesi erişilmez olduğunda sesli ve flaşlı uyarı vererek sizi bilgilendirecektir.

0

TTNet’te PTR Kaydı Nasıl Yapılır?

Ofisinizde mail sunucunuzu barındırıyorsanız ve postalarınızın spam filtrelerine takılmamasını istiyorsanız IP adresinizin PTR kaydı yani reverse dns kaydının olması gerekmektedir.

Bu işlem için TTNet’te kayıtlı olan email adresinizden reverse-dns@turktelekom.com.tr ‘ye statik IP adresinizi, hizmet numaranızı ve mail sunucunuzun adresini (örn: mail.sirket.com) içeren bir mail atmanız yeterli olacaktır.

Kaydın DNS sunuculara yayılıp yayılmadığını aşağıdaki komutla Windows ve OSX işletim sistemlerinden öğrenebilirsiniz:

# nslookup -q=PTR ip.adresiniz 8.8.8.8

Çıktı olarak static.ttnet.net.tr veriyorsa daha oturmamıştır, eğer mail sunucunuzun adresi yazıyorsa PTR kaydınız yayılmış demektir.

0

MySQL Tuning İçin Hazır Script

Sunucunuzda MySQL’in çok fazla işlemci ve memory harcadığını görüyorsanız aşağıdaki scripti kurarak olası nedenleri inceleyebilirsiniz:

# cd ~
# wget https://raw.github.com/rackerhacker/MySQLTuner-perl/master/mysqltuner.pl
# chmod 777 mysqltuner.pl
# ./mysqltuner.pl

Çıktısı sunucunuzda değişebileceği gibi bizdeki örnekte şekildedir:

root@server [~]# ./mysqltuner.pl

-------- General Statistics --------------------------------------------------
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.1.63-cll
[OK] Operating on 64-bit architecture

-------- Storage Engine Statistics -------------------------------------------
[--] Status: +Archive -BDB -Federated +InnoDB -ISAM -NDBCluster
[--] Data in MyISAM tables: 65M (Tables: 395)
[--] Data in InnoDB tables: 357M (Tables: 278)
[!!] Total fragmented tables: 53

-------- Security Recommendations -------------------------------------------
[OK] All database users have passwords assigned

-------- Performance Metrics -------------------------------------------------
[--] Up for: 20h 54m 42s (2M q [28.036 qps], 87K conn, TX: 300B, RX: 146M)
[--] Reads / Writes: 97% / 3%
[--] Total buffers: 34.0M global + 2.7M per thread (151 max threads)
[OK] Maximum possible memory usage: 449.2M (45% of installed RAM)
[OK] Slow queries: 0% (310/2M)
[OK] Highest usage of available connections: 9% (14/151)
[OK] Key buffer size / total MyISAM indexes: 8.0M/16.5M
[OK] Key buffer hit rate: 99.9% (7M cached / 5K reads)
[!!] Query cache is disabled
[OK] Sorts requiring temporary tables: 0% (0 temp sorts / 72K sorts)
[OK] Temporary tables created on disk: 7% (1K on disk / 15K total)
[!!] Thread cache is disabled
[!!] Table cache hit rate: 1% (64 open / 5K opened)
[OK] Open file limit used: 7% (74/1K)
[OK] Table locks acquired immediately: 99% (1M immediate / 1M locks)
[!!] InnoDB data size / buffer pool: 357.1M/8.0M

-------- Recommendations -----------------------------------------------------
General recommendations:
Run OPTIMIZE TABLE to defragment tables for better performance
MySQL started within last 24 hours - recommendations may be inaccurate
Enable the slow query log to troubleshoot bad queries
Set thread_cache_size to 4 as a starting value
Increase table_cache gradually to avoid file descriptor limits
Variables to adjust:
query_cache_size (>= 8M)
thread_cache_size (start at 4)
table_cache (> 64)
innodb_buffer_pool_size (>= 357M)

Çıktıdan görülebileceği gibi MySQL veritabanını defragment etmemiz gerekiyor ve query cache’i enable ederek %97’ye %3 olan okuma/yazma işlemlerini hızlandırabiliriz. InnoDB’nin ayarlarını da incelemek gerekir.

0

cPanel Üzerine ConfigServer Firewall Nasıl Kurulur?

Oldukça kolay olan bu işlem şu şekilde yapılır:

# cd /usr/local/src – dosyayı çekeceğimiz klasöre gideriz,
# wget http://www.configserver.com/free/csf.tgz – wget ile csf’nin son sürümünü çekeriz eğer wget bulunmuyorsa “yum install wget” yaparak kurabilirsiniz,
# tar -xzf csf.tgz – untar işlemini yaparız,
# cd csf
# sh install.sh – kurulum scriptini başlatırız.

Kurulum işlemi bittikten sonra gerekli iptables modüllerini kontrol ederiz:

# perl /etc/csf/csftest.pl

FATAL ERROR yazmadığı sürece bazı modüllerin eksik olduğunu söylese bile sorun olmayacaktır.

CSF’yi yeni bir cPanel kurulumunun üzerine kurduysanız işlem bitmiştir fakat bir süredir kullanıyorsanız ve sizden önce biri başka bir firewall scripti kurduysa bunları kaldırmak için aşağıdaki scripti çalıştırmak gerekir:

# sh /etc/csf/remove_apf_bfd.sh

Yukarıda bulunan script sunucunuzdan apf/bfd ‘yi kaldıracaktır.

csf kapalı olarak geleceği için enable etmemiz gerekmektedir, bu işlemi WHM panel’den yapabileceğiniz gibi konsoldan da yapabilirsiniz:

# csf -e – CSF’yi çalıştırır

Diğer konsol komutları:

# csf -x – CSF’yi kapatır
# csf -f – Tüm blokları flush eder (kaldırır) ve CSF’yi durdurur
# csf -d 2.3.4.5 “IP Banlama sebebiniz” – 2.3.4.5 no’lu IP’yi banlar
# csf -h – help dosyası

Panel üzerinden konfigürasyon dosyasına SMTP_BLOCK = 1 ekleyerek 25. portunuzu kapatabilirsiniz ve böylece spam’in önünü kesebilirsiniz.