Bu makalede8 bölüm
- Teknoloji
- BGP-4, RPKI, IRR, RIPE NCC, Cisco IOS XE
- Konu
- Kendi AS ve IP bloğuyla çift operatörlü internet erişimi
- Seviye
- İleri
- Ön koşullar
- BGP temel kavramları
- İki ayrı operatörden internet hattı
Birincil hat düştü, çıkış ikinci operatöre geçti, kullanıcılar internete çıkıyor; ama web sitesi, VPN ağ geçidi ve müşteri portalı erişilemez. Sebep basit: yayınlanan servisler birinci operatörün verdiği IP adreslerinde duruyordu. İki operatörden hat almak tek başına operatör bağımsızlığı sağlamaz. Kendi AS numarası ve IP bloğuyla kurulan BGP multihoming yapısında aynı adresler iki operatör üzerinden birden duyurulur. Aşağıda bu yapıya geçerken izlenecek kayıt süreçlerini, rota seçeneklerini, trafik mühendisliği araçlarını ve filtreleri eksiksiz bir yapılandırma örneğiyle anlatıyoruz.
Ne zaman BGP multihoming gerekir?
İç kullanıcıların internete çıkışı için operatör IP’leriyle çift hat çoğu durumda yeterlidir; failover ve yük dengeleme mantığı çift internet hattı yazısında anlatılıyor. BGP multihoming şu durumlarda gündeme gelir:
- Dışarıya yayınlanan servisler (web, e-posta, VPN ağ geçidi, müşteri portalı, API) hat değişiminde IP ve DNS değişikliği olmadan erişilebilir kalmalıysa.
- Uzak lokasyonlar, iş ortakları veya bulut sağlayıcıları firewall kurallarında sizin IP adreslerinizi tanımlıyorsa ve bu adreslerin operatör değişiminden etkilenmemesi gerekiyorsa.
- Operatör değişikliği veya ek operatör alımı sırasında yeniden numaralandırma yükünden kaçınmak isteniyorsa.
Bedeli de var. Yönlendiricide BGP işletimi, kayıt veritabanlarının güncel tutulması ve rota güvenliği sorumluluğu kuruma geçer. Bu işi kimin yapacağı netleşmeden başlamayın. Sahipsiz BGP oturumu risktir.
AS numarası ve IP bloğu: RIR süreci
Türkiye, Avrupa ve Orta Doğu’nun bölgesel internet kayıt kuruluşu (RIR) RIPE NCC’dir. Kaynak almanın iki yolu var: RIPE NCC üyesi olup LIR (Local Internet Registry) olmak veya bir LIR’ın sponsorluğunda son kullanıcı olarak kaynak almak.
- AS numarası: Sponsor LIR aracılığıyla veya LIR olarak talep edilir. Talepte genellikle en az iki ayrı üst sağlayıcıyla bağlantı planı ve kendine özgü bir routing politikası beklenir. Bugün atanan numaralar çoğunlukla 32-bit ASN’dir; kullandığınız cihazların ve operatörlerin 32-bit ASN desteğini teyit edin.
- IPv6: Sponsor LIR üzerinden son kullanıcıya PI (Provider Independent) blok veya LIR olarak tahsis alınabilir. İnternette genel kabul gören en küçük duyurulabilir IPv6 öneki /48’dir.
- IPv4: RIPE NCC’nin serbest IPv4 havuzu tükendiği için yeni IPv4 PI ataması yapılmıyor. Seçenekler; LIR olarak bekleme listesinden veya transfer piyasasından blok edinmek ya da bir LIR’dan kiralamak. Genel kabul gören en küçük duyurulabilir IPv4 öneki /24’tür; daha küçük bloklar birçok ağ tarafından filtrelenir.
IRR kayıtları ve RPKI ROA
Operatörler, müşterilerinden kabul edecekleri önekleri İnternet Routing Registry (IRR) kayıtlarına ve RPKI doğrulamasına göre filtreler. Duyurudan önce iki kayıt hazır olmalı. Biri eksikse oturum kurulur, önek gitmez.
route / route6 nesnesi: RIPE veritabanında önek ile kaynak AS’yi eşleyen kayıttır. Örnek:
route: 198.51.100.0/24
descr: Kurum internet blogu
origin: AS64500
mnt-by: KURUM-MNT
source: RIPE
AS numarası için ayrıca aut-num nesnesi oluşturulur ve iletişim bilgileri (admin-c, tech-c) güncel tutulur. Bazı operatörler filtrelerini kurmak için bir as-set veya yalnızca AS numarası ister; bunu operatörle önceden netleştirin. Operatörün IRR’den filtre üretme sıklığını da sorun: kaydı bugün açtınız diye filtre bugün güncellenmeyebilir.
ROA: RPKI içinde, bir önekin hangi AS tarafından duyurulmaya yetkili olduğunu kriptografik olarak belirten kayıttır. RIPE NCC’nin barındırılan RPKI hizmetinde kaynak sahibi oluşturur. ROA’yı yalnızca gerçekten duyurduğunuz önek uzunluğu için oluşturun; maxLength değerini geniş tutmak, RFC 9319’da açıklandığı gibi önek ele geçirme saldırılarına karşı korumayı zayıflatır. RPKI doğrulaması yapan ağlar bir duyuruyu “valid”, “invalid” veya “not found” olarak sınıflandırır; “invalid” duyurular giderek daha fazla ağ tarafından reddedilir. Hatalı ROA, duyurunuzu internetin bir kısmından siler. Sahada bunun tipik belirtisi, sitenin bazı operatörlerden açılıp bazılarından açılmamasıdır; ilk bakılacak yer RPKI durumudur.
Operatörden alınacak rotalar: default, partial, full
| Seçenek | Ne alınır? | Kullanım | Yönlendirici yükü |
|---|---|---|---|
| Default | Yalnız 0.0.0.0/0 | Basit aktif-yedek veya ağırlıklı çıkış | Düşük |
| Partial | Default + operatörün kendi ve müşteri önekleri | O operatördeki hedeflere doğrudan çıkış | Orta |
| Full | Tüm internet rota tablosu | Hedef bazında en iyi çıkış seçimi | Yüksek; bellek ve CPU kontrol edilmeli |
Kurumsal ağlarda en sık kullanılan seçenek, iki operatörden de default (veya default + partial) almaktır. Tam tablo IPv4 tarafında milyon mertebesinde önek içerir ve büyümeye devam eder; iki tam tabloyu tutacak yönlendiricinin bellek kapasitesini üreticinin donanım belgelerinden doğrulayın. Firewall cihazlarında tam tablo almak genellikle önerilmez. Tablo büyür, donanım büyümez.
Giden trafik: local-preference
Kurumdan dışarı çıkan trafiğin hangi operatörü kullanacağı tamamen sizin kontrolünüzdedir. Ana araç local-preference özniteliğidir: aynı hedefe birden fazla yol varsa yüksek local-preference değerli yol seçilir ve bu değer iBGP ile kurum içindeki diğer BGP yönlendiricilerine taşınır. Örneğin birincil operatörden gelen rotalara 200, ikincilden gelenlere 100 atanırsa normal durumda tüm çıkış birincil hattan yapılır; birincil BGP oturumu düştüğünde rotalar geri çekilir ve trafik ikincile geçer. Partial tablo alındığında, ikincil operatörün kendi müşterilerine giden trafiği o operatörden çıkarmak için yalnız bu öneklere daha yüksek değer verilebilir.
Dikkat edilecek nokta, oturumun düşmesi ile hattın bozulmasının aynı şey olmamasıdır. Hat paket kaybediyor ama BGP keepalive’ları geçiyorsa oturum ayakta kalır ve trafik bozuk hatta akmaya devam eder. BFD destekleniyorsa operatörle birlikte açmak, arıza tespit süresini BGP zamanlayıcılarına bırakmamanızı sağlar.
Gelen trafik: AS-path prepend ve topluluklar
Gelen trafik, diğer ağların sizin duyurunuzu nasıl değerlendirdiğine bağlıdır; kontrol dolaylıdır. Kullanılabilecek araçlar:
- AS-path prepend: İkincil operatöre yapılan duyuruya AS numaranızı birkaç kez ekleyerek bu yolun daha uzun görünmesi sağlanır. Dış ağlar local-preference ile kendi tercihlerini öne alabileceği için etkisi kısmidir.
- BGP community: Operatörlerin çoğu, müşterinin duyuruya ekleyeceği community değerlerine göre kendi ağlarında local-preference’ı düşürme veya belirli komşulara duyurmama gibi davranışlar sunar. Değerler operatöre özeldir; operatörün müşteri dokümanından alın. RFC 1997’deki NO_EXPORT gibi iyi bilinen community’ler de vardır.
- MED: Yalnız aynı operatöre birden fazla bağlantı olduğunda, o operatörün hangi bağlantıyı tercih edeceğini etkiler; farklı operatörler arasında işe yaramaz.
- Daha spesifik önek: /23 bloğa sahipseniz /23’ü her iki operatöre, /24’lerden birini yalnız A’ya, diğerini yalnız B’ye duyurarak gelen trafiği önek bazında bölebilirsiniz; bir operatör düştüğünde /23 duyurusu yedek yol olarak kalır. Tek bir /24 ile bu yöntem kullanılamaz, çünkü /24’ten daha spesifik önekler internette genellikle filtrelenir. ROA kayıtları hem /23 hem /24 duyurularını kapsayacak şekilde (ayrı ROA’larla veya maxLength 24 ile) oluşturulmalı.
Gelen trafiği tahmin etmeyin, ölçün. Prepend’in sayısını artırmak çoğu zaman beklenen etkiyi vermez; community genellikle daha belirleyicidir.
Prefix filtreleri ve örnek yapılandırma
Kuralların en önemlisi şudur: kurum transit AS’ye dönüşmemeli. Bir operatörden öğrenilen rotalar diğerine kesinlikle duyurulmaz. Bunun için çıkış yönünde yalnız kendi önekinize izin veren filtre ile yalnızca kendi AS’nizden kaynaklanan yolları geçiren AS-path filtresi birlikte kullanılır. RFC 7454 (BGP operasyonları ve güvenliği) bu filtreleri ayrıntılı tarif eder. Yeni yazılım sürümlerinin bir kısmı, RFC 8212 doğrultusunda politika tanımlanmamış eBGP oturumlarında rota alıp vermez; yine de bu davranışa güvenmeyin, filtreleri açıkça yazın. Filtresiz eBGP oturumu, başkasının arızasını sizin arızanız yapar.
Aşağıdaki örnek Cisco IOS XE sözdizimindedir; AS numaraları ve adresler dokümantasyon için ayrılmış aralıklardan seçildi (kurum AS64500, operatörler AS64501 ve AS64502).
ip route 198.51.100.0 255.255.255.0 Null0
!
ip prefix-list OWN-OUT seq 10 permit 198.51.100.0/24
ip prefix-list DEFAULT-IN seq 10 permit 0.0.0.0/0
ip as-path access-list 10 permit ^$
!
route-map ISP-A-IN permit 10
match ip address prefix-list DEFAULT-IN
set local-preference 200
route-map ISP-B-IN permit 10
match ip address prefix-list DEFAULT-IN
set local-preference 100
!
route-map ISP-A-OUT permit 10
match ip address prefix-list OWN-OUT
match as-path 10
route-map ISP-B-OUT permit 10
match ip address prefix-list OWN-OUT
match as-path 10
set as-path prepend 64500 64500
!
router bgp 64500
bgp log-neighbor-changes
neighbor 203.0.113.1 remote-as 64501
neighbor 203.0.113.1 description ISP-A
neighbor 192.0.2.1 remote-as 64502
neighbor 192.0.2.1 description ISP-B
address-family ipv4
network 198.51.100.0 mask 255.255.255.0
neighbor 203.0.113.1 activate
neighbor 203.0.113.1 route-map ISP-A-IN in
neighbor 203.0.113.1 route-map ISP-A-OUT out
neighbor 203.0.113.1 maximum-prefix 100
neighbor 192.0.2.1 activate
neighbor 192.0.2.1 route-map ISP-B-IN in
neighbor 192.0.2.1 route-map ISP-B-OUT out
neighbor 192.0.2.1 maximum-prefix 100
Null0’a giden statik rota, network komutunun öneki her zaman duyurabilmesi için gereklidir; iç ağdaki daha spesifik rotalar trafiği doğru hedefe taşımaya devam eder. Route-map’lerin sonunda açık bir “permit” olmadığı için eşleşmeyen her şey reddedilir. maximum-prefix, operatör tarafında bir hata olup size beklenmedik sayıda rota gönderildiğinde oturumu düşürerek yönlendiriciyi korur. İki ayrı yönlendirici kullanılıyorsa aralarında iBGP oturumu (genellikle next-hop-self ile) kurulur ve LAN tarafında VRRP veya HSRP ile tek ağ geçidi sunulur. Kendi bloğunuzun içeride NAT havuzu ve yayınlanan servislerle nasıl kullanılacağı kurumsal NAT tasarımı yazısında anlatılıyor.
Doğrulama
show ip bgp summary: oturumların durumu ve alınan önek sayısı.show ip bgp neighbors 192.0.2.1 advertised-routes: her operatöre yalnız kendi önekinizin gittiğinin kontrolü. Devreye almada atlanmaması gereken tek komut budur.show ip bgp 0.0.0.0: seçilen default rotanın local-preference değeri.- Dış görünüm: operatörlerin looking glass sayfaları ve RIPEstat üzerinden duyurunun her iki yoldan görülmesi ve RPKI durumunun “valid” olması.
- Failover testi: planlı bir bakım penceresinde birincil oturum kapatılarak giden ve gelen trafiğin ikincil hatta geçiş süresi ölçülür. Hat kalitesinin sürekli izlenmesi için WAN SLA ölçümü yazısına bakabilirsiniz.
Test edilmemiş failover, varsayımdır. Operatör koordinasyonu ve hat tarafı için internet hat yönetimi, adresleme ve BGP mimarisinin planlanması için kurumsal network danışmanlığı sayfalarına bakabilirsiniz.
Sık sorulan sorular
Kendi IP bloğum olmadan iki operatörle BGP kurabilir miyim?
Operatör A’nın verdiği IP bloğunu operatör B üzerinden duyurmak, ancak A’nın açık izni ve IRR ile ROA kayıtlarının buna göre düzenlenmesiyle mümkündür; operatör değiştiğinde bloğu kaybedersiniz. Kalıcı ve operatörden bağımsız bir yapı için kendi AS numaranız ve kendi adınıza kayıtlı ya da kayıt sahibinin yetkilendirdiği bir IP bloğu gerekir.
Tam internet rota tablosu almak gerekli mi?
Çoğu kurumsal senaryoda gerekli değil. İki operatörden yalnız default rota almak veya default rotaya ek olarak operatörlerin kendi ve müşteri rotalarını almak yeterli yük dağılımı sağlar. Tam tablo, çıkış yolunu hedef bazında optimize etmek istediğinizde ve yönlendiricinizin belleği iki tam tabloya yetiyorsa anlamlıdır.
AS-path prepend gelen trafiği tamamen yönlendirir mi?
Hayır. Prepend yalnızca AS yolu uzunluğunu etkiler; diğer ağlar kendi local-preference politikalarıyla bu tercihi geçersiz kılabilir. Gelen trafik üzerinde daha belirleyici kontrol için operatörün sunduğu BGP community değerlerini kullanın; sonuç yine dış ağların politikalarına bağlıdır ve ölçülerek doğrulanmalıdır.
ROA’da maxLength değeri nasıl ayarlanmalı?
ROA’yı duyurduğunuz önek uzunluğuyla birebir oluşturun, maxLength’i gereğinden geniş tutmayın. Örneğin yalnız /24 duyuruyorsanız maxLength 24 olmalı. Geniş bir maxLength, aynı AS kaynaklıymış gibi gösterilen daha spesifik sahte duyurulara karşı korumayı zayıflatır.
- Teknoloji
- BGP-4, RPKI, IRR, RIPE NCC, Cisco IOS XE
- Konu
- Kendi AS ve IP bloğuyla çift operatörlü internet erişimi
- Seviye
- İleri
- Ön koşullar
- BGP temel kavramları
- İki ayrı operatörden internet hattı
WAN ve İnternet