Ana içeriğe atla

GNS3 ile Ağ simulasyonu

Merhaba arkadaşlar. Bu yazımda GNS3 ile basit bir ağ simülasyonunun nasıl yapılacağını elimden geldiğince anlatmaya çalışacağım. Tabi bu yazıdan verim alabilmek için bilgisayar ağları konusunda temel bilginiz olması gerekir. Herşey tamamsa başlayabiliriz.
Öncelikle GNS3 programını indirmemiz gerekir. Ücretsiz ve açık kaynak bir program olduğu için gönül rahatlığıyla kullanabilirsiniz. İndirmek için aşağıdaki linki kullanabilirsiniz. Kayıt olduktan sonra indirebiliriz. 32 bit bilgisayarlar için son sürüm 1.3.x bu arada.

https://www.gns3.com/software/download

Kurulum yapılırken, GNS3 ile birlikte bir takım programlar da indirilecektir. Bunlardan birisi, GNS3 üzerinde oluşturduğunuz cihazlara bağlanıp konfigurasyon yapmanızı sağlayacak olan Putty, diğeri de ağ paketlerini yakalayıp incelemenizi sağlayan WireShark programı. Kurulum tamamlandıktan sonra GNS3 programını açarsanız karşınıza şu şekilde bir ekran gelecektir. Sürüm farklılığından dolayı bazı değişiklikler olabilir.


1 numaralı alan router,switch gibi cihazların bulunduğu kısımdır. Buradan sürükle bırak yaparak 2 numaralı alana cihazları çalışmak üzere bırakabiliriz. 3 numaralı alan ile bu cihazları yönetebiliriz. 4 numaralı alan da ise cihazlar hakkında bilgileri bir liste halinde görebiliriz.

Öncelikle GNS3 programımıza bir router eklemeliyiz. Router'lar başlı başına bir bilgisayar gibidir, işletim sistemi çalıştırırlar. Router'lar üzerinde çalışan işletim sistemlerinin genel adı IOS'dur. GNS3 üzerinde kullanabilmek için bir IOS imajı bulup GNS3 programına tanıtmamız gerekiyor. Takdir edersiniz ki router cihazlar ağ için önemli işlemler gerçekleştirmektedir ve IOS işletim sistemleri de açık kaynak değildir, piyasada kolay bulunmazlar. Ben burada internet üzerinden bulduğum IOS işletim sistemi imajını GNS3 programına tanıtacağım. Siz de indirmek isterseniz şu adresi kullanabilirsiniz. İndirdiğimiz dosyayı GNS3 de kullanacağımız router için kullanacağız.

Şimdi indirdiğimiz bu  IOS imajını nasıl GNS3'e tanıtabiliriz? Öncelikle Edit>Preferences menüsüne geçiş yapalım. Burada karşımıza aşağıdaki gibi bir pencere gelecek.


Burada solda Dynamips altındaki IOS Routers'i seçmemiz gerekir.

New diyerek yeni bir router template oluşturalım. Buradan indirdiğimiz imaj dosyasını seçelim ve next next diyerek işlemi tamamlayalım. Kurulum sırasında yardım almak istiyorsanız şu videoyu izleyebilirsiniz. Artık çalışma alanımıza Cisco 7200 router'ı ekleyebiliriz
 Sol taraftaki alanda ilk simgeye tıklarsak eklediğimiz router'ı görebiliriz. Şimdi şöyle basit bir ağ tasarlayalım ve konfigurasyon ayarlarını yapalım. Ağımız şu şekilde olacak




Bilgisayarları eklemek için sol sekmedeki bilgisayar resmine tıklayıp ekrana 4 adet VPCS eklemeniz yeterlidir. Switch için de router resminin altında yer alan Switch resmine tıklayarak bir Ethernet Switch ekleyebilirsiniz. LAN1 ve LAN2 kendi içlerinde ping trafiği oluşturabilir, ancak bu iki LAN  birbirlerine ping atamazlar. Bu iki ağı birbirine bağlamak için router kullanacağız. Yani LAN1 içerisinde bulunan bir bilgisayar eğer kendi ağında olmayan ancak LAN2'de bulunan bir bilgisayar ile iletişime geçmek isterse aradaki yönlendirmeyi router yapacaktır. Ve her iki ağın da gateway adresleri elbette router'a bağlı oldukları arayüzün IP adresi olacaktır. Böylece bilgisayarlar kendi ağında olmayan bilgisayarlara gönderecekleri paketleri gateway'e dolayısıyla router'a gönderecektir.

Öncelikle bilgisayarlara yukarıdaki tasarladığımız gibi IP adreslerini atamalıyız. IP adresini atamak istediğimiz bilgisayara sağ tıklayıp Start diyoruz ve başlatıyoruz. Sonra tekrar sağ tıklayarak Console seçeneğini seçerek ilgili bilgisayarın arayüzüne giriş yapıyoruz. Bilgisayarlara IP adreslerini ip pc_ip gateway_ip. Gateway ip'si router'ın IP sidir yani bizi diğer ağa götürecek IP adresi. Şimdi PC'lere IP adreslerini dağıtalım

Her bilgisayarda IP adresini atadıktan sonra save komutunu vermeliyiz ki, yaptığımız değişiklikler kaydedilsin ve bir sonraki yeniden başlatmada ayarlarımız yeniden yüklensin.

Artık aynı ağda bulunan bilgisayarlar birbirine ping atabilirler. Hatta denemek için PC1 konsoluna girin ve PC2 ye ping atın. Çalışacaktır. Ancak eğer PC1 den PC3 e ping atmaya kalkarsanız PC3'ün ulaşılabilir olmadığına dair bir mesaj alacaksınız. İşte burada router devreye girecek ve bu iki ağı birbirine bağlayacaktır. Bunun için birtakım ayarlamalar yapmamız gerekmekte.

Herşeyden önce router'ı başlatmamız gerekiyor. Sağ tıklayıp Start diyerek router'ı başlatabiliriz. Arayüze girmek için yine sağ tıklayıp Console diyebiliriz. Bu konsolda iki mod vardır. Birincisi user mod, ikincisi ise privillege moddur. User modda sadece bilgi görüntülenebilirken, privillege modda konfigurasyon ayarları da yapılabilmektedir. User moddayken privillege moda geçmek için enable komutu girilmelidir.O anda yürürlükte olan konfigurasyon ayarlarını görüntülemek için show running-config komutu çalışıtırabilir. Böylece yapılan değişikliklerin etkin olup olmadığı görülebilir.
Konfigurasyon ayarlarını uygulayabilmek için config terminal komutu girilmelidir. Burada arayüzlere IP adresleri atanabilir, yönlendirme işlemleri yapılabilir. Biz burada FastEthernet 0/0 ve FastEthernet 1/0 arayüzlerine daha önceden planladığımız ip adreslerini atayacağız. Aşağıdaki komutları sırayla veriyoruz.
FastEthernet 0/0 arayüzü için IP ataması
FastEthernet 1/0 arayüzü için IP ataması
No shutdown komutu ilgili arayüzü aktif hale getirir. Atama işlemleri bittikten sonra, yönlendirme işlemleri için bir dinamik yönlendirme protokolünü aktif hale getirmeliyiz. Kullandığımız IOS işletim sistemi rip ve eigrp protokolleri için altyapıyı sağlıyor. Ben burada rip kullanacağım. Şimdi nasıl aktif hale getireceğimizi görelim.

Burada hangi ağları birbirine yönlendireceksek o ağın ağ maskesini ekliyoruz. Exit yazıp çıktıktan sonra artık dinamik olarak yönlendirme işlemleri yapılacaktır. Yani artık bir ağdan diğer ağda bulunan yabancı bilgisayara ping atabiliriz.

GNS3 ile basit bir şekilde ağ oluşturmayı ve iki farklı birbirine router aracılığı ile bağlamayı elimden geldiğince basit bir şekilde anlatmaya çalıştım. Umarım anlatabilmişimdir, sorularınızı ve yorumlarınızı bekliyorum. Proje dosyalarını şuradan indirebilirsiniz.

Bir başka yazıda buluşmak üzere...

Yorumlar

Bu blogdaki popüler yayınlar

Python Soket Programlama

Merhaba arkadaşlar. Bugün sizlerle birlikte Python'da socket programlama yapacağız. Bunun için Python da socket kütüphanesini kullanacağız. Peki nedir bu socket programlama? Soket programlama, sizin iki program arası yada iki bilgisayar arası iletişim kurmanızı sağlar. İşte bizde bugün iki programımızı birbiri ile haberleştireceğiz. Bunun için elimizde iki program olacak. Birinci program,mesaj bekleyen program olacak, diğeri ise mesaj gönderen program.

Python Subprocess

subprocess modülü, yeni bir process oluşturmayı sağlayan, bunların girdi-çıktılarını ele alma imkânı veren ve dönüş kodlarını almayı sağlayan bir modüldür. Yani daha basit bir şekilde, program içinde program çalıştırmaya imkan veren bir modüldür. Subprocess Modülünün Kullanımı subprocess basit bazı process'leri kullanmak için birkaç tane fonksiyon sunuyor. Daha karmaşık bir process çalıştırmak isterseniz, Popen sınıfını kullanabilirsiniz. Bunlara detaylı bir şekilde değinmeye çalışacağız. Şimdi basit fonksiyonları inceleyelim

Infix to postfix dönüşümü

Infix to postfix dönüşümü, operatorün ortada olduğu a+b yazım şeklini operatorün sonda olduğu ab+ yazım şekline dönüştürme işlemidir.  Infix gösterimi, bizler için kolay bir gösterim olsa da makineler için öyle değildir. İfadeyi soldan sağa doğru okurken a + b * c işleminde önce b ile c yi çarpıp sonra da a ile toplamayı kolay bir şekilde yapabiliriz çünkü bizim ifadeyi sıra ile soldan sağa adım adım giderek okuma zorunluluğumuz yok. Önce b*c nin öncelikle olduğunu görerek oradan başlar, sonra a ile kolayca toplarız.