MikroTik RouterOS ile BGP Kurulumu ve Yönetimi: Temelden İleri Seviyeye
BGP protokolünün RouterOS üzerindeki yapılandırılması, avantajları ve kullanım senaryoları hakkında kapsamlı rehber
Tanıtım
Giriş
BGP (Border Gateway Protocol), internet altyapısının temelini oluşturan ve farklı Autonomous System (AS)'ler arasında dinamik yönlendirme sağlayan bir protokoldür. MikroTik RouterOS, RouterBOARD cihazları üzerinden BGP'yi destekleyerek, büyük ölçekli ağlarda stabil ve güvenilir bir yönlendirme çözümü sunar.
Bu protokol, AS'ler arası (Inter-AS) iletişim için tasarlanmış olup, multi-homing (birden fazla upstream bağlantısı) senaryolarında da yaygın olarak kullanılır. BGP, topoloji bilgisi değil, sadece ulaşılabilirlik bilgisi (NLRI - Network Layer Reachability Information) paylaşır. Bu sayede, internetin karmaşık yapısına uyum sağlar ve politik yönlendirme kuralları uygulama imkanı sunar.
MikroTik RouterOS üzerinde BGP yapılandırması, özellikle AS numarası (ASN) yönetimi, komşuluk ilişkileri (peering) ve route reflector (RR) kullanımı gibi konularda dikkat gerektirir. Bu rehberde, BGP’nin temel prensiplerinden başlayarak, RouterOS üzerindeki yapılandırma adımlarına kadar tüm detayları bulabilirsiniz.
Teknik Özellikler
BGP Parametreleri ve Seçenekleri
Aşağıdaki tablo, MikroTik RouterOS üzerinde BGP yapılandırmasında kullanılan temel parametreleri ve seçenekleri açıklamaktadır:
| Parametre | Açıklama | Örnek Değer |
|---|---|---|
| name | BGP peer’e verilen tanımlayıcı isim. | ISP1 |
| remote.address | Uzak BGP peer’in IP adresi. | 192.168.1.1 |
| remote.as | Uzak peer’in AS numarası. | 65001 |
| local.address | Yerel arayüzün IP adresi (loopback veya uplink). | 192.168.1.2 |
| local.as | Yerel AS numarası. | 65002 |
| client | Peer’in Route Reflector (RR) client’ı olup olmadığını belirtir. (yes/no). | yes |
| tcp-md5-key | TCP MD5 doğrulama anahtarı (güvenlik için). | securepassword |
| bgp-communities | BGP topluluğu (community) eklemek için kullanılır. | 65001:100 |
| nexthop | BGP güncellemesinde kullanılacak next-hop adresi. | 192.168.1.2 |
| route-reflector | Peer’in Route Reflector olarak yapılandırılması. | yes |
| hold-time | BGP oturumunun kapatılması için beklenen süre (saniye). | 180 |
| keepalive-time | Keepalive mesajlarının gönderilme sıklığı (saniye). | 60 |
| multihop | Farklı alt ağlarda bulunan peer’ler için çoklu atlama (multihop) kullanımı. | yes |
| update-source | BGP güncellemelerinin hangi arayüzden gönderileceği. | loopback |
| as-override | Uzak peer’in AS numarasının yerel AS numarasıyla değiştirilmesi. | yes |
| remove-private-as | Private AS numaralarının BGP güncellemelerinden kaldırılması. | yes |
| prefix-limit | BGP peer’den kabul edilecek maksimum prefix sayısı. | 100 |
| in-filter | Gelen BGP güncellemelerini filtrelemek için kullanılan zincir adı. | BGP_IN |
| out-filter | Giden BGP güncellemelerini filtrelemek için kullanılan zincir adı. | BGP_OUT |
RFC Standartları ve Desteklenen Özellikler
MikroTik RouterOS, aşağıdaki BGP standartlarını ve genişletilmiş özellikleri destekler:
| RFC Numarası | Açıklama |
|---|---|
| RFC 4271 | BGP-4 (Border Gateway Protocol 4) temel standardı. |
| RFC 4456 | BGP Route Reflection (RR) mekanizması. |
| RFC 5065 | BGP için Autonomous System Confederations (AS konfederasyonları). |
| RFC 1997 | BGP Communities Attribute (topluluklar). |
| RFC 8092 | BGP Large Communities (büyük topluluklar). |
| RFC 4360 | BGP Extended Communities (genişletilmiş topluluklar). |
| RFC 2385 | TCP MD5 Authentication for BGPv4 (güvenlik). |
| RFC 5492 | BGP-4 için yeteneklerin ilanı. |
| RFC 2918 | Route Refresh Capability (yönlendirme yenileme yeteneği). |
| RFC 4760 | BGP-4 için Multiprotocol Extensions (IPv6 ve diğer protokoller için destek). |
| RFC 4893 | 4-byte AS Number Space (4-byte AS numarası desteği). |
| RFC 4364 | BGP/MPLS IP VPN (VPN yönlendirmesi için). |
| RFC 4761 | VPLS (Virtual Private LAN Service) için BGP kullanımı. |
BGP Terminolojisi
| Terim | Açıklama |
|---|---|
| AS (Autonomous System) | İnternet üzerinde bağımsız olarak yönetilen ağ bloğu. |
| ASN (Autonomous System Number) | AS’yi tanımlayan 16-bit veya 32-bit numara. |
| NLRI (Network Layer Reachability Information) | BGP tarafından paylaşılan ulaşılabilirlik bilgisi (prefix’ler). |
| IGP (Interior Gateway Protocol) | Aynı AS içinde kullanılan yönlendirme protokolü (OSPF, EIGRP, RIP). |
| EGP (Exterior Gateway Protocol) | Farklı AS’ler arasında kullanılan yönlendirme protokolü (BGP). |
| Route Reflector (RR) | BGP mesh gereksinimini ortadan kaldıran ve yönlendirme bilgilerini dağıtan cihaz. |
| Route Server | Yönlendirme bilgilerini dağıtan ancak trafik iletmeyen BGP sunucusu. |
| Loopback Address | /32 adres olarak yapılandırılan sanal arayüz (genellikle BGP oturumları için kullanılır). |
Teknik Detaylar
Teknik Detaylar
BGP’nin Temel Çalışma Prensipleri
BGP, path-vector algoritmasına dayalı bir protokoldur ve TCP port 179 üzerinden iletişim kurar. Temel olarak üç ana bileşenden oluşur:
- Açılış (Open) Mesajı: BGP oturumunun başlatılması için kullanılır. AS numarası, BGP versiyonu ve diğer yetenekler bu mesajda paylaşılır.
- Güncelleme (Update) Mesajı: Yönlendirme bilgilerinin (prefix’ler) paylaşılması için kullanılır.
- Canlı Tutma (Keepalive) Mesajı: BGP oturumunun aktif olduğunu doğrulamak için gönderilir.
MikroTik RouterOS Üzerinde BGP Yapılandırılması
1. BGP Oturumunun Oluşturulması
/routing bgp peer add name=ISP1 remote.address=192.168.1.1 remote.as=65001 local.address=192.168.1.2 local.as=65002
name: Komşuluk ilişkisine verilen tanımlayıcı isim.remote.address: Uzak BGP peer’in IP adresi.remote.as: Uzak peer’in AS numarası.local.address: Yerel arayüzün IP adresi (genellikle loopback veya uplink arayüzü).local.as: Yerel AS numarası.
2. BGP Route Advertisement (Prefix Paylaşımı)
/routing bgp network add network=192.168.100.0/24
Bu komut, yerel ağınızın (192.168.100.0/24) BGP üzerinden yayınlanmasını sağlar.
3. Route Reflector (RR) Kullanımı
BGP’de full mesh gereksinimini ortadan kaldırmak için Route Reflector kullanılır. MikroTik RouterOS üzerinde RR yapılandırması:
/routing bgp peer add name=RR_CLIENT remote.address=192.168.2.2 remote.as=65002 local.address=192.168.1.2 local.as=65002 client=yes
client=yes: Bu peer’in bir client olduğunu belirtir (RR tarafından yönlendirme bilgileri yayınlanır).
4. BGP Toplulukları (Communities) ve Filtreleme
BGP communities, yönlendirme politikalarını yönetmek için kullanılır. Örneğin, belirli bir prefix’e özel bir community eklemek:
/routing bgp network add network=192.168.200.0/24 bgp-communities=65001:100
Filtreleme için prefix-list ve route-map kullanımı:
/routing filter add chain=BGP_IN rule="bgp-communities=65001:100" action=accept
Dikkat Edilmesi Gerekenler
- AS Numarası (ASN): MikroTik RouterOS, 2-byte (16-bit) ve 4-byte (32-bit) AS numaralarını destekler. RFC 4893’e uygun olarak yapılandırılmalıdır.
- TCP MD5 Doğrulaması: Güvenlik için TCP MD5 doğrulaması kullanılabilir:
/routing bgp peer set [find name=ISP1] tcp-md5-key=securepassword
- SMIPS Cihazları: hAP lite, hAP lite TC, hAP mini gibi cihazlarda BGP desteklenmez.
- MPLS ve VPN Desteği: MikroTik RouterOS, RFC 4364 (BGP/MPLS VPN) ve RFC 4761 (VPLS) gibi genişletilmiş özellikleri destekler.
CLI Komutları ve Yönetim
- BGP durumunu kontrol etmek:
/routing bgp peer print
- BGP tablosunu görüntülemek:
/ip route print where bgp
- BGP oturumunu sıfırlamak:
/routing bgp peer reset [find name=ISP1] Görseller