Archive for Temmuz, 2013

Ubuntu server DNS ayarları değişmesin!!!!

1

Ubuntu server işletim sistemine sahip bilgisayar internet bağlantısı olduğu halde bazen internete çıkmıyor, DNS adresi tanımlanması gerekiyor.

bunun için “resolv.conf” dosyasına DNS adresi yazılıyor, bunun için aşağıdaki komut satırı ile “resolv.conf” dosyası açılır;

—-> pico /etc/resolv.conf

Dosya içerisine;

nameserver 79.123.224.123

yazılır. burda bir sorun var bilgisayar kapatılıp yeniden başlatıldığında “resolv.conf” dosyası içeriği siliniyor. bu dosya içerisini yeniden yazılması gerekmektedir. Sürekli bu işlemleri tekrarlamak yerine, “resolv.conf” dosyası içerisine yukarıdaki satırı ekleyerek kaydettikten sonra komut satırına aşağıdaki komut yazılırsa “resolv.conf” dosya içeriği kalıcı olacaktır.

—->  chattr +i /etc/resolv.conf

UBUNTU SERVER İŞLETİM SİSTEMİNE SAHİP BİR BİLGİSAYARA ETHERNET DRİVERINI TANITMA

0

1.Ubuntu Server işletim sistemine sahip bilgisayar Ethernet kartını tanımışsa;

Yeni bir ethernet kartını Ubuntu server işletim sistemine sahip bir bilgisayara taktiginizda;
Ethernet kartını görüntülemek için;

—-> ifconfig

komutuyla kontrol edilir, eger yeni takilan etherneti burda görmüyorsaniz;

—-> lspci

komutuyla takilan ethernetin marka modeli ekranda görülür. Bu takilan ethernet karti
bilgisayarin tanidigi anlamina gelir. Bu durumda bu ethernet kartini “up” yaparsan
“ifconfig” de görülür. Eger bu listede görmüyorsan ethernet kartının linux’ a uygun driveri usb’ ye indirilerek 2. maddede anlatıldığı gibi bilgisayara tanitilir.

—-> ip link show

komutu kullanilarak yeni takilan ethernetin adi ögrenilir. Örnegin adi eth1 olsun;

—-> ifconfig eth1 up

bundan sonra tekrar;

—-> ifconfig

denildiginde 2. takilan ethernetin geldigi görülür. bunun sürekli elle yazmamak için;

—-> pico /etc/network/interfaces

dosyasi içerisine

auto eth1
iface eth1 inet dhcp(static)

satiri eklenir.

2.Ubuntu Server işletim sistemine sahip bilgisayar Ethernet kartını tanımamışsa;

Driverı yüklediğiniz usb belleği bilgisayara takılır, usb Ubuntu server’ ın okuması için öncelikle media klasörü içerisine “usb” isimli klasör oluşturulur;

—-> mkdir /media/usb

daha sonra bilgisayara takılan usb bellek mount edilir;

—-> mount /dev/sdx /media/usb

Komut satırına aşağıdaki komutu yazarak usb belleğin içerisine girilebilinir.

—-> cd /media/usb

usb içine girildikten sonra driver klasörü içine girilir ve sirasiyla asagidaki komutlar uygulanir.

make clean modules    (as root or with sudo)
    make install
    depmod -a

Linux Ethernet Arayüz Birleştirme (BONDING)

0

Linux Ethernet Arayüz Birleştirme (BONDING)

Linux makinelerde ethernet arayüzlerini birleştirme işlemi yapılabilmektedir. Buna genelde “bonding, trunk, etherchannel” gibi isimler verilmektedir. Arayüzleri birleştirme işlemi sistemin ağ performansını arttırmak için yapılabileceği gibi yedeklilik, sürdürülebilirlik için de yapılabilir.i

Burada çift ethernete yüklerin paylaşımını sağlayan mode=2 kullanılacaktır. Mode larla ilgili daha ayrıntılı bilgi almak için;

—-> modinfo bonding

Bonding yapma aşamaları aşağıda anlatılmıştır;

  1. Öncelikle bonding işlemini yapacak olan “ifenslave-2.6” programı bilgisayara kurulur, bunun için;

    —-> aptitude install ifenslave-2.6

  2. “/etc/modules” dosyası içerisine “bonding” satırı eklenmeli bunun için;

—-> pico /etc/modules

2

  1. Network servisi durdurulur.

—-> stop networking

  1. Bondingi ayarlayabilmek için komut satırında aşağıdaki komut çalıştırılır.

—-> modprobe bonding

  1. “/etc/network/interfaces” dosyası içerisine aşağıdaki resimde görülen ayarlar yazılır.

—-> pico /etc/network/interfaces

  1. Network servisi yeniden çalıştırılır.

—-> start networking

  1. Şimdi bonding’ in çalışıp çalışmadığını denemek için komut satırına;

—-> cat /proc/net/bonding/bond0

Aşağıdaki resimlerde görülen sonuçları alıyorsanız bonding başarılıdır.

3

4

Birleştirme Çeşitleri:i

mode olarak geçen birleştirme çeşitleri şöyledir:

  • mode=0

Round-robin, yani çalışan arayüzlere sırası ile göndermektedir. Yük paylaşımı ve hata toleransı sağlar.

  • mode=1

Aktif-yedek mantığı ile çalışır. Sadece bir arayüz aktiftir. Diğerleri sadece ve sadece asıl olan çalışmaz ise devreye girer. Hata toleransı sağlar.

  • mode=2

[(Kaynak MAC adresi XOR hedef MAC adresi) % arayüz sayısı] algoritmasına göre paketleri gönderir. Böylece her hedef için aynı arayüzü seçmiş olur. Yük paylaşımı ve hata toleransı sağlar.

  • mode=3

Broadcast çeşididir. Tüm paketleri tüm arayüzlerden gönderir. Hata toleransı sağlar.

  • mode=4

IEEE 802.3ad Dynamic link aggregation. Belirtilen standarda göre çalışır. Çalışması için sürücülerinin ethtool desteğinin olması gerekir. Ayrıca anahtarlama cihazı üzerinde de 802.3ad ayarlarının yapılması gerekir.

  • mode=5

Bu modda ise toplam yük her arayüzün kendi yüküne göre paylaşılır. Her arayüzün yükü hızına oranla ölçülür. Gelen trafik aktif ilk arayüz tarafından alınır. Eğer bu arayüz çalışmaz ise herhangi diğer bir arayüz aynı MAC adresi ile işlemi devralır. Çalışması için sürücülerinin ethtool desteğinin olması gerekir.

  • mode=6

Bu modda ise hem gidiş hemde geliş trafiği yük paylaşımı yapılır ve özel bir anahtarlama cihazı desteği gerektirmez. IPv4 üzerinden bu işlemi gerçekleştirir.

Açık Kaynak Yazılımları Kullanılarak Windows İşletim Sistemi Yüklü olan Bilgisayar Laboratuvarlarının Kontrolü – 1

2

“Windows işletim sistemi yüklü olan bilgisayar laboratuvarlarının kontrol edilmesi projesi 15-18 Nisan 2012′ de İzmir de düzenlenen 6. ULAKNET Çalıştayında Bilkent Üniversitesinde çalışan; Yavuz Selim Kömür – Ozan Yerli – Ekrem Yadigar – Can Uğur Ayfer arkadaşların yayınladığı “Açık Kaynak Yazılımlarla MS-Windows Yüklü Bilgisayar Laboratuvarı Yönetimi” isimli Makaleleri temel alınarak hzırlanmıştır.(Bu makaleyi tavsiye eden çalışma arkadaşım Öğr. Gör. Murat ÖZALP ‘ tir. Kendilerine ayrıca teşekkür ederim.)”

Bu yazı dizisinde kurulumla ilgili notlar, uygulama esnasında karşılaşılan sorunlar, dikkat edilmesi gereken noktalar, grekli donanımlar için tavsiyeler, alınan test sonuçları gibi çok önemli notlar aktarılmaya çalışılacaktır.

Bu sisteme ihtiyaç duyulmasının sebebi artan bilgisayar laboratuvarı sayıları, bunun pararelinde artan bilgisayar sayılarıdır. Her bilgisayara tek tek format atmak, uygulama yazılımlarını kurmak, bütün güncelleştirmelerini almak, v.b. işlerinden dolayı her bilgisayar başında kaybedilen çok zaman. Bunun önüne geçebilmek için bu tip işleri daha nasıl hızlı yaparızdan yola çıkılarak bu projeye başlanmıştır.

Yazı dizimizin ilk bölümünde Sunucu kurulumu ve temel ayarlarının yapılması. İkinci bölümde Sunucu üzerine işletim sistemi kurmak için yapılan hazırlıklar ve ayarların yapılandırılması ve işletim sisteminin kurulması. Üçüncü bölümde laboratuvarda bulunan bütün bilgisayarların sunucu üzerinden çalışması için yapılan ayarlar ve sunucu üzerinde yapılan bazı yapılandırılmaların anlatılması. Son bölümde ise sistem ile ilgili tavsiyeler ve test sonuçları paylaşılacaktır.

1. Sunucu Kurulumu ve Temel Ayarların Yapılması

Sunucu üzerine Ubuntu Server 13.04 64-bit işletim sistemi kurulmuştur. Sunucu kurulumu tamamlanıp server açıldıktan sonra root yetkilisi olarak serverı açmak için aşağıdaki komutlar kullanılır;

—-> sudo passwd root

Şimdi kurduğumuz serverın güncellemeleri varsa onları kuruyoruz sırasıyla aşağıdaki komutları uyguluyoruz;

—-> apt-get update

—-> apt-get upgrade

Eğer kurulum esnasında “SSH” kurulmamışsa aşağıdaki komutu kullanarak kurulabilinir;

—->apt-get install ssh

dahasonra “iscsitarget” paketlerini kurmak için aşağıdaki komutlar kullanılır;

—->apt-get install iscsitarget-source 

—->apt-get install iscsitarget-dkms

Bu işlemden sonra tFTP sunucusunun ayar dosyası içerisinde;

“TFTP_DIRECTORY=”/var/lib/tftpboot””

satırının bulunup bulunmadığını kontrol edilir. Bunun için komut satırına aşağıdaki komutları kullanabilir;

—-> pico /etc/default/tftpd-hpa

Bu dizine gPXE yazılımını yerleştirmek için;

“http://rom-o-matic.net/gpxe-1.0.1/contrib/rom-o-matic/”

adresinden undionly.kpxe dosyasını indirerek “/var/lib/tftpboot” dizinine undionly.kpxe adıyla kopyalanır. Dosyayı bu siteden indirirken “Output Format” olarak “.kpxe” uzantılı formatı ve NIC tipi olarak “undionly” seçilir. İnternet adresini indirmek için komut satırana aşağıdaki komutu yazılır;

#önce websitesini açabilmek için lynx tarayıcısını indirelim

—-> apt-get install lynx

#Şimdi yukardaki web adresindeki undionly.kpxe dosyasını indirelim

—-> lynx http://rom-o-matic.net/gpxe-1.0.1/contrib/rom-o-matic/

ISCSI ayarlarının yapımına geçilir.

Komut satırına aşağıdaki komutu yazılır;

—-> pico /etc/default/ iscsitarget

Ekrana gelen pencerede “ISCSITARGET_ENABLE=true” yapılır.

NOT: Sunucya istenilen IP adresinin atanması için aşağıdaki komut yardımıyla, aşağıdaki ayar dosyası yazılır.

—-> pico /etc/network/interfaces

Interfaces Dosyası içeriği;

iface p4p1 inet static(Static olmalı)

address 192.168.9.22(istediğin IP yaz)

netmask 255.255.255.0

gateway 192.168.9.1

Daha sonra aşağıdaki komutla ietd.conf dosyası içerisinde ayarlamalar yapılır. Bunu için komut satırına;

—->pico /etc/iet/ietd.conf

Ekrana gelen sayfanın en altına aşağıdaki formatta satır eklenir.

Target iqn.2013-06.22.9.168.192:master

Lun 0 Path=/dev/images/master,Type=fileio

ISCSI kaynaklarını (ISCSI Target) deklare ederken verileck “iqn” isimlerinin formatı önemlidir. İsimler “iqn” ile başlamalı ve “iqn.xxxx.ters_ip_adresi:disk adı” formatında olmalıdır. Bahsedilen ters ip adresi sunucunun IP adresinin tersinin yazılmış halidir. Örneğin sunucunun IP adresi 192.168.9.22 olsun iqn ismindeki yerine 22.9.168.192 yazman gerekir. Disk adı ise “lvcreate” ile oluşturacağımız ve işletim sistemlerini içine kuracağımız diskin adıdır. xxxx ile belirtilen yer ise istenilen karekterler yazılabilir (“xxxx=lab” kullanılacaktır). Burada deklare edilen “iqn” isimleri olduğu gibi “dhcpd.conf” dosyasında yer alan “option root-path” satırlarında kullanılmalıdır. “dhcpd.conf” dosyasına ulaşmak için aşağıdaki komut kullanılır;

—->pico /etc/dhcp/dhcpd.conf

DHCP ayarlarına başlamadan önce kurulumun yapılacağı laboratuvardaki bütün istemcilerin ethernet MAC adreslerini not edilir. Bu istemci bilgisayarlardan bir tanesini işletim sistemini yüklemek için ayrıca not edilir. Seçilen bu bilgisayar üzerinde bir DVD sürücü olması işletim sistemininkurulması esnasında gerekecektir. DHCP ayarları için “dhcpd.conf” dosyası içerisine girilir.

ddns-update-style none;

allow booting;

allow bootp;

option space gpxe;

option gpxe-encap-opts code 175 = encapsulate gpxe;

option gpxe.keep-san code 8 =unsigned integer 8;

subnet 192.9.9.0 netmask 255.255.255.0 {

pool {

deny unknown-clients;

option domain-name “bilecik.edu.tr”;

option domain-name-servers 79.123.224.3;

option netbios-name-servers 79.123.224.3;

next-server 192.168.9.22;

range 192.168.9.16 192.168.9.24;

default-lease-time 43200;

max-lease-time 86400;

group {

use-host-decl-names on;

option subnet-mask 255.255.255.0;

option routers 192.168.9.1;

host master {

hardware ethernet 00:28:8F:FF:FF:FA;

fixed-address 192.168.9.16;

option host-name “master.bilecik.edu.tr”;

if exists user-class and option user-class = “gPXE” {

filename “”;

option root-path “iscsi:192.168.9.22::::iqn.2013-06.22.9.168.192:master“;

option gpxe.keep-san 1;

}

else {

filename “/undionly.kpxe”;

option root-path “iscsi:192.168.9.22::::iqn.2013-06.22.9.168.192:master“;

} } } } }

 Ubuntu server kurulumundan diskin geri kalan kısmı üzerinde volume group ve sanal disk oluşturma işlemleri aşağıda anlatıldığı gibi yapılır.

—-> pvcreate /dev/sdb1

#oluşturulan disk bölümü içerisinde volume group oluşturulur

—-> vgcreate images /dev/sdb1

#oluşturulan volume group içerisinde windows işletim sistemini kuracağımız 45GB’ lik sanal disk oluşturulur.

—-> lvcreate –size 45GB –name master images

Oluşturulan bu sanal diskten laboratuvarda bulunan istemciler işletim sistemlerini bu sanal diskin kopyalarını alarak kullanacaklardır. Şimdi aşağıdaki şekilde tüm servisleri yeniden başlatalım;

—-> /etc/init.d/iscsitarget restart

—-> /etc/init.d/dhcp-server restart

—-> /etc/init.d/tftpd-hpa restart

#dilerseniz servisleri yeniden başlatmak için aşağıdaki komutlarda kullanılabilir.(Ben bunu kullanıyorum)

—->service iscsitarget restart

—-> service tftpd-hpa restart

—-> service isc-server restart

(Not: daha sonra bu komutlar için betikler hazırlanacakatır.)

İkinci bölümde yazı dizisine devam edilecektir.

 

Iptables ve Ubuntu ile ilgili birkaç örnek komut

1

Ubuntu ile yeni çalışmaya başlayan biri olarak bazı komutların kafamda yerleşmesi için yazmam gerekiyor(Yoksa sürekli elimin altında bu tip komutları yazdığım ajandamda aramak çok zor oluyor.). Aşağıda sık kullandığım ubunutu komutları bulunmkatadır. Ayrıca Iptables yapılandırmasını da ilkdefa yaptığım için onunla ilgili kullandığım komutlarda bulunmaktadır.

Ubuntu’ yu yeni kullanan biri olarak tavsiyem ubuntu diğer işletim sistemlerine göre daha zevlikli, komut satırında kodlar yazarak işlem yaptığımızdan olsa gerek sanki daha kararlı gibi geldi bana. Beni ençok heyecanlandıran tarafı yeni birşey yapmak istediğinizde acaba şöyle bir komut yazsam nasıl olur diye denediğinzde ve onun çıktısını aldığınızda istediğiniz işi yerine getiriyorsa o anki mutluluk ve hazzı tatmanızı isterim.

Ubuntu ve İptables Komutları

Ubuntu Komutları

pico: bir dosya içeriğini düzenlemek için kullanılır.
—-> pico /etc/dhcp/dhcpd.conf

Ubuntu da bir dosyayı sıkıştırmak için;
—-> tar -cvzf linux-atc.tgz /etc /etc

# “linux-etc” dosyasını sıkıştırarak yine etc klasörü içerisine kaydediyor. -cvzf eklentilerinin anlamı; -c: Create (-t: Test), -z: Sıkıştır -v: Verbose, -f: Filename
Not: Sıkıştırılmış dosyayı açmak için sadece -cvzf parametresi “-xvzf” olmaktadır. -x: Extarct

—->tar -xzvf linux-etc.tgz

Sıkıştırılmış bir dosyayı ağ üzerinde başka bir bilgisayara göndermek için;(Bura “scp(Secure Copy)” komutu kullanıldı. Bu komutu dosya boyutunun çok büyük olduğu ve dosya içerisinde çok fazla dosya üzerinde değişiklik yapıldığı durumlarda kullanılır.
—-> scp linux-etc.tgz cak@192.168.9.3://home/cak/Desktop

#”linux-etc.tgz” dosyasını 192.168.9.3 Ip adresinde “cak” kullanıcısı içerisindeki “/home/cak/Desktop” a kopyalar.

Bilgisayarda yedek amacıyla, yüklü olan tüm paketlerin yedeğini almak için;
—-> dpkg-query -l | awk ‘{print $2};’ > Yuklu_Paketler.lst

#Yüklü olan tüm paketleri gösterir(dpkg-query -l | awk ‘{print $2};’) sona eklenen komutla beraber “Yuklu_Paketler.lst” dosyasına bu paketleri kopyalar. Bizler daha sonra bu dosyayı sıkıştırarak kendi bilgisayarımıza kopyalaya biliriz.

Aşağıdaki komut bilgisayarda haftada en az bir kez çalıştırılmalıdır. Dosya indexlerini güncelleme. (Arama yaptığımızda ve sync konumutunu kullandığımız zaman hız artışı sağlar.)
—-> updatedb

Arama komutları;(“find” arama komutu çok yönlü bir komuttur, bu araştırılarak detayları ilerleyen zamanlarda yazılacaktır)
#”/etc” klasörü içerisindeki “rc.local” adındaki dosyaları bul.
—-> find /etc –name rc.local

—-> komut satırındayken “Ctrl+R” kombinasyonunu kullanarak aradığınız kelimeyi yazarak bulabilirsiniz.

ÖNEMLİ NOT: Ubuntuda tarihleri amerikan formatta (YIL-AY-GÜN) yazmaya özen gösterilmelidir. Aramalarda bu önemli olmaktadır.

Ubuntu üzerinde hangi portların dinlendiğini öğrenmek için;
—-> netstat -antulp

Dosya kopyalama:

# dhcpd.conf dosyasının aynı klasör içinde bir kopyasını oluşturduk.

—-> cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.yedek

Bit stream kopyalama:

—-> dd if=/dev/sda of=/deb/sdb
# if(input file) ile belirtilen alanda kopyalamak istediğimiz volume, dosya vb yazılır. of(ouputfile) kısmında da yazma işleminin nereye yapılacağı belirtilir. Direk fiziksel veya mantıksal bir sürücü üzerine yazım yapılabileceği gibi dosya formatında da çıktı yapılabilir. (of=/etc/yedek/windows.img)

İptables Komutları

İptables ile ilgili arama ip uçları: iptables hardening, iptables scripts, iptable example, iptables scripts.

Squid3 uygulamasını kurmak için;(Bilgisayarınızda aptitude kurulu değilse “apt-get aptitude install” derseniz kurarsınız.)
—-> aptitude install squid3

Sarg raporlama aracını kurmak için;

—-> aptitude install sarq

Squid Sarg’ı otomatik olarak çalıştırmak için crontab kullanılır:

# Periyodik yapılan işlemler için kullanılan crobtab’ı görüntülemek için kullanılır.

—-> crontab -l

Açılan ayar dosyasının sonunna Sarg ile ilgili satır eklenir:

# crontab içine yazılacak “*/5 * * * * /usr/bin/sarg >/dev/null 2>&1”
# 5 dakikada bir squid raporlama aracı sarg’i çalıştırır, hataları raporlamaz. Crontab’ ın içini düzenlemek için de;

—-> crontab -e

İptables üzerine yazılmış olan kuralları görüntülemek için;
—-> iptables-save

Go to Top