· 6 dk okuma

VDS Üzerinden BGP ile IP Bloğu Anons Etme: Adım Adım

Bir VDS üzerinden kendi IP bloğunu BGP ile anons etmek, doğru sırayla yapıldığında birkaç saatlik bir iştir. Sırayı şaşırınca günlerce "oturum neden Established ama rota internette görünmüyor?" diye uğraşırsınız. Bu rehberde elinizde yalnızca bir ASN ve bir IP bloğu varken, VDS üzerinde çalışan bir BGP oturumuyla bloğunuzu yayına almaya kadar gereken adımları sırasıyla anlatıyoruz: kayıtlar (IRR, RPKI), sunucu hazırlığı, BIRD yapılandırması, doğrulama ve sık yapılan hatalar.

Bu yazıdaki tüm ASN ve IP adresleri belgeleme amaçlı örnek değerlerdir: AS64496 (sizin ASN'iniz), 198.51.100.0/24 (sizin bloğunuz), 192.0.2.1 (karşı taraftaki BGP komşusu için yer tutucu) ve 2001:db8::/32 aralığı. Gerçek komşu adresi ve oturum bilgilerini hizmeti oluştururken alacağınız bilgilerden kullanın.

Başlamadan önce: neye ihtiyacınız var?

Sıralama önemlidir: önce kayıtlar, sonra oturum. Çünkü sahiplik doğrulaması kayıtlara bakarak yapılır; kayıtlar hazır değilse oturum kurulsa bile anons kabul edilmeyebilir.

Adım 1: ASN ve prefix kaydının sizin adınıza olduğunu doğrulayın

RIR veritabanında aut-num (ASN) ve inetnum/inet6num (blok) nesnelerinin kime ait olduğuna bakın. İletişim bilgilerinin güncel olması, ileride doğrulama sürecinde işinizi kolaylaştırır.

whois -h whois.ripe.net AS64496
whois -h whois.ripe.net 198.51.100.0/24

Blok bir başkasından kiralanmışsa, kayıtlarda sizin (veya kiraya verenin yetkilendirdiği) bir maintainer'ın bulunduğundan emin olun. Sahiplik zinciri belirsiz bir blok, doğrulamada sorun çıkarır.

Adım 2: IRR route objesini oluşturun

IRR route (IPv6 için route6) objesi, "bu prefix'i şu ASN anons etmeye yetkilidir" bilgisini taşır. Birçok operatör, prefix filtrelerini bu kayıtlardan üretir.

route:   198.51.100.0/24
descr:   Ornek IPv4 blogu
origin:  AS64496
mnt-by:  MAINT-AS64496
source:  RIPE

IPv6 için aynı mantıkla:

route6:  2001:db8:1::/48
origin:  AS64496
mnt-by:  MAINT-AS64496
source:  RIPE

source alanı bloğunuzun kayıtlı olduğu registry'ye göre değişir. Kaydı oluşturduktan sonra whois ile geri okuyup origin değerinin doğru ASN olduğunu kontrol edin.

Adım 3: RPKI ROA oluşturun

ROA (Route Origin Authorization), prefix'in hangi ASN tarafından, en fazla hangi uzunlukta anons edilebileceğini kriptografik olarak imzalar. RPKI doğrulaması yapan ağlar, ROA'ya uymayan anonsları geçersiz sayıp düşürebilir.

Alan Örnek değer
Prefix 198.51.100.0/24
Origin ASN AS64496
maxLength 24

maxLength değerini anons edeceğiniz en uzun prefix'e eşitleyin. /24'ü anons edip ROA'da maxLength 24 bırakmak en güvenli seçimdir; gereksiz geniş maxLength, sahte alt-prefix anonslarına kapı aralar. IPv6 için /48 blok anons ediyorsanız maxLength 48 kullanın.

ROA'nın yayılması dakikalar ile saatler arasında sürebilir. Anonstan önce RPKI durumunun "valid" göründüğünü bir doğrulayıcıyla kontrol edin.

Adım 4: Nixcon tarafında BGP oturumunu talep edin

Nixcon'un BGP destekli VDS hizmetinde müşteri, kendi ASN'ini ve IP bloğunu VDS'teki BGP oturumundan anons eder. Talep sırasında üç seçenekten birini belirlersiniz:

  1. DDoS korumasız BGP anonsu
  2. DDoS korumalı BGP anonsu
  3. Full routing table: Seçilmezse oturumda yalnızca Nixcon rotalarını alırsınız.

ASN ve prefix sahipliği, RPKI ROA ve resmi RIR/IRR kayıtlarıyla otomatik doğrulanır; doğrulama geçildiğinde ASN'iniz AS-NIXCON AS-SET'ine eklenir ve kurulum otomatik ilerler. Bu yüzden 2. ve 3. adımları önceden tamamlamış olmanız süreci doğrudan hızlandırır. Oturum için komşu adresi gibi parametreleri hizmet kurulduktan sonra elinizdeki bilgilerden alın.

Adım 5: VDS'i hazırlayın

Önce bloğunuzdan bir adresi sunucuda kullanılabilir hale getirin. Anons edilen prefix'in sunucunun üzerinde bir yere "bağlanması" gerekir; basit bir yöntem dummy arayüzdür:

sudo ip link add dummy0 type dummy
sudo ip addr add 198.51.100.1/32 dev dummy0
sudo ip link set dummy0 up

Bu ayar yeniden başlatmada kaybolur; kalıcı hale getirmek için netplan, systemd-networkd veya kullandığınız dağıtımın ağ yapılandırmasını kullanın. Sonra BIRD'i kurun (Debian/Ubuntu örneği):

sudo apt update
sudo apt install bird2

Adım 6: BIRD yapılandırması

Aşağıdaki /etc/bird/bird.conf örneği, tek bir /24'ü anons eden ve yalnızca bunu dışarı veren minimal bir IPv4 oturumudur. 192.0.2.1 yer tutucudur; kendi komşu adresinizle değiştirin.

log syslog all;
router id 192.0.2.2;   # VDS'in kendi IPv4 adresi (örnek)

define MY_ASN  = 64496;
define NIX_ASN = 40368;

protocol device { }

protocol static announce4 {
    ipv4;
    route 198.51.100.0/24 blackhole;
}

filter export_mine {
    if net = 198.51.100.0/24 then accept;
    reject;
}

filter import_nix {
    # Kendi prefix'imizi geri kabul etme
    if net ~ [ 198.51.100.0/24+ ] then reject;
    accept;
}

protocol bgp nixcon {
    local as MY_ASN;
    neighbor 192.0.2.1 as NIX_ASN;
    ipv4 {
        import filter import_nix;
        export filter export_mine;
    };
}

Burada iki önemli nokta var. Birincisi, export filtresi "sadece benim prefix'im" kuralıyla yazılmıştır; böylece yanlışlıkla başkasının rotasını dışarı sızdırmazsınız. İkincisi, blackhole statik rotası sadece BIRD'ün anonsu üretmesini sağlar, kernel tablosuna yazılmaz. Gerçek trafiğin sunucuya ulaşması dummy arayüzdeki adres sayesindedir.

IPv6 için aynı yapıyı protocol static announce6 { ipv6; route 2001:db8:1::/48 blackhole; } ve ipv6 { ... } kanalıyla kurarsınız. Yapılandırmayı uygulamak için:

sudo birdc configure check
sudo birdc configure

Adım 7: Oturumu ve anonsu doğrulayın

Önce yerel tarafa bakın:

sudo birdc show protocols
sudo birdc show route export nixcon
sudo birdc show protocols all nixcon

Beklenen: nixcon protokolü Established durumunda ve export listesinde sadece 198.51.100.0/24 görünüyor. Sonra dışarıdan bakın. Nixcon'un herkese açık looking glass sayfasında İzmir, Frankfurt ve ABD lokasyonlarından BGP rota, ping ve traceroute sorguları yapabilirsiniz. Prefix'inizi sorgulayıp AS path'in AS64496 ile bittiğini görmeniz, anonsun yayıldığının en pratik kanıtıdır. Ardından bloğunuzdan bir adrese traceroute ile trafiğin VDS'e indiğini de doğrulayın.

Yaygın hatalar

Oturum Established ama prefix görünmüyor. Çoğunlukla export filtresi prefix'i eşleştirmiyordur ya da statik rota tanımlı değildir. show route export çıktısı boşsa buraya bakın.

IRR route objesindeki origin yanlış. origin farklı bir ASN'i gösteriyorsa, kayıtlara bakarak filtre üreten ağlar anonsunuzu reddeder. Kaydı oluşturduktan sonra geri okuyun.

ROA maxLength çok dar veya çok geniş. /24 anons edip ROA'yı /23 maxLength 23 ile açmak veya tersi, "invalid" sonucuna yol açabilir. Prefix uzunluğu, ROA ve gerçek anons birbiriyle birebir tutarlı olmalı.

/24'ten küçük blok anons etmek. IPv4'te /25 ve daha küçük prefix'ler genel internette kabul görmez; IPv6'da /48'den küçükler de aynı kaderi paylaşır.

Kayıtların yayılmasını beklememek. IRR ve ROA değişiklikleri anında her yerde görünmez. Kayıtları açtıktan hemen sonra oturum talep edip hata ararsanız zaman kaybedersiniz.

Dummy arayüz kalıcı değil. Sunucu yeniden başlayınca adres kaybolur, anons sürer ama trafik cevapsız kalır. Ağ yapılandırmasını kalıcı yapın.

Güvenlik duvarı BGP'yi kesiyor. TCP 179 trafiğine izin verilmediğinde oturum Active/Connect arasında döner. iptables/nftables kurallarını kontrol edin.

DDoS koruması ve alternatifler

Bloğunuz saldırı alıyorsa DDoS korumalı BGP anonsu seçeneğini değerlendirin; ayrıntılar için DDoS koruma ve firewall sayfasına bakabilirsiniz. Bloğunuz başka bir yerde barınıyorsa ve sadece temiz trafiğe ihtiyacınız varsa, NixGuard Edge ile GRE tüneli üzerinden DDoS korumalı trafik almak da mümkündür. Trafiği izlemek ve saldırıyı erken görmek için NixMon flow tabanlı izleme sunar.

Özet kontrol listesi

  1. ASN ve blok kaydı sizin adınıza mı?
  2. IRR route/route6 objesi doğru origin ile var mı?
  3. ROA prefix, ASN ve maxLength ile tutarlı mı?
  4. BGP oturumu talep edildi ve doğrulama geçti mi?
  5. Dummy arayüz ve BIRD yapılandırması hazır mı?
  6. Looking glass'ta prefix AS path'i doğru görünüyor mu?

Bu altı maddeyi sırayla geçtiyseniz, bloğunuz VDS'inizden yayında demektir.

Sık sorulan sorular

VDS üzerinden BGP ile hangi boyutta IP bloğu anons edebilirim?

Genel internette IPv4 için en küçük kabul gören anons boyutu /24, IPv6 için /48'dir. Bunlardan küçük prefix'ler çoğu ağda filtrelendiği için anons etmek mantıklı değildir.

RPKI ROA olmadan BGP anonsu yapabilir miyim?

Teknik olarak oturum açılabilir, ancak Nixcon'da ASN ve prefix sahipliği RPKI ROA ve RIR/IRR kayıtlarıyla otomatik doğrulanır. ROA ve IRR kayıtlarını önceden hazırlamak hem kurulumu hızlandırır hem de anonsunuzun başka ağlarda reddedilme riskini azaltır.

Sadece Nixcon rotalarını mı yoksa full routing table mı almalıyım?

Bu, ihtiyacınıza bağlıdır. Full routing table seçilmezse oturumda yalnızca Nixcon rotaları gelir. Kendi yönlendirme politikanızı uygulamak veya tüm tabloyu görmek istiyorsanız full table seçeneğini talep edebilirsiniz; bunun için daha güçlü bir sunucu kaynağı planlamanız gerekir.

Anonsumun yayıldığını nasıl doğrularım?

Yerelde birdc show protocols ve show route export komutlarına bakın. Dışarıdan ise Nixcon'un herkese açık looking glass sayfasında (lg.nixcon.com.tr) prefix'inizi sorgulayıp AS path'in sizin ASN'inizle bittiğini kontrol edin.

BGP destekli VDS seçeneklerini inceleyin, bloğunuzu anons edin.İncele