PDF Düzenleme ve Birleştirme İşlemleri(ücretsiz ve basit)

Bu yazımızda çok ihtiyaç duyulan konulardan biri, pdf sayfalarında ücretsiz ve basit bir şekilde nasıl düzenleme ya da birleştirme yapabileceğimize bakacağız. Özellikle Linux işletim sistemlerinde bu işlem için çok efor sarf etmemize gerek kalmayacak.

GUI’li li sistemde pdf düzenleme ve birleştirme işlemini LibreOffice Draw ile yapabilirsiniz. Basit bir arayüzü olduğu için detaya girmiyorum.

Terminal üzerinden yüksek sayıda sayfası mevcut pdf’leri ise “pdfunite” ve “convert” komutlarıyla saniyeler içerisinde birleştirebilirsiniz.

Pdfunite;

> pdfunite file1.pdf file2.pdf … fileN.pdf merged.pdf

Convert;

> convert file1.pdf file2.pdf … fileN.pdf merged.pdf

Ovirt, RHEV ve Oracle Virtualization Manager’lar için Nested Virtualization(iç içe sanallaştırma) Yapılandırması

Esasında Open Virtualization Manager(oVirt), Redhat ya da Oracle Virtualization Manager gibi hypervisor ürünleri iç içe sanallaştırma yöntemini pek önermediğinden varsayılanda bu yapı kapalı gelmektedir.

Fakat bizim özellikle KVM ve benzeri hypervisorleri gerektiren Docker Swarm, Kubernetes(MiniKube), OKD(MiniShift), Openstack, Proxmox ve benzeri ürünleri hem yetersiz kaynak durumundan hem de gereksiz kaynak tüketmeden hızlıca bir takım testler yapabilmek için Nested VM özelliğini aktif ederek utilization’dan kar elde edebiliriz.

İlk olarak cluster ortamımıza dahil edilen tüm host’larda aşağıdaki gibi “Hostdev Passthrough” ve “Nested Virtualization” onay kutusunu işaretliyoruz.

Compute – Host menüsünden Edit Host yapıp, Kernel tabından işaretlermeleri yapabiliriz.

Son olarak Compute – Virtual Machines menüsünden ilgili VM için Edit Virtual Machine yapıp, Host tabından “Specific Host(s)” seçeneğini aktif edip, “Pass-Through Host CPU” onay kutusunu işaretleyip bitiriyoruz.

Referans: https://community.oracle.com/docs/DOC-1038581

Ubuntu/Debian Sunucular için internet bağlantısı (INTRANET) olmadan, OFFLINE olarak APT/APT-GET kullanarak paket ya da servis kurma işlemleri

Bu işi yapabilmek için en temel olarak elinizde servise ait paketin ve o pakete ait bağımlı paketlerin(dependency) hepsinin olması gerekiyor. Tabi bu bir işlem. İkinci aşama olarak elinizde paketler mevcut ise dpkg komutu ile kurulum sağlayabilirsiniz ama herhangi bir sebepten ötürü apt paket yöneticisine kullanarak kurmanız gerekiyorsa buda mümkün.

Bunun için ilk olarak internetli bir makineye ihtiyacımız var. Bu aşamada kurulum yapacağımız ilgili servis için paketi ve paket bağımlılıklarını(dependency) bulup, ilgili paketleri toparlamamız gerekiyor. Beraberinde apt’yi kullanabilmek için bir iki işlem yapacağız.

Neler yapacağız:

İlk olarak internet’li makinede;

1- Eğer kuracağımız paket varsayılan(default) olarak ubuntu ya da debian repo’sunda yoksa paket repo’su “/etc/apt/source.list” ya da source.list.d dizini altına eklenmelidir.

2-apt update/apt-get update” komutu ile source list index’ini güncelleyeceğiz. İlgili dizin yolu(directory) /var/lib/apt/lists/ altında yer almaktadır. 

3- Eğer ilgili servise ait (örnek servis için nginx kullanacağız) tüm paketleri bağımlılıklarıyla beraber görmek isterseniz “apt depends nginx” komutunu kullanabilirsiniz.

4- Şimdi “apt-get -qq –print-uris install nginx > nginx-paket-list” komutu ile nginx servisine ait bağımlı paketlerle beraber tüm paketlerin listesini “nginx-paket-list” dosyasına yazdırdık.

            NoT: “apt-get -qq –print-uris upgrade > upgrade-paket-list” komutu ile offline olarak makineleri yükseltme işlemi bile yapabilirsiniz.

5- Şimdi yukarıdaki listeden de anlaşılacağı üzere listedeki paketleri ilgili linklerden otomatik olarak tek seferde indirebilmek için “awk ‘{print “wget ” $1}’ < nginx-paket-list > nginx-paket-list.sh” komutu çalıştırıyoruz.

6- Oluşturduğumuz dosyaya “chmod u+x nginx-paket-list.sh” komutla çalıştırma yetkisi verelim.

7- Son olarak sh dosyasının “./nginx-paket-list.sh” çalıştıralım. Ve tüm paketlerin indiğini görebilirsiniz.

İkinci olarak internetsiz (INTRANET) makinede, OFFLINE olarak apt ile kurulum yapabilmek için taşıma işlemleri yapacağız. İnternetli makineden, internetsiz makineye doğru herhangi bir şekilde(usb, kopyalama, cd vs);

1- İnternetli makinede güncellediğimiz source list index’ini, internetsiz makinede ki “/var/lib/apt/lists/” altına taşıyoruz.

2- İnternetli makinedeki “/etc/apt/source.list” ve eklediyeseniz source.list.d dizini aynen internetsiz makineye taşıyorsunuz.

3- İnternetli makinede indirdiğiniz tüm *.deb paketlerini, internetsiz makinede ki “/var/cache/apt/archives/” dizini altına gönderiyorsunuz.

Daha sonra internet olamayan makinede yapmanız gereken tek şey “apt install nginx” işlem tamam. Böylelikle offline olarak apt’yi kullanarak paket yükleyip, servisleri aktif edebilirsiniz. Hatta makineleri yükseltebilirsiniz.

DPKG ile kurulum;

Hazır paketleri indirmişim, ne gerek var apt’ye bu kadar çileye derseniz, sadece paketleri taşıyıp “dpkg -i * ya da tüm_paket_isimleri” demeniz yeterli. =)

Referans: debian.org.tr

25-26 Ocak 2020 – Ücretsiz Open Source ve Linux Administrator Eğitim Etkinliği Hakkında

Sosyal sorumluluk çerçevesinde üstlendiğim projem ve aynı zamanda Opensource dünyası ile beraber Linux sistemlerin öneminin, gerekliliğinin, farkındalığının oluşturulması, sektörde çalışan ya da öğrenci genç arkadaşlara yön vermek, farkındalık oluşturmanın yanısıra bilgi ve becerileri arttırmak amacıyla ücretsiz olarak Linux Administrator eğitimini 25-26 Ocak 2020 tarihlerinde gerçekleştirdim.

Eğitimi RedHat ve LPI içeriklerinden derleyerek, RedHat/CentOS ve Ubuntu/Debian dağıtımlarını taban alarak, aralarındaki farkları belirterek, karşılaştırmalı olarak, çok kapsamlı, tüm yönleriyle ve aynı zamanda IT sektörünün genel olarak tüm alanlarına hitap eden, dolu dolu ve zengin bir içerikle iki günlük yoğun bir tempo ile uygulamalı olarak sunmaya çalıştım.

Başlangıç(temel) seviye ve orta seviye olan bu içerik, ileri seviye linux bilgilerine de göz kırpmaktadır.

Ücretsiz olan bu eğitime katılım formunu oluşturup, formu linkedin hesabımdan yayınlayarak, formu dolduran arkadaşlar arasından katılımcı listesini belirledim.

İki güne sığmayacak kadar kapsamlı ve benzersiz olarak, büyük emekle hazırladığım bu eğitimi bir şekilde sığdırmaya çalıştım. Verimli olabildiysem, farkındalığı oluşturabildiysem ne mutlu.

Son olarak iki günün sonunda ve özeti olarak, oyun tadında, eğlenceli bir uygulama gerçekleştirdik. Tüm puanları toplayıp ilk üçe giren arkadaşları tebrik ederim.

RestAPI ile Ovirt(Open Virtualization Manager)’da Snapshot Tabanında Otomatik Backup/Restore Operasyonu

Konu ile ilgili daha önceden Python ile yazılmış online full backup script’ini kullanarak bu işlemi gerçekleştireceğiz.

https://github.com/wefixit-AT/oVirtBackup adresinden bu script’i indirebilirsiniz.

BACKUP

Tek yapmamız gereken bu tool’u kendi ortamımıza göre uyarlayıp, daha sonro crontab ile otomatik hale getirmek. Şimdi aşağıdaki adımlarla bu işlemin nasıl yapılacağına bir bakalım.

İlk olarak oVirt ortamına yedeklemi işlemini tetikleyeceğimiz(python script’inin çalıştıracağımız) bir makine kurup ayağa kaldırıyoruz. Ben CentOS bir makine kurdum. Ardından python çalıştırabileceğimiz paketleri kuruyoruz(ovirt-engine-sdk-python, gcc, python-devel, openssl-devel, libxml2, libxml2-devel, python36, python36-pip, ovirtsdk, curl-devel, pip3 vs. – Script’teki requirements.txt dosyasını okuyunuz.). Belirttiğim paketleri kurmadan çalıştırırsanız karşınıza çıkan uyarılarla gereken paketleri kurabilirsiniz ki bence öyle de yapabilirsiniz.

Ardından içerisindeki iki dosya bizim için önemli “backup.py” ve “config_example.cfg” dosyaları. “backup.py” dosyası bizim ortamımız için yapılandırılmış “config_example.cfg” dosyasına göre yedekleme işlemini çalıştıracaktır.

İş akışı sırasıyla aşağıdaki gibidir.

– Anlık görüntü oluştur

– Anlık görüntüden, yeni bir VM oluştur

– Anlık görüntüyü sil

– Önceki yedekleri sil (ayarlanmışsa)

– Anlık görüntüden oluşan VM’yi NFS paylaşımına Export et

– Anlık görüntüden oluşan VM’yi sil

Crontab çıktım aşağıdaki gibi olsun(yani her perşembe saat 23:00’de ilgili vm için yedeklemeyi başlat.)

> crontab -l

00 23 * * 4 /usr/bin/python /scripts/oVirtBackup-master/backup.py -c /scripts/oVirtBackup-master/config_vms.cfg -d

Şimdi en önemli kısım olan “config_example.cfg” dosyasında ki alanları inceleyip, kendi ortamımıza göre nasıl yapılandıracağız ona bakalım. Sadece ilgili değişkenleri ele alacağız.

  • vm_names: [“MysqlVM”]
  • vm_middle=_BACKUP
  • snapshot_description=Snapshot for backup script
  • server=https://ovirt-server.mydomain/ovirt-engine/api
  • username=admin@internal
  • password=adminkullanıcısınınparolası
  • export_domain=export_nfs #Bu alana Domain Function Export, Storage Type NFS yaptığınız Storage Domain’i yazmalısınız.
  • timeout=5000
  • cluster_name=Default
  • backup_keep_count=8 #Yedeklemelerin bu günler içinde ne kadar süreyle tutulması gerektiği belirtir. Ben otomatik olarak crontab’ta her haftanın perşembe gününde(4) yedeklemeyi tetiklediğim için ve geriye dönük 2 adet yedek saklamak istediğim için 7+1=8 olarak atadım.
  • dry_run=False
  • vm_name_max_length=60
  • use_short_suffix=False
  • storage_domain=data01 #Sunucunun, disk dosyasının barındığı Storage Domain’i yazmalısınız.
  • storage_space_threshold=0.1
  • logger_fmt=%(asctime)s: %(message)s
  • logger_file_path=/var/log/ovirt-vm-backup.log #Backup’lama esnasında oluşacak logların barındırılacağı yeri belirtmelisiniz.
  • persist_memorystate=False

Artık VM’leriniz Storage/Storage Domains/export_nfs altına crontab’ın tetiklemesiyle oVirtBackup script’i sayesinde otomatik olarak yedeklenecektir.

RESTORE

Storage/Storage Domains/export_nfs mevcut olan herhangi bir virtual machine seçili iken “Import” tıklayın. Akabinden aşağıdaki görselden de anlaşılacağı üzere OK tıklayıp, aktif ortama dahil edip restore işlemini tamamlamış olursunuz.

NETCAT – NC kullanarak veri transferi sağlamak

Netcat ile iki bilgisayarlar arası veri transferi nasıl yapılır ona bakacağız. Bu işlemi makineler arasında port açarak gerçekleştireceğiz.

Alıcı bilgisayar(receive)’da aşağıdaki komut çalıştırılarak port(3434) aktif edilip dosyam.txt için tünel açılır.

  • nc -l -p 3434 > dosyam.txt

Gönderici(sender) makinede’de aşağıdaki komut çalıştırılarak dosyam.txt aktarılır.

  • nc 192.168.1.12 3434 < dosyam.txt

21-22 Aralık 2019 – Ücretsiz Open Source ve Linux Administrator Eğitim Etkinliği Hakkında

Sosyal sorumluluk çerçevesinde üstlendiğim projem ve aynı zamanda Opensource dünyası ile beraber Linux sistemlerin öneminin, gerekliliğinin, farkındalığının oluşturulması, sektörde çalışan ya da öğrenci genç arkadaşlara yön vermek, farkındalık oluşturmanın yanısıra bilgi ve becerileri arttırmak amacıyla ücretsiz olarak Linux Administrator eğitimini 21-22 Aralık 2019 tarihlerinde gerçekleştirdim.

Eğitimi RedHat ve LPI içeriklerinden derleyerek, RedHat/CentOS ve Ubuntu/Debian dağıtımlarını taban alarak, aralarındaki farkları belirterek, karşılaştırmalı olarak, çok kapsamlı, tüm yönleriyle ve aynı zamanda IT sektörünün genel olarak tüm alanlarına hitap eden, dolu dolu ve zengin bir içerikle iki günlük yoğun bir tempo ile uygulamalı olarak sunmaya çalıştım.

Başlangıç(temel) seviye ve orta seviye olan bu içerik, ileri seviye linux bilgilerine de göz kırpmaktadır.

Ücretsiz olan bu eğitime katılım formunu oluşturup, formu linkedin hesabımdan yayınlayarak, formu dolduran arkadaşlar arasından katılımcı listesini belirledim.

İki güne sığmayacak kadar kapsamlı ve benzersiz olarak, büyük emekle hazırladığım bu eğitimi bir şekilde sığdırmaya çalıştım. Verimli olabildiysem, farkındalığı oluşturabildiysem ne mutlu.

Son olarak iki günün sonunda ve özeti olarak, oyun tadında, eğlenceli bir uygulama gerçekleştirdik. Tüm puanları toplayıp ilk üçe giren arkadaşları tebrik ederim.

Docker Container’a erişim için Host’un Nic portu üzerinden erişim izni – Firewalld port açma / Docker Container’ın İnternete Yönlendirme işlemi

  • How to configure firewalld to allow docker containers free access to the host’s network ports.?

Burada dikkat etmeniz gereken container için host’ta match ettiğiniz portu güvenlik duvarı rule’sinde belirtmelisiniz. Ben 8080 portunu host’ta eşleştirdiğim için onu rule’de tanımlayacağım. Yani tarayıcıdan 8080 üzerinden contaniner’a erişeceğim.

Sırasıyla aşağıdaki komutları çalıştırmanız yeterlidir.

firewall-cmd –permanent –zone=trusted –change-interface=docker0
firewall-cmd –permanent –zone=trusted –add-port=8080/tcp
firewall-cmd –reload

  • Enable forwarding from docker containers to the outside world.?

Docker Container’ınızın internete çıkabilmesi için aşağıdaki işlemleri yapmanız yeterlidir.

systctl komutu ile net.ipv4.conf.all.forwarding değerini 1 yapmalısınız. Ardından iptables yada firewalld forward rule’sini tanımlamanız yeterli.

sysctl net.ipv4.conf.all.forwarding=1
sudo iptables -P FORWARD ACCEPT

ya da

firewall-cmd –direct –add-rule ipv4 filter FORWARD 0 -i docker0 -o ens3 -j ACCEPT
firewall-cmd –reload

Docker Compose Kurulum/Kaldırma ve Custom Bridge ile Çalıştırma İşlemleri

İlgili sunucuda Docker kurulumunun yapıldığını var sayarak konuya giriş yapalım. Docker Compose up edildiğinde kendisi için farklı bir bridge oluşturup network yapılandırmalarını o bridge üzerinden yapmaktadır. Fakat biz Docker kururken varsayılan olarak gelen ya da custom olarak bizim oluşturuduğumuz subnet‘teki network bridge‘yi kullanarak Docker Compose uygulamalarını up yapmak istiyoruz. Bunun için aşağıdaki yönergeleri takip etmeniz yeterlidir.

İlk önce aşağıdaki komut ile Docker Network çıktımıza bakalım(biz bridge sanal aygıtını kullanacağız).

  • sudo docker network ls

Docker Compose kurulum işlemi için aşağıdaki komutları sırasıyla çalıştırmanız yeterlidir;

  • sudo curl -L “https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)” -o /usr/local/bin/docker-compose
  • sudo chmod +x /usr/local/bin/docker-compose
  • sudo docker-compose –version

Custom bridge ile Docker Compese yml çalıştırma(örnek wordpress yml dosyası – docker-compose up -d);

version: ‘3.3’
services:
db:
image: mysql:5.7
restart: always
volumes:
– db_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: wordpress
network_mode: bridge

wordpress:
image: wordpress
restart: always
volumes:
– ./wp_data:/var/www/html
ports:
– “8080:80”
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DB_USER: root
WORDPRESS_DB_PASSWORD: password
network_mode: bridge
depends_on:
– db

volumes:
db_data:
wp_data:

networks:
default:
external:
name: bridge

Docker Compose kaldırma işlemi;

  • sudo rm /usr/local/bin/docker-compose

21-22 Eylül 2019 – Ücretsiz Open Source ve Linux Administrator Eğitim Etkinliği Hakkında

Sosyal sorumluluk çerçevesinde üstlendiğim projem ve aynı zamanda Opensource dünyası ile beraber Linux sistemlerin öneminin, gerekliliğinin, farkındalığının oluşturulması, sektörde çalışan ya da öğrenci genç arkadaşlara yön vermek, farkındalık oluşturmanın yanısıra bilgi ve becerileri arttırmak amacıyla ücretsiz olarak Linux Administrator eğitimini 21-22 Eylül 2019 tarihlerinde gerçekleştirdim.

Eğitimi RedHat ve LPI içeriklerinden derleyerek, RedHat/CentOS ve Ubuntu/Debian dağıtımlarını taban alarak, aralarındaki farkları belirterek, karşılaştırmalı olarak, çok kapsamlı, tüm yönleriyle ve aynı zamanda IT sektörünün genel olarak tüm alanlarına hitap eden, dolu dolu ve zengin bir içerikle iki günlük yoğun bir tempo ile uygulamalı olarak sunmaya çalıştım.

Başlangıç(temel) seviye ve orta seviye olan bu içerik, ileri seviye linux bilgilerine de göz kırpmaktadır.

Ücretsiz olan bu eğitime katılım formunu oluşturup, formu linkedin hesabımdan yayınlayarak, formu dolduran arkadaşlar arasından katılımcı listesini belirledim.

İki güne sığmayacak kadar kapsamlı ve benzersiz olarak, büyük emekle hazırladığım bu eğitimi bir şekilde sığdırmaya çalıştım. Verimli olabildiysem, farkındalığı oluşturabildiysem ne mutlu.

Son olarak iki günün sonunda ve özeti olarak, oyun tadında, eğlenceli bir uygulama gerçekleştirdik. Tüm puanları toplayıp ilk üçe giren arkadaşları tebrik ederim.

3-4 Ağustos 2019 – Ücretsiz Open Source ve Linux Administrator Eğitim Etkinliği Hakkında

Sosyal sorumluluk çerçevesinde üstlendiğim projem ve aynı zamanda Opensource dünyası ile beraber Linux sistemlerin öneminin, gerekliliğinin, farkındalığının oluşturulması, sektörde çalışan ya da öğrenci genç arkadaşlara yön vermek, farkındalık oluşturmanın yanısıra bilgi ve becerileri arttırmak amacıyla ücretsiz olarak Linux Administrator eğitimini 3-4 Ağustos 2019 tarihlerinde gerçekleştirdim.

Eğitimi RedHat ve LPI içeriklerinden derleyerek, RedHat/CentOS ve Ubuntu/Debian dağıtımlarını taban alarak, aralarındaki farkları belirterek, karşılaştırmalı olarak, çok kapsamlı, tüm yönleriyle ve aynı zamanda IT sektörünün genel olarak tüm alanlarına hitap eden, dolu dolu ve zengin bir içerikle iki günlük yoğun bir tempo ile uygulamalı olarak sunmaya çalıştım.

Başlangıç(temel) seviye ve orta seviye olan bu içerik, ileri seviye linux bilgilerine de göz kırpmaktadır.

Ücretsiz olan bu eğitime katılım formunu oluşturup, formu linkedin hesabımdan yayınlayarak, formu dolduran arkadaşlar arasından katılımcı listesini belirledim.

İki güne sığmayacak kadar kapsamlı ve benzersiz olarak, büyük emekle hazırladığım bu eğitimi bir şekilde sığdırmaya çalıştım. Verimli olabildiysem, farkındalığı oluşturabildiysem ne mutlu.

Son olarak iki günün sonunda ve özeti olarak, oyun tadında, eğlenceli bir uygulama gerçekleştirdik. Tüm puanları toplayıp ilk üçe giren arkadaşları tebrik ederim.

OpenStack Ansible Network Configuration, Bonding, Mtu, Vlan, Br-vlan, Br-vxlan With NETPLAN On Ubuntu 18

İlk önce aşağıdaki komutla apt reposunu güncelleyin.

> apt update

Ardından “bridge-utils” paketini sisteme kurun.

> apt install bridge-utils

Daha sonra “/etc/netplan/50-cloud-init.yaml” dosyasını aşağıdaki gibi yapılandırabilirsiniz. Tabi siz kullanacağınız şekilde yapılandırabilirsiniz. Ben aşağıdaki örnekte hem bonding, hem vlan, hem bridge vlan, hem bridge vxlan, hem de mtu size olarak jumbo frame kullandım. Ayrıca nfs ve iscsi yide ayrı vlan larla yapılandırdım. Siz ortamınızda gerekli olan yapılandırmaya göre şekillendirebilirsiniz.

#This file is generated from information provided by
#the datasource.  Changes to it will not persist across an instance.
#To disable cloud-init’s network configuration capabilities, write a file
#/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
#network: {config: disabled}
network:
    bonds:
        bond0:
            interfaces:
            – enp6s0f0
            – enp7s0f0
            mtu: 9000
            parameters:
                lacp-rate: fast
                mode: 802.3ad
                transmit-hash-policy: layer2
        bond1:
            interfaces:
            – enp6s0f1
            – enp7s0f1
            parameters:
                lacp-rate: fast
                mode: 802.3ad
                transmit-hash-policy: layer2
    ethernets:
        eno1: {}
        eno2: {}
        enp0s20f0u1u6: {}
        enp6s0f0:
            mtu: 9000
        enp6s0f1: {}
        enp7s0f0:
            mtu: 9000
        enp7s0f1: {}
    version: 2
    vlans:
        bond0.10:
            id: 10
            link: bond0
            mtu: 9000
        bond0.20:
            id: 20
            link: bond0
            mtu: 9000
        bond0.21:
            id: 21
            link: bond0
            mtu: 9000
        bond1.30:
            id: 30
            link: bond1
        bond0.32:
            id: 32
            link: bond0
            mtu: 9000
    bridges:
        br-ext:
            interfaces: [bond0.32]
            addresses:
                – 10.1.10.34/24
            gateway4: 10.1.10.1
            nameservers:
                addresses:
                    – 10.10.10.5
            parameters:
                stp: false
                forward-delay: 0
            mtu: 9000
        br-mgmt:
            interfaces: [bond0.10]
            addresses:
                – 172.29.236.180/22
            parameters:
                stp: false
                forward-delay: 0
            mtu: 9000
        br-iscsi:
            interfaces: [bond0.20]
            addresses:
                – 172.29.244.180/22
            parameters:
                stp: false
                forward-delay: 0
            mtu: 9000
        br-nfs:
            interfaces: [bond0.21]
            addresses:
                – 172.29.248.180/22
            parameters:
                stp: false
                forward-delay: 0
            mtu: 9000
        br-vxlan:
            interfaces: [bond1.30]
            addresses:
                – 172.29.240.180/24
            parameters:
                stp: false
                forward-delay: 0
        br-vlan:
            interfaces: [bond1]

Son olarak aşağıdaki komutu çalıştırın fakat mtu değerlerinin geçerli olması için “reboot” olmalıdır.

> netplan apply

6-7 Temmuz 2019 – Ücretsiz Open Source ve Linux Administrator Eğitim Etkinliği Hakkında

Sosyal sorumluluk çerçevesinde üstlendiğim projem ve aynı zamanda Opensource dünyası ile beraber Linux sistemlerin öneminin, gerekliliğinin, farkındalığının oluşturulması, sektörde çalışan ya da öğrenci genç arkadaşlara yön vermek, farkındalık oluşturmanın yanısıra bilgi ve becerileri arttırmak amacıyla ücretsiz olarak Linux Administrator eğitimini 6-7 Temmuz 2019 tarihlerinde gerçekleştirdim.

Eğitimi RedHat ve LPI içeriklerinden derleyerek, RedHat/CentOS ve Ubuntu/Debian dağıtımlarını taban alarak, aralarındaki farkları belirterek, karşılaştırmalı olarak, çok kapsamlı, tüm yönleriyle ve aynı zamanda IT sektörünün genel olarak tüm alanlarına hitap eden, dolu dolu ve zengin bir içerikle iki günlük yoğun bir tempo ile uygulamalı olarak sunmaya çalıştım.

Başlangıç(temel) seviye ve orta seviye olan bu içerik, ileri seviye linux bilgilerine de göz kırpmaktadır.

Ücretsiz olan bu eğitime katılım formunu oluşturup, formu linkedin hesabımdan yayınlayarak, formu dolduran arkadaşlar arasından katılımcı listesini belirledim.

İki güne sığmayacak kadar kapsamlı ve benzersiz olarak, büyük emekle hazırladığım bu eğitimi bir şekilde sığdırmaya çalıştım. Verimli olabildiysem, farkındalığı oluşturabildiysem ne mutlu.

Son olarak iki günün sonunda ve özeti olarak, oyun tadında, eğlenceli bir uygulama gerçekleştirdik. Tüm puanları toplayıp ilk üçe giren arkadaşları tebrik ederim.

Ücretsiz Open Source ve Linux Administrator Eğitim Etkinliği Hakkında – 15-16 Haziran 2019

Sosyal sorumluluk çerçevesinde üstlendiğim projem ve aynı zamanda Opensource dünyası ile beraber Linux sistemlerin öneminin, gerekliliğinin, farkındalığının oluşturulması, sektörde çalışan ya da öğrenci genç arkadaşlara yön vermek, farkındalık oluşturmanın yanısıra bilgi ve becerileri arttırmak amacıyla ücretsiz olarak Linux Administrator eğitimini 15-16 Haziran 2019 tarihlerinde gerçekleştirdim.

Eğitimi RedHat ve LPI içeriklerinden derleyerek, RedHat/CentOS ve Ubuntu/Debian dağıtımlarını taban alarak, aralarındaki farkları belirterek, karşılaştırmalı olarak, çok kapsamlı, tüm yönleriyle ve aynı zamanda IT sektörünün genel olarak tüm alanlarına hitap eden, dolu dolu ve zengin bir içerikle iki günlük yoğun bir tempo ile uygulamalı olarak sunmaya çalıştım.

Başlangıç(temel) seviye ve orta seviye olan bu içerik, ileri seviye linux bilgilerine de göz kırpmaktadır.

Ücretsiz olan bu eğitime katılım formunu oluşturup, formu linkedin hesabımdan yayınlayarak, formu dolduran arkadaşlar arasından katılımcı listesini belirledim.

İki güne sığmayacak kadar kapsamlı ve benzersiz olarak, büyük emekle hazırladığım bu eğitimi bir şekilde sığdırmaya çalıştım. Verimli olabildiysem, farkındalığı oluşturabildiysem ne mutlu.

Son olarak iki günün sonunda ve özeti olarak, oyun tadında, eğlenceli bir uygulama gerçekleştirdik. Tüm puanları toplayıp başarılı olan arkadaşları tebrik ederim.

WordPress wp-admin Güvenliği – WP Login Page Security on Apache

WordPress blog’larınızın admin sayfasına yapılan bruteforce ataklarından oldukça sıkılmış olabilirsiniz ki varsayılan olarak wp-admin eki ile bağlandığınız admin panel sayfasının herkes için açılmasını yasaklamanız güvenlik adına yapmanız gereken en mantıklı hareketlerden biri olacaktır.

Bunu aşağıdaki yapılandırmaları yaparak plugin kurmadan, basitçe sağlayabilirsiniz.

İlk olarak “nano /etc/httpd/conf/httpd.conf” dosyasını nano ile edit ediyoruz. Siz farklı bir editörde seçebilirsiniz.

Ardından aşağıdaki gibi sayfayı açabilme yetkisine sahip olacak(allow) ip adreslerini ekleyin. Yazacağınız ip adreslerinin dışındaki ip adresleri wp-admin sayfasını açamayacaktır. Yetkin yok uyarısı verecektir.

<Directory “/var/www/html/fatlan.com/wp-admin”>
    Order allow,deny
    Allow from 19.17.77.0/24
    Allow from 10.1.11.0/24
    Allow from 10.1.90.0
</Directory>

Son olarak ise apache(httpd) servisini restart edin

> systemctl restart httpd.service

ya da

> /etc/init.d/httpd restart

Linux Sistemlerde ICMP Paketini Gizleme

Hemen hemen tüm saldırılar ağda ip’lerin kullanımı keşfedildikten ve öncesinde çeşitli taramalardan geçirildikten sonra zafiyetler tespit edilip, saldırılar başlatılabilir. IP Flooding(ip seli) ya da DDOS gibi saldırılardan korunmalıdır ki aslında DDOS, saldırı türlerinden en berbat olanı ve hala dünya üzerinden önlemeyle alakalı tam bir çözümü olmayan bir yöntemdir. Bu durumda network üzerinde sunucular dış dünyaya gizlemelidir. ICMP paketlerini gizlemeniz bunun için bir başlangıç olacaktır ki zaten bu paketin mesajları kritik sunucular için gizlenmelidir.

Bu yapılandırma yukarıda güvenlik duvarları aracılığı ile yapılabilir fakat burada bahsedeceğimiz yöntemde bu işlemi Linux kernel modülünde de yapılabilir olduğunu göstermektir ki Linux’un kernel modüllerinde bunun gibi bir sürü parametre bulunmaktadır ve her işlem için kritik durum arz eden kısımlarda bu parametreler ayrı ayrı incelenip, tek tek yapılandırılmalıdır. Bu değişiklik için kullanacağımız çekirdek parametresi “net.ipv4.icmp_echo_ignore_all” modülüdür. Şimdi bu işlemleri nasıl yapılacağına göz atılmalıdır ama öncesinde bu değişkenin varsayılan parametresi ne imiş ona bir göz atıp ve 0 olduğunu görelim.

> sysctl -a | egrep -ie “net.ipv4.icmp_echo_ignore_all”

Ardından aşağıdaki “sysctl” komutu ile değeri 1’e çekilmelidir fakat bu işlem anlık geçerli olacaktır yani sistem yeniden başladığı zaman varsayılan değerine geri dönecektir.

> sysctl net.ipv4.icmp_echo_ignore_all=1

Ya da

> echo “1” > /proc/sys/net/ipv4/icmp_echo_ignore_all

Bu işlemi kalıcı hale getirmek için “/etc/sysctl.conf” dosyasına bu değişken ve parametreyi yazmak gerekmektedir.

Herhangi bir editör yardımıyla “/etc/sysctl.conf” dosyasını edit edip “net.ipv4.icmp_echo_ignore_all = 1” ekleyebilir

ya da aşağıdaki komut aracılığı ile bunu sağlayabiliriz.

> echo “net.ipv4.icmp_echo_ignore_all = 1” >> /etc/sysctl.conf

Arından sysctl.conf dosyasını aşağıdaki komutla yeniden yükleyip, yapılandırmayı aktif hale getirmelisiniz.

> sysctl -p

oVirt Debian/Ubuntu Guest Agent Kurulumu ve Yapılandırması – Sorun Çözüldü

oVirt ortamına kurduğunuz Debian/Ubuntu makineler için aşağıdaki komutu çalıştırarak ovirt-guest-agent servisini kurabilirsiniz.

> sudo apt install ovirt-guest-agent -y

Fakat servis durumunu kontrol ettiğinizde aşağıdaki gibi hata aldığınızı göreceksiniz.

Aşağıdaki yönergeleri izleyerek hataları giderip, servisi sağlıklı bir şekilde çalıştırabilirsiniz.

İlk önce “ovirt-guest-agent.service” servis dosyasını edit edip, “User=root” olarak değiştirelim(servisin root haklarında çalışmasının, güvenlik tarafındaki oluşturabileceği sıkıntılara şimdilik değinmiyorum).

> sudo vi /lib/systemd/system/ovirt-guest-agent.service

User=root

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

> systemctl daemon-reload

Akabinde aşağıdaki komutla device’leri listeleyebilirsiniz. Çünkü “ovirt-guest.agent.0” aygıtını kullanacağız.

> ll /dev/virtio-ports/

Şimdi “ovirt-guest-agent.conf” dosyasını aşağıdaki gibi yapılandıralım.

> sudo vi /etc/ovirt-guest-agent.conf

[virtio]
# device = /dev/virtio-ports/com.redhat.rhevm.vdsm
device = /dev/virtio-ports/ovirt-guest-agent.0

Son olarak aşağıdaki komutları sırasıyla çalıştırın. İşlem bu kadar.

> sudo systemctl enable ovirt-guest-agent.service

> sudo systemctl start ovirt-guest-agent.service

> sudo systemctl status ovirt-guest-agent.service