FreeIPA Komut Satırı Üzerinden DNS A kaydı Oluşturma

Şimdi DNS’e A kaydı gireceğiz. Bu işlemi GUI’de basit bir şekilde de yapabilirsiniz ki ilerde bir makale ile bu konuya da değinebiliriz, şimdi ise aşağıdaki komut yardımıyla bu işlemi komut satırıcı üzerinden gerçekleştirebiliriz.

İlk önce kinit admine login olun(GUI ekranında login olduğunuz admin ve şifresi).

> kinit admin

Ardından aşağıdaki komutu çalıştırın.

# ipa dnsrecord-add [domain name] [record name] [record type] [ip adress]

> ipa dnsrecord-add fatlan.local dc02 –a-rec 192.168.2.160

Ovirt/RHEV 4.2 Kurulumu Hostlara NFS Iso/Export Ekleme – Bölüm 5

Ovirt/RHEV yapısında ISO ve EXPORT olarak NFS alan istemektedir.

ISO alanı sanal makinaları kurmak için kullanılacak olan *.iso dosyalarının barındırılacağı alandır.

EXPORT alanı ise sanal makineleri yedekleme, taşıma, kopyalama ya da dışarı aktarma amaçlı kullanılan alandır.

Konuyu daha fazla uzatmadan nasıl yapacağımıza bakalım.

Herşeyden evvel şunu belirtmem gerekir ki NFS alanlarını eklemeden önce Storage’den açtığınız NFS alanlara yetkilendirmeyi doğru bir şekilde yapmalısınız, aksi takdirde NFS alanını eklerken “permission denied” uyarısını alırsınız. Örnek yetkilendirmeyi aşağıdaki ss’de gösterdim.

Şimdi ilk olarak “Storage/Domains” sekmesinden “New Domain” butonuna tıklayın.

Ardından “Domain Function”ı “ISO” olarak, “Storage Type”ı “NFS” olarak aşağıdaki gibi seçip yolu “ip_adresi/dizin_yolu” şeklinde girip “OK” butonuna basın. İşlem bu kadar.

EXPORT alanını da aynı şekilde belirtip “OK” tıklayın. Bu kısımda da işlem tamam.

NoT : Storage alanlarını sıfırdan ekler iseniz “New Domain” butonunu kullanmalısınız. Fakat daha önce eklemiş ve sistemden kaldırmış yada başka bir uygulama tarafından daha önce kullanılmış ise “Import Domain” sekmesini kullanmalısınız. Aksi takdirde hata mesajı alıp, alanı ekleyemeyeceksiniz.

Bölüm 6’da görüşmek dileğiyle.

FreeIPA(LDAP, DNS) – iDM(identity management) Replica Kurulumu

Daha önceki makalemizde FreeIPA server kurulumunu ele almıştık.

İlgili makaleye http://www.fatlan.com/freeipa-idm-identity-management-kurulum-ve-yapilandirmasi/ linkinden ulaşabilirsiniz.

Tabi bu bizler her yapıda olduğu gibi FreeIPA sistemimizde de yedekli çalışıp HA yapısını sağlayacağız. Kısaca FreeIPA Replica işlemi ile kesintisiz ve yedekli bir yapı sağlamış olacağız.

Master FreeIPA : dc01.fatlan.local

Replica FreeIPA : dc02.fatlan.local

Master sunucumuz(dc01.fatlan.local) daha öncesinde kurulmuştu. Şimdi adım adım Replica FreeIPA(dc02.fatlan.local) kurulumunu ele alalım.

Hostname, Hosts, Resolv, NIC dosya’larını yapılandırdıktan sonra firewalld yapılandırmasını yapmalısınız. Aşağıdaki komut ile gerekli servislere izin verelim ve servisi reload edelim.

> firewall-cmd –add-service={http,https,ssh,ntp,dns,freeipa-ldap,freeipa-ldaps,kerberos,kpasswd,ldap,ldaps,freeipa-replication} –permanent

> firewall-cmd –reload

Hemen akabinde aşağıdaki paketleri dc02 replica sunucumuza kuralım.

> yum install ipa-server bind-dyndb-ldap ipa-server-dns -y

Ardından aşağıdaki komutu gene dc02 replica sunucusunda çalıştırın ve aşağıdaki yönergeler ile ipa client kurulumunu bitirin.

> ipa-client-install –domain=fatlan.local –realm=FATLAN.LOCAL –server=dc01.fatlan.local

yes

yes

admin

admin şifresi

Şimdi Master dc01.fatlan.local sunucusunda aşağıdaki komutu çalıştırın. Böylelikle dc02 sunucusu “ipaservers” grubuna dahil etmiş olacağız.

NoT : Bu komutu master freeipa da çalıştırabilmek için, sunucuya login olduktan sonra “kinit admin” ile servise bağlantı kurmanız gerekmektedir. Aksi taktirde “ipa: ERROR: did not receive Kerberos credentials” hatasını alırsınız. Hatayı görmeniz için aşağıdaki ss’de paylaştım.

> ipa hostgroup-add-member ipaservers –hosts dc02.fatlan.local

Şimdi son komutumuzu Replica FreeIPA(dc02.fatlan.local) da çalıştırarak kurulumu tamamlayalım.

> ipa-replica-install

yes

İşlem bu kadar. Artık her iki, yani dc01 ve dc02 FreeIPA sunucuları aktif-aktif çalışcaktır. Herhangi birinde yaptığınız bir işlem diğerine de yansıyacaktır. Böylelikle hem yedeklilik hemde HA sağlamış oldunuz.

Son durumu aşağıdaki komut ile de kontrol edebilirsiniz.

> ipa-replica-manage list

Ovirt/RHEV 4.2 Kurulumu Hostlara ISCSI LUN Ekleme – Bölüm 4

Engine login olduktan sonra “Storage” sekmesinden “Domains” bölümüne gidin ve “New Domain” butonuna tıklayın.

NoT : Bu kısımda bizim oluşturduğumuz iscsi lun’lar yeni oluşturulmuş olup, daha önce herhangi bir uygulama tarafından kullanılmamıştır. Biz bu lab ortamı için sıfır lun oluşturduk ve bu yüzden “New Domain” butonunu kullanarak lun ekleme işlemini yapacağız.

Fakat bu lun daha önce herhangi bir uygulama tarafından kullanılmış olsaydı ya da bizim bu Ovirt uygulamamız tarafından da kullanılmış olup herhangi bir nedenle lun silinmiş olsaydı “Import Domain” kısmını kullanarak ekleme işlemini yapacaktık. Çünkü lun daha önce kullanıldığı içinde veri barındırmasa dahi daha önce kullanıldığına dair bilgi saklıyorsa yada sakladığından Ovirt daha önce kullanıldığına dair bilgi verecek yada db den sildim gibi uyarılar verip lun’u eklemeyecektir. Bu nedenle bu tarz durumlarda “Import Domain” kullanılmalıdır, eğer lun sıfır değil ise.

Ardından eklemek istediğiniz lun’lara, bizde bir tane kaldı, “Name” kısmını belirttikten sonra “Add” diyerek aktif edin. Daha sonra “OK” diyerek ekleme işlemini tamamlayın.

Ve “Storage” bölümünden lun’larımızı görüntülediğimizde, geldiğini görebiliyoruz.

Bölüm 5 : http://www.fatlan.com/ovirt-rhev-4-2-kurulumu-hostlara-nfs-iso-export-ekleme-bolum-5/

Ovirt/RHEV 4.2 Kurulumu Hostların Power Management Yapılandırması – Bölüm 3

Hostları ekleme sırasında son kısımlarda aldığımız power management uyarısını bu bölümde ele alacağız. Power management yapılandırması hostlar için ilo ekranına yada host’un konsol ekranına düşmeden kapatıp, açma ve yeniden başlatma gibi özellikleri kazandıracak agent’ı(fences agent) aktif edeceğiz.

Aşağıda görüldüğü üzere hostları listelediğimizde üzerlerinde ünlem(!) işareti var ve power management’ın yapılandırılmadığı uyarısını veriyor.

Şimdi hostları tek tek seçip “Edit” tıklıyoruz. Ardından “Enable Power Managementcheck ettikten sonra, “Add Fence Agent” kısmındaki artı işaretine tıklıyoruz.

Daha sonra sunucuların (ilo, idrac, BMC vs.) ip adresi, kullanıcı ve şifre bilgisini yazıyoruz. Ben “Type” olarak “ipmilan” ile yapılandırıyorum, “option” kısmına da “lanplus=1key value’sini verip, bağlantıyı “Test” ediyorum ve başarılı olduğunu görüyorum. OK ile işlemi tamamlıyorum.

 

Son durum aşağıdaki gibi, OK diyerek tamamlıyorum.

İşlem bu kadar. Artık hostları listelediğinizde ünlem işareti olmayacak ve host için power seçenekleri aktif olacak.

Bölüm 4 : http://www.fatlan.com/ovirt-rhev-4-2-kurulumu-hostlara-iscsi-lun-ekleme-bolum-4/

OVİRT(RHEV) 4.2 Kurulum ve Yapılandırması – Host Ekleme – Bölüm 2

Makalemizin ikinci bölümüyle beraber artık tüm işlemlerimizi hosted engine üzerinden yapacağımızı adım adım göreceğiz. Şimdi sırada ortama hypervisor olarak host ekleme var. Host ekleme işleminin sırasıyla nasıl yapılacağına bakacağız.

İlk olarak engine login olun.

Ardından “Compute – Hosts” kısmına gelin ve “New” butonunu tıklayın.

Daha sonra “General” sekmesinde;

– “Host Cluster”ı seçin, genelde Default olur. Fakat ismini siz daha sonra özelleştirebilirsiniz.

– “Name” ve “Hostname” kısmına host için verdiğiniz domain name’yi girin.

– “SSH Port” bölümüne port numarasını yazın.

– Authentication kısmındaki “Password” kısmına sunucuya login olduğunuz user’ın şifre bilgisini yazın.

Son olarak “Hosted Engine” sekmesine gelin ve “Choose hosted engine deployment action” seçeneğini “Deploy” olarak belirledikten sonra “OK” tıklayın.

Bu kısımda “Power Management” yapılandırılmadığına dair uyarı verecek, “OK” diyerek işlemi başlatın daha sonra nasıl yapılandırılacağına bakacağız. Bu arada “Power Management” yapılandırması Engine üzerinden sunucuyu kapatma, açma ve yeniden başlatma gibi yetenekler kazandırmasına olanak tanıyacak olan bir agent’tir(fences agent).

Kırmızı alanla işaretlediğimiz kısıma tıkladığınızda “Deploy” edildiği sürece tanık olabilirsiniz.

Ve ardından hostları listelediğimizde geldiğini görebiliyoruz. Siz ortamınızdaki tasarımınızda gerekli olan kaynak durumuna göre tüm hostlarınızı aynı yöntemle ortama dahil edebilirsiniz.

Bölüm 3 : http://www.fatlan.com/ovirt-rhev-4-2-kurulumu-hostlarin-powermanagement-yapilandirmasi-bolum-3/

Linux DNS – BİND Versiyon Bilgisini Kapatma yada Özelleştirme

Hacker mantalitesinin ilk adımlarından olan, servis/servisleri keşfetmek, bu keşfi yaparken versiyon bilgisini almaktır. Daha sonra bu versiyonların barındırdıkları zafiyetleri kullanarak içeri sızmaktır.

Doğal olarak Linux üzerinde kullanılacak olan Dns servisi BİND-NAMED servisinin versiyon bilgisini gizlemek ya da özelleştirmek yapılacak olan mantıklı hareketlerden biri olacaktır.

Versiyon bilgisini aşağıdaki 3 yöntem ile elde edebilirsiniz.

1. NMAP

> nmap -sV -p 53 fatlan.com

2. DIG

> dig @fatlan.com version.bind txt chaos

3. NSLOOKUP

> nslookup -type=txt -class=chaos version.bind fatlan.com

Sıra geldi versiyon bilgisini gizlemeye. Bunun için “/etc/named.conf” dosyası içindeki “option” kısmındaki satırlara ek olarak aşağıdaki satırları da ekleyin. Ek olarak iserseniz hostname bilgisini de ekleyebilirsiniz.

options {

         version “DNS SERVER 2018”;

         hostname “DNS SERVER 2018”;

};

 

 

OVİRT(RHEV) 4.2 Kurulum ve Yapılandırması – Bölüm 1

RHEV(Red Hat Enterprise Virtualization) yada Ovirt Açık Kaynak Kodlu KVM temelinde hypervisor olarak kullanılan, ölçeklenebilen sanallaştırma platformudur. İki ürünün temeli aynı fakat Ovirt(https://ovirt.org/) RHEV’in forklanmış hali olup tamamen ücretsizdir.

Konuyu tamamen adım adım ele alan ve bölümlerden oluşan makale serisi ile baştan sona böyle bir sanal bulut ortamını elde edebilmek için Ovirt yapısını inceleyeceğiz. İşlemlere başlamadan önce istediğimiz yapının bir çizgisini yukarıda paylaşıyorum. Kafanızda durum şekillenmesi için çizgiyi paylaştım, siz daha basit yapıda da kurabilirsiniz. Örneğin tek nic yada internal disk gibi.

Node1: 192.168.22.10

Node2: 192.168.22.20

HostedEngine: 192.168.22.15

gibi, engine için ayrı management ip vermek gerekiyor. Çünkü yönetimi engine aracılığı ile yapacağız, bir nevi vcenter gibi düşünebilirsiniz.

İstediğimiz ortamın yukarıdaki gibi olmasını planlıyoruz.

Ovirt’i iki şekilde kurabiliriz.

1. Manuel olarak terminal üzerinden ilk önce CentOS kurup, ardından gerekli paketleri indirip daha sonra da barematel üzerine engine setup ederek yapabilirsiniz.

Manual kurulum linkleri : https://ovirt.org/download/

https://www.ovirt.org/documentation/install-guide/Installation_Guide/

https://www.ovirt.org/documentation/install-guide/chap-Installing_oVirt/

2. Ovirt için hazırlanmış özelleştirilmiş iso paketi ile kurulum gerçekleştirebilirsiniz ki CentOS sunucunun özelleştirilmiş halidir ve repoları ona göre otomatik yapılandırılmış gelir, ayrıca hosted engine vm olarak kurulup yönetim sağlanmaktadır. Biz bu yöntemi kullanarak kurulum gerçekleştireceğiz.

İso paket linki : https://resources.ovirt.org/pub/ovirt-4.2/iso/ovirt-node-ng-installer-ovirt/4.2-2018100407/

İso dosyasını host’lara mount ettikten sonra aşağıdaki karşılama ekranından “Install oVirt Node” diyerek işleme devam edelim.

Aşağıda görüldüğü üzere normal CentOS kurulum gibi Anaconda ekranı, o yüzden buranın üzerinde fazla durmayacağım. Bu bölümün kurulumunu yapıp sunucuyu reboot edin.

NoT1 : Kurulum bittikten sonra gerekli erişimler için hostların network yapılandırmasını yapmalısınız. Update’ni geçebilirsiniz. Bu arada “yum” ile paket kurmak istediğinizde hata alabilirsiniz. Çünkü repolar Ovirt için özelliştirilmiş olacaktır. Onun dışındaki repolar disable gelecektir. Bu yüzden paketlerde kurulum yapamazsanız “yum” komutunu aşağıdaki gibi kullanabilirsiniz. Tek seferlik paket kurulumu için enable modu.

Ayrıca “/etc/hosts” ve “/etc/resolv.conf” dosyalarını yapılandırıp, search domain.com ibaresinide ekleyin. DNS, SSH Keypair ve NTP yapılandırmalarının yapılmış olması gerekmektedir.

> yum install –enablerepo=”base” CentOS-Base.repo “paketadı” -y

> yum install –enablerepo=”epel” epel.repo “paketadı” -y

NoT2 : Hosted Engine kurulumunu terminal ekranından da yapabilirsiniz. Fakat biz GUI kullanarak yapacağız. Bu arada HostedEngine storage üzerine kurmak zorundasınız.

Komut satırından kurulum linki : https://ovirt.org/documentation/how-to/hosted-engine/

Devam edelim. Sunucu reboot olduktan sonra aşağıdaki paketi terminal ekranından kurun. Daha sonra GUI ekranında fazlaca beklememiş olursunuz.

> yum install ovirt-engine-appliance -y

Hosted Engine kurulumuna geçmeden önce storage ayarlarını yapmamız gerekiyor. Host’ta saklayacağımız vm ler için iscsi protokolünü kullarak data01 ve data02 adında iki adet lun bağlayacağız, daha sonra HostedEngine bağlanacak. Ovirt’in istediği, nfs protokolü ile de iso ve export adında iki adet volume HostedEngine bağlayacağız. Nfs’leri host’a bağlamak zorunda değilsiniz. Hatta bağlamayın çünkü Nfs’ler HostedEngine bağlanacak. Dikkat etmeniz gereken Nfs’ler için yazma ve okuma haklarının unix için tam olması gerekiyor yoksa HostedEngine bağlanma sırasında “permission” hatası alırsınız.

Konu ile alakalı cause linki : https://support.hpe.com/hpsc/doc/public/display?docId=mmr_kc-0108935

ISCSI’leri terminal üzerinden bağlayacağız çünkü UI tarafında bu işlem yapılamıyor ama daha sonra node’lerin gui’sinde görüntülüyebileceksiniz. Aslında bu protokollerin dışında FC(fiber channel) yada Gluster storage protokolleri de kullanılabilir ama şuan için bizim konumuz dışında.

İscsi yapılandırması:

Storage tarafında ilgili SVMs, LUNs, Volumes ve network ayarlarını yapıp data01, data02, iso ve export bölümlerini açtıktan sonra iscsi’nin hostlara erişimi için “Initiators” ve “Initiator Group” erişimlerini vermelisiniz. Storage tarafına detaylıca girmiyorum konu genişleyip, dağılmaya başlar.

Not3 : Sunucunun “InitiatorName” elde etmek için aşağıdaki komutu kullanabilirsiniz.

> cat /etc/iscsi/initiatorname.iscsi

İscsi hedef tespiti için aşağıdaki komut ile discover işlemini yapalım. İlgili ip’lere bağlı erişimi olan tüm hedefleri listeleyecektir.

> iscsiadm -m discovery -t st -p 10.10.30.5

Çıktı: 10.10.30.5:3260,1030 iqn.1992-08.com.netapp:sn.2626a89cce1111e66c5200a098d9e8ba:vs.18

Şimdi var olan tüm iscsi hedeflerine login olmak için aşağıdaki komutu çalıştırın.

> iscsiadm -m node -l

Ayrıca http://www.fatlan.com/linux-sunucular-uzerinde-iscsi-yapilandirmasi/ adresinden iscsi yapılandırma komutlarına bakabilirsiniz.

Ardından “fdisk -l” ile bağlanan diskleri görüntüleyebilirsiniz.

Daha sonra da “multipath -l” ile de iscsi ile takılan disklerin multipath bağlantısını görüntüleyebilirsiniz.

Host’ta Datastorage’de işlemleri tamamladıktan sonra HostedEngine kuruluma geçelim, bunun için tabi ilk önce Ovirt host’a login olalım.

Kurulum ekranında network kısmında management için verdiğiniz ip’yi tarayıca da 9090 ile çağırıp işlemlere devam edelim. Örnek olarak 192.168.22.10:9090 yada domain name gibi…

Bu ekran hostun yönetimi için açılan web panelidir. Sunucuyu konsol yerine burdan UI üzerinden rahatça yönetebilirsiniz. Biz HostedEngine kurulumunu bu ekrandan yapacağız. Bu ekrana sunucuya verilen kullanıcı adı ve şifresi ile login olacaksınız.

Aslında bu GUI ekranında terminalde yaptığınız birçok işlemi gerek kalmadan görsel ekranda da yapabilirsiniz. Iscsi bağlantınızı host’larda gerçekleştirdikten sonra bu ekranda da görünecektir, etkileşimli olarak yapılan işlemler yansıyacaktır.

Ovirt node’ye login olduktan sonra Storage ile çalışacağımız için Virtualization – Hosted Engine sekmesine gidip start veriyoruz. Hyperconverged sekmesi ile şuan ilgilenmiyoruz çünkü bu kısım internal diskler ile glusterfs file sistemi yedekli node’ler ile kullanmaktadır. Gluster için; OS in disklerini Raid 1, Gluster‘ın kullanacağı disklerini Raid 5 olarak iki Raid grup yapabilirsiniz.

Bu kısmda hosted engine için yukarıda belirdediğimiz ip’ye karşılık gelen domaini dns sunucumuzda daha önceden tanımlamıştık. Örnek bulut.fatlan.com gibi.

Engine VM FQDN kısmına o domaini yazıyoruz.

Belirlenen ip’yi dhcp’den ya da static olarak verip, gateway ve dns bilgilerini de giriyoruz.

Manage olacak bridge interface’mizide seçtikten sonra host’un root pass bilgisini giriyoruz.

En son olarak virtual CPU ve Memory kısımların da default’ta bırakıp Next ile devam edelim.

Bu kısımda ki Engine Credentials kısmı önemli. Çünkü Bu kısımdan HostedEngine login olabileceğiniz şifreyi belirliyorsunuz.

Notification kısmı şuan için çok zaruri değil, defaultta bırakabilirsiniz daha sonra da değiştirebilirsiniz.

Ardından config’ler hazır halde Prepare VM demenizi beklemektedir. Tıklayıp devam edin.

NoT4 : HostedEngine atadığınız ip gateway’ine ping atabilmelidir ve network’sel erişimde kısıtlı olmamalıdır aksi halde aşağıdaki ss’lerden belirttiğim hataları alırsınız ve çok sizi çok uğraştırır.

Terminalde;

GUI’de;

Prepare VM dedikten sonra aşağıdaki gibi başarılı bir kurulum uyarısı alacaksınız, Next ile devam edin.

Şimdi Engine’nin barınacağı datastore için iscsi ayarlarını yapmamız gerekiyor. Diğer store’leri engine kurulduktan sonra yapacağız.

Storage type iscsi seçip,

Portal ip address kısmına iscsi hedefimizin ip adresini yazıyoruz, eğer hedefinizde user ve şifre varsa onu da girin bende olmadığı için girmiyorum.

Ardından Retrieve Target List butonuna tıklayın.

Retrieve Target List butonuna bastıktan sonra aşağıdaki gibi hedefleriniz gelecektir. Seçiminizi yapıp Next ile devam edin.

Ardından aşağıdaki gibi yeşil Finish ekranı sizi karşılıyorsa Hosted Engine kurulumu başarılı bir şekilde gerçekleştirildi demektir.

Tekrar Hosted Engine deploy ettiğimiz Ovirt Node ekranına dönecek olursak aşağıdaki gibi deploy işleminin başarılı ve sunucunun çalıştığını anlayabiliriz.

Şimdi kurduğumuz hosted engine login olalım. Default kullanıcı adı “admin”, password de deploy sırasında verdiğiniz şifre olacak.

Artık bundan sonra ki işlemlerimize hosted engine’de devam edeceğiz. Datacenter ekleme, Cluster ekleme, Host ekleme, Storage ekleme, Vm oluşturma gibi vesaire işlemleri bu ekranda yapacağız.

Bölüm 2 : http://www.fatlan.com/ovirtrhev-4-2-kurulum-ve-yapilandirmasi-host-ekleme-bolum-2/

Linux Sunucular Üzerinde ISCSI Yapılandırması

iscsi(Internet Small Computer Systems Interface), ağ(network) üzerinden veri depolama(storage) ünitelerine tcp/ip protokolünü kullanarak blok düzeyinde erişim sağlayan yöntemdir.

Storage tarafında ilgili SVMs, LUNs, Volumes ve network ayarlarını yapıptan sonra iscsi’nin sunuculara erişimi için “Initiators” ve “Initiator Group” erişimlerini vermelisiniz. Storage tarafına girmiyorum konu genişleyip, dağılmaya başlar.

Not : Sunucunun “InitiatorName” elde etmek için aşağıdaki komutu kullanabilirsiniz.

> cat /etc/iscsi/initiatorname.iscsi

İscsi’leri Keşfedelim;

Sunucu üzerinde İscsi hedef tespiti için aşağıdaki komut ile discover işlemini yapalım. İlgili ip’lere bağlı erişimi olan tüm hedefleri listeleyecektir.

> iscsiadm -m discovery -t st -p 10.10.30.5

Çıktı: 10.10.30.5:3260,1030 iqn.1992-08.com.netapp:sn.2626a89cce1111e66c5200a098d9e8ba:vs.18

İscsi’lere login olalım;

Şimdi var olan tüm iscsi hedeflerine login olmak için aşağıdaki komutu çalıştırın.

> iscsiadm -m node -l

Ya da tek tek login olmak için aşağıdaki komutu da kullanabilirsiniz.

> iscsiadm -m node -T -l iqn.1992-08.com.netapp:sn.2626a89cce1111e66c5200a098d9e8ba:vs.18 -p 10.10.30.5:3260

İscsi’lere logout olmak için;

İscsi den tümüyle birden logout olmak için,

> iscsiadm -m node -u

Ya da tek tek logout olmak için,

> iscsiadm -m node -T -u iqn.1992-08.com.netapp:sn.2626a89cce1111e66c5200a098d9e8ba:vs.18 -p 10.10.30.5:3260

İscsi diskleri genişletme;

İscsi ile çalışan stroge’de alan genişlettikten sonra aşağıdaki komut ile de sunucuya yansımasını sağlayabilirsiniz.

> iscsiadm -m session –rescan

İscsi genişletmesinden sonra eğer hedefleri multipath olarak kullanıyorsanız aşağıdaki komutu da çalıştırmanız gerekebilir.

> multipathd resize map “multipath alias ya da wwid_numarası”

Ardından “fdisk -l” ve “multipath -l” komutları ile işlemin doğruluğunu kontrol edebilirsiniz.

Güvenli Yerel Docker Registry Kurulumu

Docker registry docker images’larının depolandığı sistemdir. Docker images’larını pull ile çekip, push ile de gönderip paylaştığımız sistemdir. Hali hazırda docker resmi olarak https://hub.docker.com/ dan binlerce özel yada genel, kullanıma açtığı images’lar bulunmaktadır. Bizlerde bu sistemi kullanmaktayız.

Docker hub gibi sadece yerel ağınızda kullanıma açmak isteyebileceğiniz bu sistemi aşağıdaki yöntem ile kurup kullanabilirsiniz.

Registry için biz ubuntu kullanacağız ve docker kurulumun yapılmış olduğunu farz ederek registry kurulumuna geçiyoruz.

Örnek domain olarak “fatlan.com” kullanılmıştır.

Kuruluma geçmeden önce güvenli kurulum olduğu için ssl sertifikalarınız(domain.crt, domain.key) mevcut olmalıdır. Bu sertifika authority confirmed olabilir yada self sign olabilir. Burada önemli olan kısım domain.crt dosyasının içinde ilk olarak domain sertifika key’i akabinde kök sertifika key’i olmalıdır. Yoksa registry’e images push ettiğinizde “x509: certificate signed by unknown authority” hatası alırsınız.

Sertifikalarınızı “/certs” klasörünün altına taşıyın.

> sudo mkdir /certs

Ardından “mkdir” komutu ile “/mnt/registry-repo” klasörünü oluşturun. Biz registry için images store olarak bu directory kullanacağız. Sizler bu kısımda “/mnt/registry-repo” dizini farklı bir disk yada partition olarak seçip, mount edip daha geniş bir alana olarak kullanabilirsiniz.

> sudo mkdir /mnt/registry-repo

Ardından aşağıdaki komutla docker registry’i kuralım.

> sudo docker run -d –restart=always –name registry -v /certs:/certs -v /mnt/registry-repo:/var/lib/registry -e REGISTRY_HTTP_ADDR=0.0.0.0:443 -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key -p 443:443 registry:2

Registry container’ımızın çalıştığını “sudo docker ps -a” komutu ile kontrol edelim.

Şimdi kurulumu doğrulamak için pull ve push yöntemlerini de dahil ederek test edelim. Ayrıca https://docker.fatlan.com/v2/_catalog adresinden de kontrol edebilirsiniz, tabi siz kendi belirlediğiniz domain name‘i girmelisiniz.

İlk önce hello-world images’ını docker hub’tan pull edelim.

> sudo docker pull hello-world

Ardından bize özel olması için tag atayalım.

> sudo docker tag hello-world docker.fatlan.com/my-hello-world

Şimdi yerel registry’ımıza push ile gönderelim.

> sudo docker push docker.fatlan.com/my-hello-world

Son olarak bu images’ımızı yani kendi yerel registry’ımızdan pull edelim ve bitirelim.

> sudo docker pull docker.fatlan.com:443/my-hello-world

Linux Sistemlerde TAB Tuşu ile Otomatik Komut yada Dizin Tamamlama – Bash Completion

Bash (Bourne Again Shell) şüphesiz en popüler Linux Shell olma özelliği ile beraber şuan için varsayılan shell olarak Linux yönetiminde top level seviyesindedir.

Her Linux sistem yöneticinin ihtiyaç duyabileceği Shell ile sistem yönetirken tab tuşu ile komut tamamlama Redhat/CentOS gibi Linux sistemlerin minimal kurulumlarında aktif bir şekilde gelmemektedir. Bu yüzden aşağıdaki komut ile auto-completion’u destekleyen bash için bash-completion paketini kurmalısınız.

> yum install bash-completion

Ardından sunucuyu “reboot” edin.

Redhat/CentOS Linux Sunucularda Disable Repolar İçin YUM Kullanımı – YUM ENABLE

Genelde özelliştirilmiş CentOS sunucularda ilgili servis/hizmet dışında olan repolar(/etc/yum.repos.d) buna CentOS’un Base reposu dahil varsayılan olarak “enable=0” olarak ayarlandığında yani bu repo disabled moda çekildiğinde “yum” ile Base de var olan paketleri kurmak istediğiniz de hata alacaksınız ve kuramayacaksınız. Bu durumda repodan “enable=1” yapmalısınız ya da bu ayarın böyle kalması gerekiyorsa “yum” paket yöneticisini tek seferlik enable modda kullanarak bu sorunu aşıp, paketi kurabilirsiniz.

Örnekler aşağıdaki gibidir.

CentOS BASE reposu için;

> yum install –enablerepo=”base” CentOS-Base.repo “paket_adı” -y

Epel reposu için;

> yum install –enablerepo=”epel” epel.repo “paket_adı” -y

Linux Sunucular Üzerinde Dns Recursion Özelliğini Kapatmak

DNS Recursion özelliğinin açık olması, “DNS Amplification Attack” saldırılara maruz kalmanız demektir. Bu atak DNS kuvvetlendirmeli DDOS saldırısı olarakta bilinir. Bu nedenle DNS Recursion özelliğinin kapatılması gerekiyor ve biz bu işlemi nasıl yapacağımıza bakacağız. DDOS saldırısının sonuçlarına az/çok aşina olduğunuzu varsayarak, DNS Amplification Attack nedir.? çok fazla ayrıntıda boğmadan durumu anlatan güzel bir videoyu buraya bırakıyorum.

https://www.youtube.com/watch?v=xTKjHWkDwP0

Şimdi ilgili DNS sunucusunda Recursion özelliği açık/kapalı mı.? Herhengi bir kullanıcı makinasından sorgu göndererek test edelim. Ben linux bir client kullanıcam. Aslında DNS sunucusunun yapılandırma dosyasına bakıp bu durumu anlayabiliz ki zaten değişiklik DNS sunucusunun conf dosyasında yapılacak.

Testi “nmap” komutu ile yapacağım.

> sudo nmap -sU -p 53 -sV -P0 –script “dns-recursion” (DNS inizin IP si)

Yukarıdaki ss den de anlaşılacağı üzere DNS Recursion özelliği açık ve DNS Amplification Attack larına karşı savunmasız durumda. Şimdi Recursion özelliğini “/etc/named.conf” dosyasından disable edelim.

Recursion özelliğini disable etmek için “/etc/named.conf” dosyasının “options” bölümüne “recursion no;” satırı eklenmelidir. Aşağıda ss ile de gösterilmiştir.

Şimdi tekrar “nmap” komutumuzla test yapalım ve recursion özelliğinin son durumunu görelim.

> sudo nmap -sU -p 53 -sV -P0 –script “dns-recursion” (DNS inizin IP si)

Yukarıdan da anlaşılacağı üzere recursion özelliği pasif durumda.

Redhat/Centos 7 Üzerine DNS Server Kurulumu ve Yapılandırması – BİND(NAMED), NS(NAMESERVER) – Public DNS or Private DNS

Daha önceki yazılarımda DNS ile alakalı olarak bir çok bilgi paylaştım. DNS nedir.?, NS nedir.? gibi birçok soruyu ilgili makalelere havele edip bu yazımızda direk konuya geçiş yapmak istiyorum.

NoT : Makalede kullanılacak olan domain fatlan.com’dur, ip ler tamamen sallamasyondur.

Linux sistemlerde DNS sistemi kurup, aktif edebilmek için Bind paketini kurmalısınız. Servisin adı ise Named olarak bilinmektedir. Named ile servis yönetimini sağlayabilirsiniz.

İlk etapta bir Centos 7 sunucusu kurup ardından sabit bir ip ile network’ünü ayağa kaldırıyorum. Daha sonra yum update komutunu çalıştırıp sunucuyu stabil hale getirelim. Ardından “/etc/hostname” dosyasından sunucunun hostname’ini ns1.fatlan.com olarak değiştiriyorum. Bu değişikliği “/etc/hosts” dosyasında da yapıyorum. Bu arada update ve paketlerin kurulumundan sonra “/etc/resolv.conf” ve “/etc/sysconfig/network-scripts/ifcfg-ens0” dosyalarından dns sunucusu olarak kendi kendini göstermeyi unutmayın.

Daha sonra aşağıdaki komut ile DNS için gerekli paketlerin kurulumunu yapalım.

> yum install bind bind-utils

Şimdi asıl önemli olan yapılandırma kısmı ve ilk olarak “/etc/named.conf” dosyasını yapılandıracağız ama öncesinde “named.conf” dosyasının bir yedeğini alın.

Varsayılan olarak “named.conf”un içeriği aşağıda ss gibidir.

Şimdi bir editör yardımıyla dosyayı edit’lemeden önce neler değişecek ya da eklenecek onlardan bahsedelim.

Varsayılan satırlar;

listen-on port 53 { 127.0.0.1; };

listen-on-v6 port 53 { ::1; };

allow-query { localhost; };

Değişecek şekli;

listen-on port 53 { any; };

listen-on-v6 port 53 { none; };

allow-query { any; };

Eklenecek satırlar;

forward only; //optional

forwarders { 8.8.8.8; }; //optional

fatlan.com’a ait zone ve reverse zone bilgileri bu dosyada belirtilir.

Son ekran görüntüsü aşağıdaki gibidir.

Şimdi sıra zone dosyalarını yani dns kayıtlarının barındılacağı dosyaları oluşturmaya geldi. Bu zone ve revzone dosyalarını “/var/named/” dizininin içinde ve “/etc/named.conf” dosyasında belirttiğimiz zone isimlerinde oluşturmalıyız.

İlk öce dizine gidelim.

> cd /var/named

Ardından ilgili zone dosyalarını oluşturalım(ben named.conf’ta belirttiğim isimlere göre oluşturuyorum).

> touch fatlan.com.zone

> touch 100.34.203.revzone

Son olarak herhangi bir editör aracılığı ile “fatlan.com.zone” ve “100.34.203.revzone” zone dosyalarının içeriğini aşağıdaki ss görüldiği gibi dns kayıtlarını giriyorum.

NoT : A, CNAME ve PTR kayıtlarını örnek olsun diye ekledim. Diğer yapılandırma şekilleri önemli, zone ve revzone da farklı olmasının sebebi her iki türlü de olabildiğine örnek olması için ekledim.

fatlan.com.zone;

100.34.203.revzone;

Şimdi buraya kadar herşey tamam gibi ama bundan sonra yapmamız gereken yapılan tüm bu ayarlamalarının doğruluğunu test etmek.

İlk önce “/etc/named.conf” dosyasını doğru yapılandırmış mıyız?, kontrol edelim. Sonucunda birşey dönmüyorsa doğru demektir.

> named-checkconf

Şimdi de fatlan.com.zone dosyasını kontrol edelim.

> named-checkzone fatlan.com /var/named/fatlan.com.zone

Son olarakta 100.34.203.revzone dosyasını kontrol edelim.

> named-checkzone 100.34.203.in-addr.arpa /var/named/100.34.203.revzone

Herşey yolunda olduğuna göre named servisini başlatalım.

> systemctl start named.service

Son olarak 53 portunu dinlediğinden emin olalım. Firewall’dan 53 portuna erişim izinlerini sakın unutmayın.

> netstat -plntua | egrep -i named

Sunucu tarafında herşey bitti, şimdi bir kullanıcı makinasının dns’ini yeni sunucumuza yönlendirip kayıtları çözme durumunu kontrol edelim.

KVM – qcow2 Disk Dosyası Boyutunu Küçültme (Reduce – Shrink Qcow2 Disk Files)

Şimdiki yazımızda KVM hipervisor katmanında guest’ler(vm – sanal makineler) için başınıza gelebilecek bir durumdan bahsedeceğiz. Malumunuz KVM hostlarınızda disk dosyalarınız(qcow2) diskte belli bir alanı kaplamaktadır. Fakat zamanla guestteki disk alanı hosttaki barındığı disk alanını doldurup hatta üzerinede çıkabilmektedir. Aslında VM diski filesystem tabanında düzenli alanlarla kullanmadığı yada dağınık yazdığı için yani bu durum adreslemeyle alakalı; dolu göstermektedir. Aslında windows’ta defrag yöntemi gibi diyebiliriz. Bu durumda sanal makine otomatik olarak “Pause” duruma düşecek ve hizmet veremeyecek duruma gelecektir. Bu duruma düşmeden yada düştükten sonra aşağıdaki yöntemlerle qcow2 disk dosyalarını boyutunu hipervisor katmanında aslında kullanılmadığı halde kullanıyor gibi gösterdiği alanları yeniden düzenleyerek küçültecektir.

İlk yöntem olarak “virt-sparsify” komutunu kullanarak etkili ve verimli bir şekilde disk dosyanızın boyutunu küçültebilirsiniz.

NoT1 : “virt-sparsify” komutunu kullanabilmek için libguestfs-tools paketini öncesinde kurmalısınız.

NoT2 : İşlemleri vm kapalıyken yapın.

İşlem yapılmadan önce aşağıdaki komutla disk dosyasının boyutunu görelim.

> du -ha

Ardından “virt-sparsify” komutu ile istediğimiz küçültme işlemini gerçekleştirelim.

> virt-sparsify –in-place diskdosyanız.qcow2

Daha sonra tekrar “du -ha” komutunu çalıştıralım ve boyuttaki azalmayı görelim.

Ikinci yöntem olarak gene “virt-sparsify” komutunu convert yöntemi ile kullanalım.

> virt-sparsify diskdosyanız.qcow2 –convert qcow2 yeniisimdiskdosyanız.qcow2

Sonra “du -ha” komutu

Son olarak üçüncü yöntem ise,

Aşağıdaki yöntem ile Guest’in içinde “dd” komutu kullanarak kalan boş alana “zero” basıyoruz.

> dd if=/dev/zero of=/MyDump

Daha sonra MyDump dosyasını siliyoruz.

> rm -f /MyDump

Son olarak “qemu-img” komutu ile işlemi gerçekleştiriyoruz ama öncesinde fırsatınız varsa disk dosyasının yedeğini almanızda fayda var.

> qemu-img convert -O qcow2 ilgilidosyaismi.qcow2 yeni_ilgilidosyaismi.qcow2

Kaynaklar

http://libguestfs.org/virt-sparsify.1.html

https://pve.proxmox.com/wiki/Shrink_Qcow2_Disk_Files

Redhat/Centos TimeZone Değiştirme

İlk önce “date” komutunu çalıştırıp, şuan ki saat bilgilerimizi görelim.

İlk önce “cp” komutu ile “localtime” dosyasının yedeğini alalım.

> cp /etc/localtime /etc/localtime.bak

Ardından dosyayı silelim

> rm /etc/localtime

Ya da yukarıda olduğu gibi iki komut yerine aşağıdaki gibi “mv” komutuyla tek seferde işi çözebilirsiniz.

> mv /etc/localtime /etc/localtime.bak

Şimdi “ln -s” komutu ile Türkiye’ye uygun olan timezone dosya kaynağını localtime dosyasına linkleyelim.

> ln -s /usr/share/zoneinfo/Europa/Istanbul /etc/localtime

Son olarak “date” komutunu tekrar çalıştırıp, Türkiye timezone’nin geldiğini görelim.

How to install KVM on Ubuntu 16 – Ubuntu üzerine KVM kurulumu, Yapılandırması ve Sanal Makine oluşturulması

KVM Çekirdek tabanlı sanal makine Linux çekirdeği için geliştirilen ve onu bir üstsisteme dönüştüren bir sanallaştırma altyapısıdır.

Kurulumdan önce sunucumuza login olup, cpu muzun destekleyip desteklemediğini anlamak için aşağıdaki komutlar yardımıyla cpu bilgilerini kontrol edelim.

Bu komutun çıktısı olarak “CPU(s):” değeri 0 ise dekteklemiyor, 1 veya 1 den fazla bir değer ise destekliyor manasına gelir.

> egrep -c ‘(svm|vmx)’ /proc/cpuinfo

yada

> lscpu

Aşağıdaki komutla da çekidek modüllerinin yüklü olup, olmadığını kontrol edebilirsiniz.

> lsmod | grep kvm

Şimdi kuruluma geçebiliriz. Aşağıdaki komut ile gerekli tüm paketleri kurup, KVM ortamımızı hazır hale getirelim.

> sudo apt-get install qemu-kvm libvirt-bin bridge-utils virt-manager

Yukarıdaki kurulum komutundan sonra sorunsuz bir kurulum gerçekleştiğini, aşağıdaki komutla doğrulayın.

> kvm-ok

Ardından sunucuyu reboot edin.

> brctl show komutuyla da sonradan gelen sanal interface(NIC) i görüntüleyebilirsiniz.

Default’ta Virtual Machine(qcow2) lerin saklandığı dizindir.

/var/lib/libvirt/images/

Not1 : Eğer qcow2 formatında ki diskin yerini bilmiyorsanız aşağıdaki komut(komut ilgili vm in disklerini bulunduğu dizin ile beraber listeler) size nerde olduğunu söyleyecektir.

> virsh domblklist Ubuntu18

Default’ta Virtual Machine images lar için, kurulum iso larının saklandığı dizindir.

/var/lib/libvirt/boot/

Default’ta Virtual Machine özelliklerinin(ram,cpu,disk vs.) xml formatında tutulduğu yerdir.

/etc/libvirt/qemu

Not2 : Aşağıdaki komut ise ilgili makinanın xml formatında tutulduğu özellikleri(ram,cpu,disk vs.) ekrana bastırır.

> virsh dumpxml Ubuntu18

Aşağıdaki iki komutla da mevcuttaki sanal makinaları görüntüleyebilirsiniz.

> virsh -c qemu:///system list

yada

> virsh list –all

Virtual Machine lerinizi GUI olarak yönetmek, oluşturma ve silme gibi işlemler için virt arayüzünü kullanabilirsiniz. Komut aşağıdaki gibidir.

NoT3 : Bunu yapabilmek için öncesinde sunucuya ssh bağlantısı yaparken, -X parametresini kullanarak bağlanmalısınız(ssh -X root@192.168.1.100). Ayrıca Windows (Putty de x11 enable edilmelidir) için Xming uygulaması, Mac için ise Xquartz uygulaması kurulu ve çalışır olması gerekiyor.

NoT4 : Bu arada bir bilgi daha vermem gerekir. Eğer Linux kullanıcısı iseniz yani client makinanız Linux ise sunucuya virt-manager paketini kurmadan, client makinanızda virt-manager var ise ordan File-Add Connection diyerek sunuya bağlanıp yönetebilirsiniz.

> sudo virt-manager

Yada sunucuya ait konsolu direk olarak aşağıdaki komutla alabilirsiniz.

NoT5 : Bunu yapabilmek için öncesinde kullanıcı makinasına virt-viewer paketini kurmalısınız(ubuntu/debian için ’apt install virt-viewer’, Redhat/CentOS için ‘yum install virt-viewer’).

> sudo virt-viewer -c qemu:///system Ubuntu18

Komutlar aracılığı ile sunucuyu yönetimi için aşağıda bir kaç komut paylaşacağım.

Sunucuyu başlatır.

> virsh start Ubuntu18

Sunucuyu kapatır.

> virsh shutdown Ubuntu18

Sunucuyu yeniden başlatır.

> virsh reboot Ubuntu18

Sunucunun özelliklerini değiştirmek için kullanılır(xml dosyasını değiştirir).

> virsh edit Ubuntu18

Sununun barındığı host açıldığında, bu vm de otomatik olarak başlatma seçeneğidir.

> virsh autostart Ubuntu18

Sununun barındığı host açıldığında, bu vm de otomatik olarak başlatma seçeneğini devre dışı bırakır.

> virsh autostart –disable Ubuntu18

Şimdi “virt-install” komtuna bakalım, bu komut aracılığı ile komut satırı üzerinden makine oluşturabilirsiniz. Alltaki komutta örnek komut ile bu işlemi sağlayabilirsiniz. Ben bir çok parametreyi kullandım ama siz tüm parametleri kullanmak zorunda değilsiniz. Zaten kullanmadığınız parametreler yerine default değerler atanacaktır. Tabi sonrasında siz bu değerleri değiştirebilirsiniz. Komutu yürüttükten sonra gui açılıp size kuruluma yönlendirecektir.

> sudo virt-install –virt-type=kvm –name ubuntu-cli –ram 2048 –vcpus=2 –os-variant=Ubuntu16.04 –cdrom=/var/lib/libvirt/boot/ubuntu-18.04-live-server-amd64.iso –network=bridge=eth0,model=virtio –graphics spice –disk path=/var/lib/libvirt/images/ubuntu-cli.qcow2,size=40,bus=virtio,format=qcow2

Şimdi de “virt-clone” komutundan bahsedelim. Adında da anlaşılacağı üzere clone almak için kullanılan komuttur. Kullanımı aşağıdaki gibidir. Fakat vm kapalı durumda iken clone alabilirsiniz, yoksa uyarı verecektir. “Clone ‘Ubuntu18.clone’ created successfully.” uyarısını almalısınız.

> virt-clone –original=Ubuntu18 –name=Ubuntu18.clone –file=/var/lib/libvirt/images/Ubuntu18.clone

Aşağıdaki komut ise vmdk formatındaki bir vm i qcow2 formatına çevirip KVM host unuzda çalıştırmanızı sağlar.

> qemu-img convert -O qcow2 ubuntu.vmdk ubuntu.qcow2

Bir sonraki makalemizde KVM ortamında nasıl yedek alıp sonra aldığımız o yedeği nasıl geri yükleyip, çalışır hale getireceğiz ona bakacağız.

RedHat/CentOS Bonding Yapılandırması (LACP ve LACP Olmadan)

Bonding nedir.? : Birden fazla ethernet arayüzünü birleştirme işlemidir. Network teaming de denebilir. Şöyle ki birden fazla network kartının tek network kartı gibi davranması kartlardan birinin bağlantısının kopması durumunda diğer kart üzerinden kesintisiz bir şekilde bağlantının devam etmesi işlemidir.

LACP nedir.? : Ether Channel iki protokol ile yapılır. Bunlardan birincisi cisco protokolü olan PAgP(Port Aggregation Protokol) ikincisi ise LACP(Link Aggregation Control Protokol) IEEE 802.3ad olan standart protokolüdür. Ether Channel iki switch arasında 2 yada daha fazla kablo ile bağlantı sağlandığında switch in iki yada daha fazla kabloyu tek kablo gibi algılamasını sağlayan protokoldür. Ether Channel sayesinde hem yedeklilik(redundancy), hem loadbalans, hemde yüksek bandwidth sağlanmış olur.

Bonding MOD’ları

mode=0 >> Round-robin(balance-rr), arayüzlere sırası ile paketleri gönderir.

mode=1 >> Aktif-yedek çalışır(active-backup). Sadece bir arayüz aktiftir.

mode=2 >> [(Kaynak MAC adresi XOR hedef MAC adresi) % arayüz sayısı] (balance-xor) algoritmasına göre paketleri gönderir.

mode=3 >> Broadcast çeşididir(broadcast). Tüm paketleri tüm arayüzlerden gönderir.

mode=4 >> IEEE 802.3ad Dynamic link aggregation(802.3ad), LACP. Aktif-aktif çalışır.

mode=5 >> Toplam yük her arayüzün kendi yüküne göre paylaşılır(balance-tlb).

mode=6 >> Uyarlamalı yük dengeleme modudur(balance-alb).

Senaryomuz aşağıda şekildeki gibi,

1- LACP ile Bonding yapılandırması,

cd komutu ile “/etc/sysconfig/network-scripts/” directory sine gidin.

Ardından vi yada başka bir editör aracılığı ile uplink gelen “ifcfg-eth0 ve ifcfg-eth1” konfig dosyalarının içini aşağıdaki gibi yapılandırın.

[root@localhost network-scripts]# vi ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

BOOTPROTO=none

ONBOOT=yes

NM_CONTROLLED=no

IPV6INIT=no

MASTER=bond0

SLAVE=yes

[root@localhost network-scripts]# vi ifcfg-eth1

DEVICE=eth1

TYPE=Ethernet

BOOTPROTO=none

ONBOOT=yes

NM_CONTROLLED=no

IPV6INIT=no

MASTER=bond0

SLAVE=yes

Daha sonra aynı dizin içinde “ifcfg-bond0” dosyasını oluşturup aşağıdaki gibi yapılandırın.

[root@localhost network-scripts]# vi ifcfg-bond0

DEVICE=bond0

TYPE=bond

NAME=bond0

BONDING_MASTER=yes

BOOTPROTO=none

ONBOOT=yes

IPADDR=192.168.1.10

PREFIX=24

GATEWAY=192.168.1.1

BONDING_OPTS=”mode=4 miimon=100 lacp_rate=1″

Son olarak aşağıdaki komutla network servisini yeniden başlatalım ve işlemleri tamamlayalım. Servisi yeniden başlatırken uyarı/uyarılar alabilirsiniz. Üst üste iki kere de servisi yeniden başlatabilirsiniz yada sunucuyu reboot edebilirsiniz.

Redhat/CentOS 6.x için,

> /etc/init.d/network restart yada service network restart

Redhat/CentOS 7.x için,

> systemctl restart network.service

Ardından “ip a” komutu ile yapılan işlemleri kontrol edebilirsiniz.

Ayrıca Bonding yapılandırmalarına ait detayları aşağıdaki komutla elde edebilirsiniz.

> more /proc/net/bonding/bond0

NOT1 : Bonding yapılandırmasında bond0 birinci slave olarak görünen nic’in fiziksel adresini devralır ve onu kullanır. Yani MAC Address durumu aşağıdaki örnekteki gibi olacaktır(screenshot’tan da teyit edebilirsiniz). Bu durum mod5 ve mod6 hariç geçerlidir. Ayrıca mod1 de de active-backup çalışma prensibinden dolayı benzersiz MAC Addres kullanır.

bond0     Link encap:Ethernet HWaddr 04:09:73:ca:a6:70

eth0        Link encap:Ethernet HWaddr 04:09:73:ca:a6:70

eth1        Link encap:Ethernet HWaddr 04:09:73:ca:a6:70

NOT2 : OS tarafında Bonding’leri LACP olarak yapılandırdığınız taktirde, Switch tarafında da karşılık gelen portlara LACP yapılandırmasını yapmalısınız. Örnek olarak Switch tarafında yapılması gereken ayarı aşağıda paylaşıyorum.

interface Ethernet X

channel-group 1 mode active

no shutdown

interface Po1

switchport mode trunk

mlag 1

2- LACP olmadan Bonding yapılandırması,

ifcfg-eth0” ve “ifcfg-eth1” aynen yukarıdaki gibi yapılandırdıktan sonra, sadece “ifcfg-bond0” aşağıdaki gibi yapılandırın(‘mode’ değişikliği yapıldı).

[root@localhost network-scripts]# vi ifcfg-bond0

DEVICE=bond0

TYPE=bond

NAME=bond0

BONDING_MASTER=yes

BOOTPROTO=none

ONBOOT=yes

IPADDR=192.168.1.10

PREFIX=24

GATEWAY=192.168.1.1

BONDING_OPTS=”mode=2 miimon=100″