GNU/Linux Notları #5 – Network Yönetimi

NETWORK YÖNETİMİ (NETWORK MANAGEMENT)

Network Komutları

KOMUT iŞLEV
ip a Network kartları hakkında bilgi verir.
ip addr del <IP> dev <interface> Belirtilen IP’yi, belirtilen interface’ten siler.
ip addr add <IP> dev <interface> Belirtilen IP’yi, belirtilen interface’e tanımlar.
ip route add default via <defaultgw> Default gateway ekler.
vi /etc/resolve.conf DNS sunucu bilgilerini görüntüler.
ip link set <interfaceadı> down / up Belirtilen interface’in kapatılmasını/açılmasını sağlar.
nmcli device status Interface’lerin bağlantı, aygıt ve tip bilgilerini verir.
ip r Route tablosunu görüntüler.
ip route add <network> via <defaultgw> Statik route ekler.*
dev <interface> Statik route’ u siler.
ip route del <network> *Kalıcı olması için /etc/network/interfaces dosyasına “up /sbin/ip route add <network> via <defaultgw> dev” değeri eklenmelidir.
ip -s link show Interface istatistiklerini görüntüler.
/etc/init.d/networking stop / start / restart Interface’leri kapatır/açar/yeniden başlatır.
host <adres> Belirtilen adres için IP çözümlemesi yapar.
telnet <IP> <port> Belirtilen IP’de, belirtilen portun açık/kapalı durumunu kontrol eder.
apt-get install net-tools ifconfig, netstat, arp, iptables gibi komutları kazandırır.
netstat -tunae Sistemin bağlantı kurduğu IP ve portları görüntüler.
lsof –i Bağlantı kurmuş olan programları listeler.
lsof –i :port Belirtilen porta ait açık bağlantıları listeler.

 

KAYIT YÖNETİMİ (LOG MANAGEMENT)

  • Log’lar, sistemde gerçekleşen tüm değişikliklerin kaydını tutan, metin tabanlı dosyalardır.
  • Log’lar /var/log dizini altında bulunurlar.
DOSYA / DİZİN AÇIKLAMA
/var/log/auth.log Kullanıcı login kayıtlarıdır.
/var/log/lastlog En son oturum açan kullanıcı kayıtlarıdır.
/var/log/user.log Kullanıcı aktivite kayıtlarıdır.
/var/log/boot.log Sistem açılışı (boot) kayıtlarıdır.
/var/log/kern.log Çekirdek (kernel) kayıtlarıdır.
/var/log/cron.log Zamanlanmış görevlerin kayıtlarıdır.
/var/log/messages Sistem aktivite kayıtlarıdır. Sistem mesajlarıdır.
/var/log/syslog Sistem mesaj servisinin kayıtlarıdır.
/var/log/debug Hata ayıklama (debug) için oluştulan kayıtlardır.
/var/log/deamon.log Çalışan servislerin kayıtlarıdır.
/var/log/proftpd FTP servisinin kayıtlarıdır.
/var/log/maillog Mail servisinin kayıtlarıdır.
/var/log/dpkg.log DPKG paket yöneticisinin kayıtlarıdır.

 

Kayıt Yönetim Komutları

KOMUT iŞLEV
last -10 –i Sistemde oturum açmış en son 10 kullanıcıyı, IP bilgisiyle verir.
lastlog Uzaktan sisteme oturum açmış kullanıcı bilgilerini verir.
lastlog –u <user> İlgili kullanıcının uzaktan en son ne zaman oturum açtığını verir.
dmesg Sistem açılışı sırasındaki mesajları görüntüler.
cat /var/log/auth.log Kullanıcı login kayıtlarını verir.
tail -f /var/log/auth.log Kayıtları gerçek zamanlı olarak listeler.

 

GÖREV YÖNETİMİ (TASK MANAGEMENT)

  • Linux’ta, zamanlanmış görevleri cron adındaki servis yönetir. Durumunu öğrenmek için service cron status komutuyla kontrol edilmelidir.
  • Görev /etc/crontab dosyasına eklenir. Cron servisi, her dakika burayı kontrol eder.
  • “*” ifadesi ‘her’ anlamına gelmektedir.
  • Zamanlanmış görevler için tanımlar 6 bölümden oluşur:
Değer Cinsi: Dakika Saat Gün Ay Hafta Günü Görev
Değer Aralığı: 0-59 0-23 1-31 1-12 1-7 Komut
  • Örn:
    • 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/ –> ‘’Sıfırıncı dk’da, saat 5’te, ayın her günü, her ay, Pazartesi günü /home dizinini, /var/backups dizini altına home.tgz adıyla arşivle.
KOMUT iŞLEV
crontab -l Kullanıcının zamanlanmış görevlerini listeler.
crontab -u <user> -l İlgili kullanıcının zamanlanmış görevlerini listeler.
crontab -e Görev zamanlamak için editör seçimi yaptırır.
crontab -r Zamanlanmış görevleri siler.

 

ORTAM DEĞİŞKENLERİ (ENVIRONMENT VARIABLES)

  • Ortam değişkenleri, istenilen bilgiye kısa yoldan erişebilmek için oluşturulan tanımlardır.
  • $ işaretiyle başlar ve büyük harflerden oluşurlar. Örn; $LOGNAME
  • Ortam değişkenleri printenv veya env komutuyla görülebilir.
  • printenv <DEĞİŞKENADI> veya echo $<DEĞİŞKENADI> şeklinde kullanılabilirler. Örn; printenv SHELL veya echo $SHELL
  • Yeni değişken tanımı oluşturmak için DEGİŞKENADI=değer komutu kullanılır. Silmek için de unset DEĞİŞKENADI komutu kullanılır.
  • Değişken isimleri sayısal bir değer ile başlayamaz.
DEĞİŞKEN iŞLEV
$USER Oturumunda olunan kullanıcıyı ifade eder.
$HOME Oturumdaki kullanıcının ev dizinini ifade eder.
$SHELL Oturumdaki kullanıcının shell’ini ifade eder.
$DESKTOP_SESSION , $GDMSESSION Oturumdaki kullanıcının masaüstü ortamını ifade eder.
$PWD Bulunulan path’i ifade eder.
$PATH Yazılacak komutların aranacağı path’leri ifade eder.
$LANG Sistemde kullanılan dili ifade eder.

 

BASH BETİKLERİ (BASH SCRIPTS)

  • Bash betikleri (scriptleri), çalıştırıldığında bash’e iş yükler. Bash’in, dosyadan okuyarak otomatik işler yürütmesi içindir.
  • Bash script’lerinin ilk satırı #!/bin/bash olarak başlamak zorundadır. Böylelikle, alt satırdaki kodların, bash shell’i tarafından yorumlanacağı belirtilir.
  • Bash script’lerinin dosya uzantısı .sh’tır fakat her zaman bulunmak zorunda değildir. Terminalde ./<dosyaadı> şeklinde de çalıştırılabilir. Çalıştırma (execute) yetkisine sahip olmalıdır.
  • Bash script’leri varsayılanda /bin dizini içindedir. Buradaki scriptler, path belirtmeden çalışıtırlabilirdir. Terminalde sadece script ismini belirtmek yeterlidir.