Ubuntu Cisco Packet Tracer Kurulumu

Cisco Packet Tracer 7.2 sürümünü Ubuntu işletim sistemli bilgisayara yükleme işlemini adım adım göreceğiz. Her ne kadar kurulum işlemi Ubuntu üzerinde yapılsa da, diğer GNU/Linux dağıtımlarında da aynı şekilde kurulum yapılmaktadır.

Uygulamanın son sürümünü netacad.com sitesinden indirebilirsiniz ya da benim yüklediğim kaynaktan üye olmaya gerek kalmadan indirebilirsiniz. (Cisco Packet Tracer 7.2 64 bit Linux için indir )

  • Uygulama sadece 64 bit sistemlerde çalışmaktadır.
  • Cisco Packet Tracer 7.2 sürümünde, bende ne İngilizce ne de Türkçe klavyede i harfi çalışmadı ve çözümünü bulamadım. Kullandığım dağıtım : Ubuntu 18.04
  • i harfinin çalışmaması ile ilgili bulabildiğim tek çözüm sistem dilini İngilizce yapmak oldu. Sistem dili Türkçe iken maalesef “i” harfi çalışmıyor.

Dosyayı indirdikten sonra, dosyanın bulunduğu dizinde Uç Birim (Terminal) açarak kuruluma başlayacağız. Ben indirdiğim dosyayı masa üstüne kaydettim. Bu yüzden terminal ekranında önce cd Masaüstü/ komutu ile masaüstü dizinine gideceğim, sonra ls komutu ile dizinde bulunan dosyaları listeleyeceğim.

ubuntu packet tracer install

Görüldüğü üzere dosya sıkıştırılmış dosya formatında. Önce sıkıştırılmış dosyanın içindekileri çıkartacağım ve bir dizin oluşturacağım. Komut: mkdir packettracer

Ardından sıkıştırılmış dosyayı dizine çıkartacağım.Komut :

tar -xvzf PacketTracer7.2forLinux64bit.tar.gz -C packettracer/

ubuntu packet tracer install

Dosyaları dizine çıkarttıktan sonra cd komutu ile dizin içerisine gireceğiz. Ardından ./install komutu ile kuruluma başlayacağız. Bu aşamada kullanım EULA kullanım şartları ile ilgili şeyler çıkacak. İlk etapta Enter tuşu ile onay verdikten sonra boşluk tuşuna basarak hızlı bir şekilde kullanım şartlarını geçeceğiz. (her seferinde Enter tuşuna basılırsa tek satır ilerleme olur.)

ubuntu packet tracer install

Daha sonra kullanım koşullarının kabulü ve root yetkisinin verilmesi için gerekli işlemleri yapacağız.

ubuntu packet tracer install

Bu işlemler bittikten sonra ekranda “Cisco Packet Tracer 7.2 installed successfully” yazısını gördüysek kurulum tamamlanmış demektir.

ubuntu packet tracer install

Artık Cisco Packet Tracer kullanıma hazır. Terminalde packettracer yazıp entera bastığımızda program çalışacaktır fakat çoğu zaman kütüphanelerde eksik dosyalar olabiliyor ve program açılmıyor. Bunun için öncelikle kütüphanede eksik dosya var mı yok mu ona bakacağız. Kurulum işlemi /opt/pt/bin/ dizininde olduğu için bu dizine gidecek ve sonra ./PacketTracer7 komutu ile programı çalıştıracağız. Herhangi bir hata mesajı alınmadıysa sorunsuz bir şekilde program çalışacak demektir.

ubuntu packet tracer install

Görüldüğü üzere bende libpng12.so.0 adında bir dosya eksik çıktı ki genelde de bu dosya eksik çıkıyor. Dosya ismini Google’da aratıp bulabilirsiniz ve indirebilirsiniz (Debian/Ubuntu kullananlar için amme hizmeti 🙂  libpng12-0.deb  )

Şimdi tekrar terminalde ./PacketTracer7 komutunu çalıştıracağım ve sorun olup olmadığını test edeceğim.

ubuntu packet tracer install

Görüldüğü üzere herhangi bir problem olmadı ve program açıldı. Açılan ekranda ister misafir kullanıcı olarak ister kayıtlı kullanıcı olarak giriş yapılabilir.  Bundan sonraki süreçte terminalden packettracer yazarak program çalıştırılabilir.

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

Ubuntu 18.04 localhost kurulumu

Bir önceki Ubuntu localhost kurulumu yazısında Ubuntu 17.10 sürümünü kullanıyordum ve o günden bugüne hem Ubuntu sürüm güncellemesi yaptı hem de PHP ve MySQL. Sürüm güncellemelerinden sonra Ubuntu localhost kurulumu ile ilgili farklılıklar oluştu. Kuruluma sıfırdan başlayalım. Yapılan işlemler terminalden (uç birim) yapılacaktır.

Ubuntu Apache kurulumu

sudo apt install apache2 komutuyla apache kurulumunu yapıyoruz.

ubuntu apache install

Kurulum tamamlandıktan sonra tarayıcımızdan http://localhost adresine giderek sunucunun kurulup kurulmadığını görebiliriz.

ubuntu localhost

Ubuntu MySQL kurulumu

sudo apt install mysql-server komutuyla kurulum işlemi başlatılacak. Daha önceki sürümlerde MySQL için kullanıcı adı ve şifre oluşturma ekranı geliyordu fakat bu sefer bunları oluşturmadan direkt kurulum yapılacak.

ubuntu mysql server install

Ubuntu PHPMyAdmin kurulumu

sudo apt-get install phpmyadmin php-mbstring php-gettext -y  komutuyla kurulum işlemini başlatıyoruz.

ubuntu phpmyadmin install

Devamında hangi web sunucusu için yapılandırma yapılması istenildiği sorulacak ve Apache 2’yi seçeceğiz.

ubuntu phpmaydmin install

Ardından konfigürasyon ile ilgili soru ekranı gelecek ve “evet” yazıp devam edeceğiz. Son olarak SQL bağlantısı için parola isteyecek ve bunu da yapıp kurulumu tamamlayacağız. (localde çalıştığı için güçlü parola vermeye gerek yok düşünüyorum. Parolayı 123456 yapıp geçtim. )

ubuntu phpmyadmin

phpmyadmin kullanıcısına MySQL’den ayrıcalık vereceğim ve tüm işlemler bitmiş olacak.

ubuntu mysql config

Sırasıyla kullanacağımız komutlar:

sudo mysql

grant all privileges on *.* to 'phpmyadmin'@'localhost' ;

flush privileges ;

exit

Artık http://localhost/phpmyadmin adresinden kullanıcı adı ve parolayı girerek PHPMyAdmin sayfasına giriş yapabilirim.

ubuntu phpmyadmin

ubuntu phpmyadmin

NOT : PHPMyAdmin’e giriş için phpmyadmin kullanıcı adı değilde başka bir kullanıcı adı tanımlamak için şunlar yapılmalıdır; (ben kullanıcı adı salih olan  ve parolası 123456 olan bir kullanıcı ekleyeceğim.)

sudo mysql

create user salih on *.* by identified ‘123456’ ;

grant all privileges on *.* to ‘salih’@’localhost’ ;

flush privileges ;

exit

EIGRP (Enhanced Interior Gateway Routing Protocol)

EIGRP (Enhanced Interior Gateway Routing Protocol – Artırılmış Dahili Ağ Geçidi Yönlendirme Protokolü) : Cisco tarafından geliştirilen ve uzun bir süre Cisco tarafından kullanıldıktan sonra diğer firmaların da kullanımına sunulan; bandwidth (bant genişliği),  delay (gecikme), yük ve güvenirlik gibi metrik hesaplarını yaparak yönlendirme yapan dinamik yönlendirme protokolüdür.

Protokol çalıştığında, yönlendiriciler arayüzlerinden (interface) “Hello” paketi göndererek komşuluk kurarlar ve komşuluk tabloları oluştururlar. 5 saniyede bir komşu routera hello paketi gönderilir ve 15 saniye içerisinde cevap alınamazsa komşuluk silinir. Yapılan komşuluklar “Acknowledgement” paketi ile onaylanır. Query(sorgu) paketi ile ağda herhangi bir değişiklik olup olmadığı kontrol edilir ve gelen Reply(yanıt) paketine göre yeni tablolar oluşturulur. Tüm bu işlemler RTP (Reliable Transport Protocol – Güvenilir Taşıma Protokolü) ile gerçekleştirilir.

Yönlendirme tablosu yapılırken bir tane ana rota, bir tane de yedek rota yazılır. Böylece ana rotada herhangi bir problem olduğunda hızlıca yedek rotaya geçilir. Ayrıca yedek rotaya geçildiğinde de ayrıca yeni bir yedek rota daha hesaplanır.

EIGRP metrik hesabı nasıl yapılır? 

Metrik hesabında normalde 5 tane parametre bulunur (K1 : bandwidth ,K2 : load, K3 : delay, K4 :reliability, K5 : MTU (Maximum Transmission Unit))

fakat genellikle K1 (Bandwidth) ve K3 (delay) parametreleri kullanılır. Bu parametreler ön tanımlı olarak metrik hesabında tanımlanmıştır. Çok gerekli olmadıkça diğer parametrelerin aktifleştirilmesi tavsiye edilmez. Çünkü metrik değerlerin aynı olmaması durumunda yönlendiriciler arasında komşuluk kurulamayabilir.

Metrik hesabı (BW ve delay olduğunda)

Metrik = (Bandwidth + Delay) * 256

EIGRP’de eğer metrik değerler aynı değilse yönlendiriciler komşuluk kurmaz. Bu yüzden ön tanımlı ayarlar dışına çıkılmaması tavsiye edilir.

Bandwidth : Kaynak arayüzden (interface) hedef arayüze ulaşıncaya kadar geçilen arayüzler arasındaki en düşük bandwidth. (Burada bahsedilen ağın bant genişliği değil, arayüzlerin bant genişliği)

Delay (Gecikme) : Hedef ağa ulaşıncaya kadar geçilen tüm arayüzdeki gecikmelerin toplamı.

show ip protocols komutu ile metric hesabında hangi değerlerin hesaba katıldığı görülebilir.

Örnek;

EIGRP

EIGRP’ye geçmeden önce gerekli konfigürasyonları yapalım:

PC1 için;

IP : 192.168.1.10

SUBNET : 255.255.255.0

Gateway : 192.168.1.1

PC2 için;

IP : 192.168.2.10

SUBNET : 255.255.255.0

Gateway : 192.168.2.1

PC3 için;

IP : 192.168.3.10

SUBNET : 255.255.255.0

Gateway : 192.168.3.1

Router 1 için interface açma;

Router1#configure terminal

Router1(config)#interface gigabitEthernet 0/0

Router1(config-if)#ip address 192.168.1.1 255.255.255.0

Router1(config-if)#no shutdown

Router1(config)#interface serial 0/1/0

Router1(config-if)#ip address 10.10.10.1 255.255.255.0

Router1(config-if)#no shutdown

Router 2 için interface açma;

Router2#configure terminal

Router2(config)#interface gigabitEthernet 0/0

Router2(config-if)#ip address 192.168.2.1 255.255.255.0

Router2(config-if)#no shutdown

Router2(config)#interface serial 0/1/0

Router2(config-if)#ip address 20.20.20.1 255.255.255.0

Router2(config-if)#no shutdown

Router 3 için interface açma;

Router3#configure terminal

Router3(config)#interface gigabitEthernet 0/0

Router3(config-if)#ip address 192.168.3.1 255.255.255.0

Router3(config-if)#no shutdown

Router3(config)#interface serial 0/1/0

Router3(config-if)#ip address 10.10.10.2 255.255.255.0

Router3(config-if)#no shutdown

Router3(config)#interface serial 0/1/1

Router3(config-if)#ip address 20.20.20.2 255.255.255.0

Route3(config-if)#no shutdown

Gelelim EIGRP yapılandırmasına. Configure terminaldeyken router eigrp komutunu gireceğiz ve ardından 1 ila 65535 arasında bir numarayı otonom sistem numarası olarak verilecek. Verilen numara tüm yönlendiricilerde aynı kullanılmalı. Ayrıca routerları tanımlamak için bir ID’de tanımlanabilir. ID tanımlamak için IP adresi isteyecektir. Bu adres sisteme etki edecek bir adres olmadığı için ne verildiğinin önemi yok. Ama kolay hatırlanması açısından router hostnameye uygun bir isim olması daha iyi olur. Örnek; R1 routerı için 1.1.1.1 gibi.

Router 1 için yapılandırma;

Router1#configure terminal

Router1(config)#router eigrp 5 (5 numarası otonom numara. 1-65535 arasından istenilen sayı kullanılabilir.)

Router1(config-router)#eigrp router-id 1.1.1.1  (1.1.1.1 ile routera ID tanımladık.)

Router1(config-router)#network 10.10.10.0 (routerın bildiği networkleri tanımlıyoruz.)

Router1(config-router)#network 192.168.1.0   (routerın bildiği networkleri tanımlıyoruz.)

eigrp

Router 2 için yapılandırma

Router2#configure terminal

Router2(config)#router eigrp 5 (5 numarası otonom numara. 1-65535 arasından istenilen sayı kullanılabilir.)

Router2(config-router)#eigrp router-id 2.2.2.2  (2.2.2.2 ile routera id tanımladık.)

Router2(config-router)#network 20.20.20.0 (routerın bildiği networkleri tanımlıyoruz.)

Router2(config-router)#network 192.168.2.0  (routerın bildiği networkleri tanımlıyoruz.)

eigrp

Router 2 için yapılandırma

Router3(config)#router eigrp 5 (5 numarası otonom numara. 1-65535 arasından istenilen sayı kullanılabilir.)

Router3(config-router)#eigrp router-id 3.3.3.3 (3.3.3.2 ile routera id tanımladık.)

Router3(config-router)#network 10.10.10.0 (routerın bildiği networkleri tanımlıyoruz.)

Router3(config-router)#network 20.20.20.0 (routerın bildiği networkleri tanımlıyoruz.)

Router3(config-router)#network 192.168.3.0 (routerın bildiği networkleri tanımlıyoruz.)

eigrp

Router3’e 10.10.10.0 ve 20.20.20.0 ağlarını tanımlayınca protokol devreye girdi ve komşulukları sağladı.

show ip route komutu ile bakalım;

show ip route

Route tablosuna baktığımız zaman 192.168.1.0 ve 192.168.2.0 networklerinin EIGRP ile öğrenildiğini görüyoruz. EIGRP aktif olmasaydı, route tablosunda sadece routera direkt bağlı olan networkler görünecekti.

Şimdi bir de PC’den PC’ye ping atalım ve iletişimin olup olmadığını görelim.

PC3’ten PC1 ve PC2’ye ping attım ve herhangi bir problem olmadı.

Routerların networklere bakan interfacelerini pasif etmek gerekir. Çünkü Routerlar interfacelerinden Hello mesajları gönderecektirler. Networklere hello paketinin gitmesine gerek yok. Eğer pasif interface yapılmazsa boşu boşuna network ve diğer cihazlara da hello mesajı gönderilir ve gereksiz bir trafik yapılmış olur.

Router1(config)#router eigrp 5

Router1(config-router)#passive-interface gi0/0

Router2(config)#router eigrp 5

Router2(config-router)#passive-interface gi0/0

Router3(config)#router eigrp 5

Router3(config-router)#passive-interface gi0/0

show ip protocols komutu ile routerda kullanılan protokolleri görebiliriz.

show ip protocols

show ip eigrp neighbors komutu ile kurulan komşuluklar görüntülenebilir.

show ip eigrp neighbors

İsimli (Named) Access List Yapılandırması

Standart access list ve geliştirilmiş access list yapılandırmasında, yeni kural eklendikçe listeye kurallar eklenerek devam ediyordu. Bu da araya bir kural eklenmesini zorlaştırıyordu ve bu değişim işlemlerinin yapılması için access list devre dışı bırakılıp sonra tekrar aktif ediliyordu. Fakat isimli access list yapılandırmasında bunların hiçbirine gerek kalmadan gerekli yapılandırmalar yapılabilmekte.

Yukarıdaki gibi bir ağımız olsun. PC0 ve PC2’nin routera Telnet yapabilmesine izin vereceğiz. Böylece hem isimli(named) access list yapılandırmasını hem de ağ içinde belirli hostlara Telnet yetkisi vererek, routera yetkisiz girişlerin engellenmesini sağlayacağız.

PC0 IP : 192.168.1.3

PC1 IP : 192.168.1.4

PC2 IP : 192.168.1.5

PC3 IP : 192.168.1.6

PCler için Subnet : 255.255.255.0 gateway : 192.168.1.1

Router0 için Gi0/0/1 interfacesini açma;

Router#conf t

Router(config)#interface gigabitEthernet 0/0/1

Router(config-if)#ip address 192.168.1.1 255.255.255.0

Router(config-if)#no shutdown

Router0 için Telnet bağlantısını aktif edelim:

Router#conf terminal

Router(config)#line vty 0 4

Router(config-line)#password 123456

Router(config-line)#login

Intreface ve Telnet bağlantısını da açtığımıza göre tüm hostlardan telnet bağlanmaya çalışalım. Tüm hostların sorunsuz bir şekilde bağlandığını görelim.

Görüldüğü gibi herhangi bir problem yok.

Standart isimli accesslist yapılandırmamızı yapalım;

Router#configure terminal

Router(config)#ip access-list standard DENEME  (DENEME isminde standart access list oluşturdum)

Router(config-std-nacl)#permit host 192.168.1.3    (192.168.1.3 adresli hostun geçişine izin verdim)

Router(config-std-nacl)#permit host 192.168.1.5    (192.168.1.3 adresli hostun geçişine izin verdim)

Router(config-std-nacl)#exit

Router(config)#line vty 0 4     (Telnet arayüzüne girdim)

Router(config-line)#access-class DENEME in  (DENEME isim access listi girişi yönünde uyguladım)

Router(config-line)#end

PC0 ve PC2 için aldığım sonuç:

PC1 ve PC3 için aldığım sonuç:

show  access-lists komutu ile access listleri görüntüleyelim.

show access-lists

ACL’lelere baktığımızda 10 ve 20 ID’sine sahip olan 2 tane kurla görüyoruz. Normalde yeni kural eklediğimde 30 ID numarası vererek devam ederdi. Fakat isimli (named) access listlerde araya da kolay bir şekilde kural tanımlayabiliyoruz. Ben 11 nolu ID tanımlayacağım ve 192.168.1.4 adresini de Telnet erişimine açacağım.

Router(config)#ip access-list standard DENEME (DENEME isimli access listin yapılandırmasına girdim)

Router(config-std-nacl)#11 permit host 192.168.1.4 (Önce ID tanımlayıp sonra da kuralı yazdım)

Böylece 192.168.1.4 hostuda erişim izni almış oldu. Peki oluşturulan ACL’yi nasıl silerim?

Bu da çok basit; ACL yapılandırmasına girip oluşturduğum kuralın başına no komutunu ekliyorum.

Router(config)#ip access-list standard DENEME  (DENEME isimli ACL’nin yapılandırmasına girdim)

Router(config-std-nacl)# no 11 permit host 192.168.1.4 (11 nolu ACL’yi silmiş oldum)

Standart ve geliştirilmiş access list konusuna aşağıdaki bağlantıdan ulaşabilirsiniz.

ACL (Access List) – Standart & Extended

Ubuntu Photoshop CS6 Kurulumu

GNU/Linux dağıtımı olan Ubuntu‘da Adobe Photoshop CS6 kurulumunu yapacağız. Kurulumu her ne kadar Ubuntu üzerinde yapmış olsam da tüm GNU/Linux dağıtımlarında aynı yöntem ile kurulum yapılabilir.

Kurulum işlemini PlayonLinux programı sayesinde çok kolay bir şekilde yapacağız.

Terminali açıp öncelikle paketleri güncelliyoruz.

sudo apt update

Ardından Play on Linux programını yüklüyoruz.

sudo apt install playonlinux

Kurulum tamamlandıktan sonra programı açıyoruz.

Uygulama kur alanına tıklıyoruz ve karşımıza aşağıdaki gibi kategoriler geliyor.

ubuntu_playonlinux_photoshop

Bu kategorilerden Grafik alanını seçiyoruz ve karşımıza kurulabilecek olan grafik programları listeleniyor. Buradan Adobe Photoshop CS6 seçiyoruz.

ubuntu photoshop cs6 install

Bundan sonraki kısımlarda programın kurulum dosyasını isteyecek ve kurulum dosyasını seçtikten sonra Windows’tan alışkın olduğumuz gibi ileri>ileri yaparak programı kuracağız. Programın kurulum dosyasını aşağıdaki linkten indirebilirsiniz.

> Adobe Photoshop CS6 indir

Ayrıca aşağıdaki videodan da kurulum aşamalarını daha detaylı görebilirsiniz.

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

ACL (Access List) – Standart & Extended

Access-List’ler (erişim listeleri) ağ trafiğinin kontrolünü sağlar.  Oluşturulan kurallar ile hangi trafiğin geçeceğinin, hangisinin geçemeyeceği gibi kontroller sağlanır.

 

Standart ACL’lelerde liste için 1-99 arası numara verilebilir. Standart access listlerde sadece kaynak IP adresine bakılır. (access-list 5 permit 192.168.1.0 0.0.0.255)

Genişletilmiş ACL’lerde liste için 100-199 arası numara verilebilir. Listede hem kaynak hem de hedef IP adresine bakılır. (access-list 111 permit tcp 192.168.1.0 0.0.0.255 any eq 80)

192.168.1.0 ağından herhangi bir 80 portuna (web portu) izin verir. TCP ve UDP için kullanılabilir.

Numaralı ACL’lerde kural içine başka şeyler eklemek için çalışan ACL önce durdurulup sonra eklenecek şeyler eklenir. Onun için güvenlik açığı oluşturur.

İsimli ACL kullanımı : ALC listesinde numara değil isim kullanılır.

ip access-list standart NO_ACCESS deny host 192.168.10.10 (192.168.10.10′ u engeller)

 

  • Standart ACL’ler hedefe yakın olan cihazda yazılır.
  • Extended ACL ise kaynağa yakın olan cihaza yazılır.
  • Eğer ACL yazıldıysa tüm ağlar için yazılmalıdır. Bir ağ için engelleme veya izin için liste oluşturulduğunda, varsayılan olarak liste dışında olan tüm ağlar engel listesine takılır.  Bu yüzden access list oluşturulduğunda tüm ağlar için de liste yapılmalıdır.

 

 

Standart Access List (Standart Erişim Listesi)

acl

Yukarıdaki gibi bir ağımız olduğunu varsayalım. 192.168.1.0’lı ağdan sadece 192.168.1.5 IP numaralı bilgisayarın diğer ağdaki bilgisayara ulaşmasını istiyorum.

Öncelikle bilgisayarlar ve routerda gerekli ayarların yapılması gerek. Her iki ağ da aynı routera bağlı olduğu için, interfaceleri tanımlamak iki ağ arasında haberleşme kurulması sağlayacaktır. Herhangi bir routing yazılmasına gerek yok.

Router1 interface yapılandırması;

Router1(config)#interface gigabitEthernet 0/0

Router1(config-if)#ip address 192.168.1.1 255.255.255.0

Router1(config-if)#no shutdown

Router1(config-if)#exit

Router1(config)#interface gigabitEthernet 0/1

Router1(config-if)#ip address 192.168.2.1 255.255.255.0

Router1(config-if)#no shutdown

 

PC1 ve PC2’den herhangi bir problem olmadan ping atabilmem lazım.

Her iki bilgisayardan da problemsiz bir şekilde PC3’e eriştim. Şimdi PC1’in erişip PC3’ün erişemeyeceği şekilde yapılandırma yapacağız.

Gerekli ayarları routerda yapacağız.

Router1(config)#access-list 5 permit 192.168.1.5

Bu komut ile şunu yapmış oldum: 5 nolu bir liste oluşturdum ve bunda 192.168.1.5 adresinin izinli olduğunu belirttim. Liste numarasına 1-99 arasında istenilen numarayı verebiliriz.

Şimdi sadece 192.168.1.5 IP adresine sahip bilgisayarın erişim izninin olup, ağdaki diğer bilgisayarların erişimini engellemek istiyorum.

Router1(config)#access-list 6 deny 192.168.1.0 0.0.0.255

Bu komut ile şunu yapmış oldum: 192.168.1.0 ağındaki tüm hostların erişimini engelle. Bunu yapmak için ise 0.0.0.255 wildcard maskı ile yapmış oldum.

Yapılan ayarların router tarafından yorumlanması için ilgili arayüze access-listin tanımlanması gerek.

Verilen örnekte Router1’in gigabitEthernet 0/0 interfacesini kullanmamız gerecek.

Router1(config)#interface gigabitEthernet 0/0

Router1(config-if)#ip access-group 5 in  (ACL 5’in giriş yönünde uygulanmasını seçtik. Eğer böyle yapmamış olsaydık hostlardan gelen paketler routerda işlenecekti ve sonra erişim/engelleme yapılacaktı. Bu da ekstra bir trafik oluşturacaktı. ACL’yi giriş interfacenini giriş yönünde uygulayarak ekstra trafiğin önüne geçmiş olduk.

Şimdi iki bilgisayardan da 192.168.2.5 bilgisayarına erişim var mı yok mu görelim.

ACL öncesi ve sonrasını kırmızı çizgi ile ayırdım. Çizginin üst tarafı ACL öncesini, alt tarafı ise ACL sonrasını gösteriyor.

PC1’e baktığımız zaman erişimde herhangi bir problem yok.

Pc2’ye baktığımız zaman ise ACL öncesi erişim sağlandığını, ACL sonrası ise erişimin sağlanamadığını görüyoruz.

 

NOT :Yapılan bu listede işlemler hiyerarşik düzende yorumlanır. Bu yüzden dikkatli bir şekilde listeyi hazırlamak gerekir. Ben önce 192.168.1.5 adresine izin verip sonra 192.168.1.0 ağındaki tüm hostları engellediğim için 192.168.1.5 hostu erişimde herhangi bir problem yaşamadı. Ama önce ağdaki tüm hostları engelleyip sonra 192.168.1.5 hostuna erişim izni vermiş olsaydım, 192.168.1.0 hostu da  erişemeyecekti.

Extended Access List (Geliştirilmiş Erişim Listesi)

Bu kategorideki listeler numara olarak 100-199 arası numara alabilirler.  Extended Access Listler, Standart Access Listlere göre göre daha esnek ve daha detaylı kontrol listesi oluşturmaya yarar. Standart ACL’lerde izin verme ya da engelleme işlemi tüm servisleri kapsıyordu. Ancak Extended ACL’lerde izin verilen ve engellenen servisler seçilebilir. Örneğin, bir hostun internete ulaşmasına izin verip FTP’ye ulaşmasını engelleyebiliriz. Bunu bir örnek ile yapalım.

extended access control list

Yukarıdaki gibi bir ağımız olsun. 192.168.2.10 IP adresine sahip bilgisayarın hem WEB hem de FTP servislerine erişmesine izin vereceğiz. Fakat, 192.168.2.11 IP adresine sahip bilgisayarın sadece WEB’e erişimine izin vereceğiz.

Router ve PC’lerdeki ayarlamalara değinmeyeceğim.

Şu anki durumda PC1 ve PC2, Server1’in açık olan tüm servislerine ulaşabilir.

Her iki bilgisayarda da FTP ve ping denemesi yaptım ve ikisinde de erişimde problem yaşamadım.

Router1(config)#access-list 150 permit tcp host 192.168.2.10 host 192.168.10.10 eq ftp

Accesss list 150 yazarak 150 numarayı vermiş oldum. Ardından hangi protokol ile bağlanacağımı seçtim (tcp)

Tek kaynak ve tak hedef olduğu için host komutu ile bunları belirttim.

eq (eşittir) yazarak servisi belirttim(FTP) . Burada ister servis ismi yazılarak istersek de servisin port numarası yazarak yapabiliriz.

Şimdi 192.168.2.0 ağındaki tüm FTP erişimi kapatacağım.

Router1(config)#access-list 150 deny tcp 192.168.2.0 0.0.0.255 host 192.168.10.10 eq 21 (21 yerine ftp yazabiliriz)

Bu yapılandırma ile 192.168.2.0 ağından hiçbir hostun 192.168.10.10 adresindeki FTP servisine bağlanmamasını sağlamış olduk. Tabii ilk önce 192.168.2.10 adresine izin verdiğimiz için o host bu kuraldan etkilenmeyecektir.

ACL yazdığımızda tüm servisler default olarak kapatılır. Bu yüzden şu an iki bilgisayar da (PC1’in FTP’ye ulaşabilmesi dışında) hiçbir servise ulaşamaz.

PC2 hostundan hiçbir servise erişemezken, PC1 hostumdan sadece FTP’ye erişebiliyorum.

Router1(config)#access-list 150 permit icmp any any

Bu komut ile ICMP(Internet Control Message Protocol)’ye tüm kaynaklar ve hedefler için izin vermiş olduk

Böylece tüm hostlar engel belirtilmediği sürece servis erişimleri sağlayabilecek.

Named Access List (İsimli Erişim Listesi) konusuna aşağıdaki bağlantıdan ulaşabilirsiniz.

İsimli (Named) Access List Yapılandırması

Ubuntu Localhost WordPress kurulumu

WordPress bloğu olanlar bilir; blog üzerinde canlı kanlı değişiklik yapmanın araba ile saatte 250 km hız yapmak gibi bir şey olduğunu. Yanlış yapmadığınız sürece sıkıntı yoktur ama yanlış yaptığınız zaman saatte 250 km hızla duvara çarpmış gibi etkiler yapabilir. Şahsen blog üzerinde çok fazla değişiklik yaptığım için ve bunu lokalde değil de uzak sunucuda yaptığım için çok sıkıntılar çektim.

Ama artık sıkıntı çekmek yok! (Yerel seçimde oylarınızı beklerim) Localhosta WordPress kurulumu yapacak ve bu dertten kurtulacağız. Tabii önce localhost kurulumu yapmış olmak gerek. Eğer kurulu değilse Ubuntu Localhost kurulumu yazısına bakarak kurulumu yapabilirsiniz.

Öncelikle WordPress kurulumu dosyasını indiriyoruz ve sıkıştırılmış dosyayı çıkartıyoruz. (indirme bağlantısı : wordpress resmi site )

Zip dosyasından çıkan wordpress isimli klasörü /var/www/html dizini içerisine atacağız. Muhtemelen dizin erişim yetkisini düzenlenmemiştir. Bundan dolayı dosya aktarımı için sürekli SUDO işlemini yapmamak için ilgili dizine erişim yetkilerini düzenleyeceğiz. Dizinde okuma, yazma ve çalıştırma yetkisini vermek için CHMOD 777 yapacağız.

sudo chmod 777 /var/www/ -R

Yukarıdaki komut ile dosya izinlerini edinmiş olduk. Böylece rahatlıkla kurulum ve sonrasında çalıştırma işlemlerini yapabileceğiz.

Wordress kurulumu yapabilmek için öncelikle bir veritabanı oluşturmak gerekecek. http://localhost/phmyadmin sayfasından giriş yapıp gerekli işlemleri yapacağız. Daha önce oluşturmuş olduğumuz kullanıcı adı ve şifreyi girerek giriş yapıyoruz.

phpmyadmin giriş

Giriş yaptıktan sonra sayfanın sol kısmında bulunan yeni linkine tıklayarak yeni veritabanı oluşturacağız.

Ben wp_123 adında bir veritabanı oluşturdum.

phpmyadmin veritabanı oluşturma

Evet şimdi WordPress kurulumuna başlayabiliriz.

Taracıdan http://localhost/wordpress adresine gidiyoruz. Karşımıza aşağıdaki gibi bir sayfa açılacak. Başlayalım butonuna tıklayarak ilerliyoruz.

wordpress kurulumu
wordpress kurulumu

Ardından aşağıdaki gibi bir sayfa oluşacak ve bu sayfada gerekli alanları dolduracağız ve “gönder” butonuna tıklayacağız.

wordpress kurulum bilgileri

Daha sonra config sayası gelecek burada “kurulumu çalıştır” butonuna tıklayarak bir sonraki adıma geçeceğiz.

Geldik son adıma. Bu sayfada WordPress giriş bilgilerini dolduruyoruz. Localhostta çalıştığımız için kullanıcı adı ve şifrenin basit olmasında fayda var.wordpress admin

“WordPress’i kur” butonuna tıkladıktan sonra kurulum tamamlanacaktır. Giriş yapmak için http://localhost/wordpress/wp-admin adresinin kullanabilirsiniz.

Ubuntu LAMP (Apache, MySQL, PHP) Kurulumu

Malum, her dosyamızı web sunucularına bağlanarak, online olarak test etme imkanımız yok. Olsa da, deneyeceğimiz şeyler online olarak herkes tarafından görüleceği için pek hoş olmaz. Hadi bunu da geçtim, yapılan hatalardan sonra geri dönüşü zor olan yollara girebiliriz. Şahsen, sırf bloğun temasını değiştirmek yüzünden bile defalarca sil baştan başladığım oldu. Bu yüzden böyle aksiyonlara girmeye hiç gerek yok 🙂

Localhost nedir, ne işimize yarar?

Localhost, bilgisayara yüklenen yazılımlar sayesinde bilgisayarın sunucu olarak işlem yapabilmesidir. Normal bir bilgisayarda PHP dosyalarını çalıştıramaz ve veri tabanında işlemler yapamayız. Localhost kurulumu sayesinde bilgisayarımız sunucu özelliği kazanacak ve PHP, MySQL gibi dosyaları çalıştırabilceğiz.

Tarayıcımızda http://localhost yazarak ya da http://127.0.0.1 adresinden localhosta erişebiliriz.

 

Görüldüğü üzere herhangi bir kurulum olmadığı için tarayıcımızda boş sayfa ile karşılaştık.

Ubuntu Localhost kurulumu

Şimdi gelelim Ubuntu’da Localhost kurulumuna; işlemlerimizi terminalden (uç birim) yapacağız.

Öncelikle depolarımızı güncelliyoruz. Kullanacağımız komut:

sudo apt update

Ubuntu Apache Web Server (Sunucu) Kurulumu

Depolarımızı güncelledikten sonra kuruluma başlayabiliriz. Öncelikle Apache kurulumu yapacağız. Bu işlem sayesinde bilgisayarımız sunucu özelliği kazanmış olacak.

Kullanılacak komut:

sudo apt install apache2

Komutu yazıktan sonra parolamızı giriyoruz ve işleme devam ediyoruz. Kurulum yaparken dosyaların indirilmesi için E/H sorusu gelecek, E yazıp ENTER’e basıp devam ediyoruz.

Kurulum tamamlandıktan sonra sunucumuz hazır demektir. Bu adımda kimsenin bir problem ile karşılaşmayacğını düşünüyorum. Sunucumuz hazır olduğuna göre, tarayacımızın arama barına http://localhost ya da http://127.0.0.1 yazarak sunucumuzun kurulduğunu görebiliriz.

Ubuntu PHP ve MySQL kurulumu

Sunucu kurulumu yapıldıktan sonra sıra geldi bu sunucu üzerinde koşturacağımız atlara; pardon yazılımlara.

PHP kurulumunu şu komutlar yapacağız.

sudo apt install php

komutuyla PHP kurulumu yapılacaktır. Bu komut ile PHP’nin en son sürümü yüklenecektir. Eğer son sürüm değil de eski sürümler ile çalışmak istiyorsanız PHP sürüm numarasını girmeniz gerecektir. (Örneğin : sudo apt install php5 )

PHP’nin son sürümü PHP7.1 yüklendi.

Şimdi PHP-MySQL kurulumu yapacağız. Kurulumda yine güncel dosyaları istediğim için şu aşağıdaki komutu kullanacağım. Belirli bir sürümü isteyenler yine sürüm koduyla beraber indirme yapabilirler. (Örneğin : sudo apt install php5-mysql )

sudo apt install php-mysql

 

Ardından MySQL server kurulumu yapacağız. Bu kurulumda dikkat edilmesi gereken noktalar var. Önce aşağıdaki komut ile kuruluma başlayacağız.

sudo apt install mysql-server

Yüklemeler tamamladıktan sonra aşağıdaki gibi bir görüntü ile karşılaşacağız. MySQL’de kullanılacak “root” parolasının girilmesi istenecek. Akılda kalıcı olması açısından basit parola seçilmesinde fayda var. Çünkü bu parolayı ileride PHPMyAdmin kurulumu yaparken kullanacağız.Bu arada seçenekler değiştirmek için TAB tuşuna basacağız ve ENTER tuşu ile de onay vereceğiz.

 

Artık PHP ve MySQL kurulumu tamamlandı. Sunucu üzerinde yeni yazılımlar eklediğimiz için ve bu yazılımların sorunsuz çalışır hale gelmesi için sunucuyu yeniden başlatacağız.

sudo /etc/init.d/apache2 restart

Kurulum tamamlandığına göre PHP dosyalarının çalışıp çalışmadığına göz atabilir. Eğer elinizde halihazırda PHP dosyası var ise, bu dosyayı  /var/www/html/ dizin içerisine atıp tarayıcıdan http://localhost/dosyaadi.php adresinden kontrol edebilirsiniz. Eğer yok ise bundan sonraki adımları takip ederek PHP’nin çalışıp çalışmadığını kontrol edebilirsiniz.

Öncelikle aşağıdaki kodu kullanarak bir deneme sayfası oluşturacağız.

sudo nano /var/www/html/deneme.php

Ardından aşağıdaki gibi bir PHP kodu yazacağız ve ardından CTRL ve X tuşlarına basıp yaptığımız işlemin kaydedilmesi E harfine basıp kaydedeceğiz.

Şimdide PHP’nin çalışıp çalışmadığını kontrol edeceğiz. PHP dosyamıza deneme.php adını verdiğimiz için tarayıcıda http://localhost/deneme.php yazacağız.

Aşağıdaki gibi bir sayfa ile karşılaştıysak sıkıntı yok demektir.

Ubuntu phpMyAdmin Kurulumu

Apache Server kurulumu yapıldı, PHP kurulumu yapıldı, MySQL Server kurulumu yapıldı ve geriye kaldı phpMyAdmin kurulumu. phpMyAdmin kurulumu yaparak veri tabanı oluşturabiliyor ve yönetebiliyor olacağız. Aşağıdaki komut ile kuruluma başlayacağız.

sudo apt install phpmyadmin

Komutu girip indirme işlemi başladıktan sonra aşağıdaki gibi bir ekran ile karşılaşacağız. Apache server kurulumu yaptığımız için apache seçeneğini seçip onaylayacağız.

Ardından config sayfası gelecek ve buna da  Evet deyip bir sonraki aşamaya geçeceğiz.

Şimdi de phpMyAdmin ve MySQL sunucusunun eşleşebilmesi için parola gireceğiz. Dikkat edilmesi gereken nokta ise şu; MySQL server kurulumu yaparken oluşturulan parolayı burada kullanacağız. Yanlış parola girerseniz çalışmayacaktır.

Son olarak phpMyAdmin’ini localhostta çalışabilmesi isin aşağıdaki kod ile linkleme yapacağız.

sudo ln -sf /usr/share/phpmyadmin /var/www/html/phpmyadmin

Bu işlemden sonra phpMyAdmin’in çalışıp çalışmadığını kontrol etmek için tarayıcımızda http:///localhost/phpmyadmin/ adresine gideceğiz.

Bu noktada da sıkıntı yaşamadıysa artık rahat rahat localhostta PHP dosyalarını çalıştırabilecek ve veri tabanları oluşturabileceğiz demektir.