Erdem YILDIZ

Siber Güvenlik Araştırmacısı
Python Geliştiricisi
Linux Hayranı

Packet Tracer ile BGP Yapılandırması

Merhaba arkadaşlar bugün sizlere BGP hakkında açıklama yapıp daha sonra Packet Tracer üzerinde bir uygulama ile kullanımını göstereceğim.Haydi bir giriş yapalım...

BGP'i anlamaya başlamadan önce IGP (Interior Gateway Protocol) ve EGP(Exterior Gateway Protocol) arasındaki farkı anlamamız gerekiyor

  • IGP: OSPF , EIGRP gibi aynı AS içersinde çalışan yönlendirmeleri kontrol eder.IGP aynı AS numarası altında router'lar üzerinde çalışır
  • EGP: Farklı AS'ler arasında yönlendirme işlemi yapar.Bu işlem için EGP sadece BGP'yi kullanır.

BGP

Internet üzerinde pek çok ISP (Internet Service Provider) tarafından kullanılan routing prokoldür.Pekçok routing işlemleri BGP tarafından yapılır.BGP'nin en önemli görevi farklı AS'leri birbirlerine tanıtmak-bağlamak tır.BGP'nin geçerli sürümü 4'tür. BGP , TCP üzerinde duran transport katmanı protokolüdür.Daha önceden manuel olarak ayarlanan üzerinde BGP çalışacak router'lar bir TCP bağlantısı başlatır daha sonra BGP konuşmaya başlarlar.BGP üzerinde discovery(keşfetmek) yoktur.Çok büyük network yapısına sahip ağlar'ın üzerinde çalıştırdığı BGP'nin kullanacağı bir AS numarası internete bağlanacaksa IANA (Internet Assigned Numbers Authority) tarafından atanan bir eşsiz AS numarası kullanmalıdır.IANA üzerinde public AS numara aralığı 1 - 64.512 iken private aralığı 64.512 - 65.535 dır. BGP'lerde bir hedef için en kısa yol ona ulaşacağı AS değerinin en az olanıdır.BGP'ler çok büyük routing table'ı yönetebilirler.

Yukarıda fotoğrafta birbirinden farklı AS'ler görüyoruz.Herbir AS kendi içersinde IGP çalışıyor.Örnek vermek gerekirse AS100 içersinde OSPF , AS200 içersinde EIGRP çalışıyor gibi düşünebiliriz.Başka AS'lere bağlı router'ların her biri BGP çalışıyorlar.Bu router BGP sayesinde birbirlerinin arkasındaki network'leri görebilirler.

BGP Terimleri

  • BGP Speaker: BGP çalışan bir router'dır.
  • BGP Neighbor: TCP iletişime kurulmuş herhangi 2 router'ın birbirleriyle BGP routing bilgilerini değiş tokuş yapmasıdır.(BGP TCP 179 portunu kullanır.)
  • Prefix: IGP çalışan network protokollerin bazılarında network adresi ve bunun yanında subnet bilgisde routing table içersine dahil edilir.Fakat BGP dünyasında prefix olarak adlandırılır.
  • Internal BGP: Aynı AS içersinde birbirleriyle BGP neighbor iletişimi olan router'lara verilen addır.IBGP komşuluklarında router'lar birbirlerine doğrudan bağlanmak zorunda kalmaz.
  • External BGP: Farklı AS içersinde BGP neighnor iletişi olan router'lara verilen addır.EGPG çalışan router'ların birbirleriyle doğrutan bağlanması tavsiye edilir.

ISP'ye bağlanma şekilleri

BGP'ler çoğu zaman ISP'ye bağlanmak için kullanılır.

  • Single homed: Bir şirket ISP'ye bir kaç yolla bağlanabilir.Bu yolların en basiti ve en yaygın olanı ISP ile şirket arasına bir kablo ile bağlantı kurarak gerçekleşir.Bu tasarım ile internete giden tüm güzergahlar için yalnızca bir tane bir sonraki atlama router'ı(1 hop) vardır. Bu yöntemin dezavantajı ise bağlantılar arasında bir router yada bir kablo bozulduğunda iletişim tamamen kopar.Fakat bu yöntem küçük çoklu bağlantı yöntemleriyle kıyaslandığında çok daha fazla tasaruflu olduğu görülür.Her ne kadar'da tasaruflu olsa bile büyük şirketler için zaman = para olduğundan fazla para ödemekten kaçınmazlar.

Bu yöntem ile ISP'ye bağlanmak için BGP kullanmak zorunda değiliz.Static ve ya Dinamic routing'de alternatif olarak kullanılır.

  • Dual homed: 2 kablo ile ISP router'a bağlandığı için dual homed olarak adlandırılmıştır.Biz bu tasarımda BGP kullanarak 2 router arasında seçtiğiniz kablodan yada kablo üzerinde yüke göre 2 kablo üzerinden diğer router'a aktarabiliriz.Bu yöntem ilkinden daha mantıklı olmasına rağmet ISP tarafındaki router düştüğünde iletişim kopar.
  • Single Multihomed: Bir router üzerinde bir şirketin birden fazla ISP'ye bağlanma şeklidir.Router üzerindeki her bir link ISP'ye bağlıdır.Bu yöntem ile ISP tarafında bir router'da düşme olsa bile trafiği diğer ISP router'dan gönderebiliriz.
  • Dual Multihomed: En şeklimizde ise şirket tarafındaki router her bir ISP'ye 2 kablo ile bağlanmıştır.Şirketinizin güçlü bir bütçesi varsa, Dual Multihomed tasarımı, dışarıdan bağlantınızın her zaman hazır olduğundan emin olmak için idealdir ve bu durumda BGP tavsiye edilir.

Sonuç olarak Single Homed hariç diğer yöntemlerle ISP'ye bağlandığımızda BGP kullanılmalıdır.

                                            #BGP Dinamic Routing

                                            #I.adım
                                            router bgp as-number 1-65535

                                            #II.adım(BGP konuşan router'ın bacağının ip adres ve kullandığı as numarası)
                                            neighbor ip-adres remote-as 1-65535

                                            #III.adım (Arkasında bulunan tüm network'ler yazılır)
                                            network ip-adres mask

                                        

Yukarıdaki fotoğrafta 6 adet router vardır.Bu router'lar fotoğrafta gördüğünüz gibi 3'erli grub'larla birbirlerinden ayrılmıştır.Soldaki grup kendi içersinde OSPF çalıştırmaktadır.Sağdaki grub ise kendi içersinde EIGRP çalıştırmaktadır. Router2 ile Router5 arasında EBGP konuşmaktadır.Fotoğraf üzerinde ok'lar görmektesiniz.Bu ok'lar router'ların birbiri arasında dinamic routing ile koşup routing table'a eklediği network'lerdir.

  • Router0 Gig0/1 ip adresi --> 20.0.0.1
  • Router0 Gig0/0 ip adresi --> 10.0.0.1
  • Router1 Gig0/0 ip adresi --> 10.0.0.2
  • Router1 Gig0/1 ip adresi --> 30.0.0.2
  • Router2 Gig0/1 ip adresi --> 20.0.0.2
  • Router2 Gig0/0 ip adresi --> 30.0.0.1
  • Router2 Ser0/1/0 ip adresi --> 100.0.0.50

  • Router3 Gig0/0 ip adresi --> 40.0.0.1
  • Router3 Gig0/1 ip adresi --> 50.0.0.1
  • Router4 Gig0/0 ip adresi --> 60.0.0.1
  • Router4 Gig0/1 ip adresi --> 50.0.0.2
  • Router5 Gig0/1 ip adresi --> 60.0.0.2
  • Router5 Gig0/0 ip adresi --> 40.0.0.2
  • Router5 Ser0/1/0 ip adresi --> 100.0.0.100

Yukarıda şekilde'ki router'ların routing table örneğini göstermek istedim.Başında "O" harfi olan'lar OSPF , başında "B" harfi olanlar ise BGP'i temsil etmektedir..Kurallara biraz daha bakarsak hangi ip bloğuna hangi sbacak'tan erişebileceğimizi görebiliriz

Örnek EBGP Dinamic Routing Yapılandırması

                                            #Router2 için BGP
                                            router BGP 10000
                                            network 10.10.0.0 mask 255.0.0.0
                                            network 20.10.0.0 mask 255.0.0.0
                                            network 30.10.0.0 mask 255.0.0.0
                                            neighbor 100.0.0.100 remote-as 20000


                                        

Yukardaki kuralın benim için anlamı şudur.İlk başta EBGP için bir AS numamarası giriyoruz.Daha sonra Router2 arkasındaki tüm network'leri masklarıyla beraber giriyoruz.En son komutta ise bizim Router2 serial port'u Router5 ile EBGP konuşacağı için Router2'nın serial bacağının karşısındaki ip adresini ve as değerini girip onu komşu olarak gösteriyoruz.

Packettracer üzerinde sadece External BGP yapılabilir.Bu yüzden yukarıdaki topoloji'de Router2 ve Router5 EBGP olarak çalışıyor.3

Yukarıda paylaşmış olduğum bilgilerde bir problem yada yapılabilecek iyileştirmeler için bana ulaşabilirseniz çok sevinirim.Okuduğunuz için çok teşekkür ederim.Esen kalın :)