Merhaba arkadaslar,

Bu yazimda sizlere bir enterprise üzerinde çoklu internete çikis modelleri, avantajlari-dezavantajlari ve ihtiyaca göre kullanima yarayacak modellerden bahsedecegim. Öncelikle yazi içerisinde sizin kullandiginiz internet çikis yapisinin bire bir örnegini bulamayabilirsiniz ancak sizinde yapmayi planladiginiz yada gözden geçirmek istediginiz bölümler elbette olacaktir.

Internet hakkinda konustugumuzda bir sirket açisindan iki önemli nokta vardir. Gidis trafigi ve dönüs trafigi. Çift ISP’nin oldugu yerlerde dönüs trafigini büyük ölçek de etkilemenin (ISP ile iletisim kurmadan) iki yolu vardir. Bunlardan birincisi AS_PATH PREPEND dedigimiz bloklarimizi bir yerden anons ederken AS_PATH’i uzatarak sanki daha uzak bir noktadaymis gibi göstermeyi saglayan yöntem. AS_PATH , ASler arasinda BGP Rotasinin yaninda tasindigindan dolayi en uzaktaki AS’e kadar tasinmaktadir. MED ise sadece komsuluk kurdugumuz AS’i etkilemektedir. Bu sekilde AS_PATH ile yapilacak seçilimlerde (ki ISP özellikle IP bloklariniz ile ilgili oynamadiysa bu asamada karar verecektir) yönlendirmeyi isteginize göre yapabilirsiniz. Ikincisi ise Community ile bagli oldugumuz ISPlere sinyallemek ile yapilir. Community degeri gönderilebilmesi için BGP konfigürasyonu altinda neighbor send-community bulunmasi gerekiyor. Community ile ilgili detaylardan bir baska yazimda bahsedecegim ancak genel olarak BGP Update içinde bulunan bir alan olarak düsünebilirsiniz. Karsi tarafta bu alan ile ilgili route-map altinda match ve set tanimi varsa sizin gönderdiginiz degere göre istediginiz BGP rotasini belirli degere set etmektedir. Örnegin;

ip prefix-list IP_BLOGU permit 1.1.1.0/24
route-map SET_COMMUNITY
match ip prefix-list IP_BLOGU
set community 12345:110

router bgp 54321
neighbor 3.3.3.1 remote-as 12345
neighbor 3.3.3.1 send-community
neighbor 3.3.3.1 route-map SET_COMMUNITY out

Bu tanimlar ile bizim tarafimizdaki routerdan gönderdigimiz 1.1.1.0/24 blogunda BGP Update içerisinde Community kisminda 12345:110 bulunacaktir.

ip community-list 1 permit 12345:110

route-map LOCAL_PREF_110
match community 1
set local-preference 110

router bgp 12345
neighbor 3.3.3.2 remote-as 54321
neighbor 3.3.3.2 route-map LOCAL_PREF in
Karsi tarafta da yukaridaki tanimlar bulunuyorsa 12345:110 ile gelen community degerinin anlami gönderdigim rotanin LP degerini 110 yap demek olacaktir. Bildiginiz üzere LP degeri AS içerisinde tasinir bu yüzden biz community ayari yapmadan (yada ISP ile iletisime geçmeden) bir sonraki AS’imizde rotamizin LP degerini belirleyemeyiz.

ip prefix-list IP_BLOGU permit 1.1.1.0/24
route-map AS_PATH_PREPEND permit
match ip prefix-list IP_BLOGU
set as-path prepend 54321 54321 54321(BGP AS NUMARASI,KAÇ TANE GIRILIRSE AS_PATH O KADAR UZATILIR)

router bgp 54321
neighbor 3.3.3.1 remote-as 12345
neighbor 3.3.3.1 route-map AS_PATH_PREPEND
AS_PATH_PREPEND de route-map ile set ve match kullanilarak yapilmaktadir. Genel olarak internetten gelis yönünde iki servis saglayiciya baglantimiz varsa bu metodun kullanimini sikça göreceksinizdir. Gelis olarak bize bir servis saglayicidan fazla trafik gelmesi isteniyorsa az gelmesi istenen servis saglayiciya dogru BGP rotamiz AS eklenerek gönderilir.

Return_Primary_ISP1
Örnek olarak GNS3 ‘de olusturudugum topolojide ISP3 den dönüsün öncelikli olarak ISP1 den olmasini saglamaya çalisalim.

eBGP komsuluklari kurulduktan sonra ISP3’de bulunan show ip bgp çiktisi asagidaki gibidir.

ISP3#sh ip bgp
BGP table version is 3, local router ID is 32.32.32.3
Status codes: s suppressed, d damped, h history, * valid, > best, i – internal,
r RIB-failure, S Stale
Origin codes: i – IGP, e – EGP, ? – incomplete

Network Next Hop Metric LocPrf Weight Path
*> 7.7.7.7/32 0.0.0.0 0 32768 i
* 193.193.193.0 31.31.31.1 0 12345 30000 i
*> 32.32.32.2 0 23456 30000 i
Görüldügü üzere suan dönüs 32.32.32.2 yani ISP2 üzerinden görünmektedir. Bunun nedeni GNS3’de önce kurmus oldugum BGP komsulugu ISP2 ile oldugundan.

ISP3#traceroute 193.193.193.4 numeric timeout 1 source loopback 0

Type escape sequence to abort.
Tracing the route to 193.193.193.4

1 32.32.32.2 4 msec 16 msec 8 msec
2 22.22.22.2 8 msec 20 msec 20 msec
3 193.193.193.4 [AS 30000] 24 msec 32 msec 28 msec
ISP3#
Router_As_Firewall2 olan cihazin 193.193.193.4 olan IP adresine trace atildiginda da görüldügü üzere paketler ISP2 üzerinden gitmektedir. ISP3 de yapilacak olan ISP1 yada ISP2 tercihini ISP3 ile haberlesmeden yapmamizin en kolay metodu AS_PATH’i uzatmaktadir. Bunun için ENT_INTERNET_ROUTER2’de yapacagimiz bir manipülasyon yeterli olacaktir.

ENT_INTERNET_ROUTER2(config)#ip prefix-list PREPEND seq 5 permit 193.193.193.0/24
ENT_INTERNET_ROUTER2(config)#route-map AS_PATH_PREPEND permit 10
ENT_INTERNET_ROUTER2(config-route-map)# match ip address prefix-list PREPEND
ENT_INTERNET_ROUTER2(config-route-map)# set as-path prepend 30000
ENT_INTERNET_ROUTER2(config-router)#router bgp 30000
ENT_INTERNET_ROUTER2(config-router)# no synchronization
ENT_INTERNET_ROUTER2(config-router)# bgp router-id 5.5.5.5
ENT_INTERNET_ROUTER2(config-router)# bgp log-neighbor-changes
ENT_INTERNET_ROUTER2(config-router)# network 193.193.193.0
ENT_INTERNET_ROUTER2(config-router)# neighbor 2.2.2.2 remote-as 30000
ENT_INTERNET_ROUTER2(config-router)# neighbor 2.2.2.2 update-source Loopback1
ENT_INTERNET_ROUTER2(config-router)# neighbor 2.2.2.2 next-hop-self
ENT_INTERNET_ROUTER2(config-router)# neighbor 22.22.22.1 remote-as 23456
ENT_INTERNET_ROUTER2(config-router)# neighbor 22.22.22.1 route-map AS_PATH_PREPEND out
ENT_INTERNET_ROUTER2(config-router)# no auto-summary

Bu islem yapilip clear ip bgp ile update yapildiktan sonra ISP3 de bulunan BGP tablosunda seçimin degistigini ve AS_PATH’e göre best seçilimi yapildigini göreceksiniz.

ISP3#sh ip bgp
BGP table version is 4, local router ID is 32.32.32.3
Status codes: s suppressed, d damped, h history, * valid, > best, i – internal,
r RIB-failure, S Stale
Origin codes: i – IGP, e – EGP, ? – incomplete

Network Next Hop Metric LocPrf Weight Path
*> 7.7.7.7/32 0.0.0.0 0 32768 i
* 193.193.193.0 32.32.32.2 0 23456 30000 30000 i
*> 31.31.31.1 0 12345 30000 i
Degisiklikten sonra ISP3 üzerinden trace atildiginda artik dönüs trafiginin ISP1 üzerinden geldigini görebilmekteyiz.

ISP3#traceroute 193.193.193.4 numeric timeout 1 source loopback 0

Type escape sequence to abort.
Tracing the route to 193.193.193.4

1 31.31.31.1 20 msec 4 msec 12 msec
2 11.11.11.2 8 msec 32 msec 28 msec
3 193.193.193.4 [AS 30000] 72 msec 52 msec 56 msec
ISP3#
Bu yazimda sizlere internette dönüs yönünde olan trafikte yapilabilecek manipülasyonlar ile ilgili bilgilendirme yapmaya çalistim. Bir sonraki yazimizda görüsmek üzere.

Hüseyin Efe Evyapan CCIE #53137

Kategoriler: NetworkRouting

0 yorum

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir