Kurumsal Network Kurulumu

FortiGate Firewall Statik Rota Yapılandırması

FortiGate Firewall statik rota yapılandırması: varsayılan rota, mesafe ve öncelik, ağ geçidinin ötesini yoklayan hat izleme, iki hatta geçerli kurallar ve kara delik rotası.

İlker Pehlivan

FortiGate Firewall statik rota yapılandırması, FortiGate’e hangi ağa hangi ağ geçidi üzerinden gideceğini elle söylemektir ve Network → Static Routes ekranında yapılır. En önemli statik rota varsayılan rotadır: tabloda karşılığı olmayan her adres ona gider, çoğu kurumda da internet demektir.

Fortinet’in ve RFC 1918’in tarif ettiği düzende ikinci hattın rotası daha büyük mesafeyle bekler, birincil hattı ağ geçidinin ötesini yoklayan bir hat izleyici denetler ve kurumun özel adres aralıkları için kara delik rotaları yazılır.

Bu yazı FortiGate Firewall yapılandırma rehberimizin 12. adımıdır. Lab’da iki şey beklenenden farklı çıktı: ağ geçidini yoklayan izleme, ağ geçidinin ötesindeki kopukluğu görmedi; yedek hatta geçen rota da kural yazılmadıkça trafik taşımadı.

Örnekteki sınır kapısının çıkışında yol ikiye ayrılır: ana yol ve yedek yol. Ana yolun ilk köprüsü ayakta olsa da ötesindeki yol çökebilir; kapıdan bakınca her şey yolunda görünür. Tabela ancak yolun sonunu gözleyen biri varsa yedeğe çevrilir. FortiGate’te yollar iki varsayılan rota, ilk köprü ağ geçidi, yolun sonu servis sağlayıcının ötesindeki adresler, gözleyen görevli de bağlantı izleyicisidir (link monitor).

Bu yazı, Kurumsal Network Kurulumu hizmetimizde iki hatlı kurumlarda firewall tarafında kurduğumuz yedeklilik düzenini anlatır.

FortiGate Firewall statik rota benzetmesi: sınır kapısının çıkışında yol ikiye ayrılıyor, uzaktaki köprü çökmüş, dürbünle bakan görevli yön tabelasını yedek yola çeviriyor
Uzaktaki kırık köprü kapıdan açık görünür. Tabela yedek yola ancak yolun ucunu gözleyen biri varsa çevrilir. FortiGate'te de ağ geçidi ötede sustuğunda rota, bir bağlantı izleyicisi yoklamadıkça yerinde kalır.

FortiGate’te Statik Rota Nedir? Varsayılan Rota Yokken Ne Olur?

Tablonun kendisini, yani satırların nasıl seçildiğini yönlendirme tablosu nedir yazımızda anlattık. Lab cihazımın tablosunda varsayılan rota yokken yalnız bağlı ağlar (C satırları) ve iki lab rotası vardı. Tabloda karşılığı olmayan bir adrese, servis sağlayıcının ötesindeki 198.18.0.1’e FortiGate’in kendisinden ping attım:

FortiGate CLI Çıktısı
PING 198.18.0.1 (198.18.0.1): 56 data bytes
sendto failed
sendto failed
--- 198.18.0.1 ping statistics ---
2 packets transmitted, 0 packets received, 100% packet loss

sendto failed, paketin FortiGate’ten hiç çıkmadığını söylüyor; göndereceği yer tabloda yoktu. Bir kural izin verse bile durum aynı olurdu: yönlendirme kuraldan önce gelir.

FortiGate’te Statik Rota Düzeni Nasıl Olmalı?

Tek hatlı kurumda bir varsayılan rota yeter. İki hatlı kurumda ikinci hattın varsayılan rotası daha büyük mesafeyle yedekte bekler; birincil hattı, ağ geçidinin ötesindeki en az iki adresi yoklayan bir hat izleyici denetler. Kurallar iki hatta da aynı biçimde geçerli olur. Kurumun özel adres aralıkları için mesafesi 254 olan kara delik rotaları yazılır.

Bu düzeni üç kaynak birlikte tarif ediyor:

  1. Fortinet, RFC 1918 alt ağlarının WAN’dan çıkmasını önleme teknik notu (Ağustos 2022): 10.0.0.0/8, 172.16.0.0/12 ve 192.168.0.0/16 için kara delik rotası yazılır. Mesafe 254 olur, ki daha küçük mesafeli her rota onun önüne geçsin.
  2. RFC 1918 (Şubat 1996), bölüm 3: özel adreslerin küresel bir anlamı yoktur; bu ağların yönlendirme bilgisi kurumlar arası bağlantılara yayılmaz, kaynağı ya da hedefi özel adres olan paket o bağlantılardan iletilmez.
  3. Fortinet, DHCP ve PPPoE arayüzlerinde link monitor teknik notu (Kasım 2022): örnekteki izleyici ağ geçidini değil, internetteki bir adresi (8.8.8.8) yokluyor.

İki hatlı kurumda seçenekler şöyle karşılaştırılıyor; satırlardaki değerler lab ölçümü:

Yalnız iki rotaAğ geçidini yoklayan izlemeAğ geçidinin ötesini yoklayan izleme
Ağ geçidi susuncaRota kalır, trafik düşerYedeğe geçerYedeğe geçer
Ağ geçidi ayakta, ötesi kopuncaRota kalır, trafik düşerRota kalır, 58 paket kayıpYedeğe geçer, 15 paket kayıp
Tek hedef susuncaUygulanmazUygulanmazHat ayakta sayılır (iki hedefte)
Yedek hattaki kurallarAyrıca gerekirAyrıca gerekirAyrıca gerekir

Tablonun son satırı, rotanın yedekliliği tek başına sağlamadığını söylüyor: trafiği geçiren kural da iki hatta geçerli olmalı. Bunu aşağıda ayrıca ölçtüm. İki hattı yük dengeleyerek birlikte kullanmak ve hat kalitesine göre yol seçmek SD-WAN’ın işidir; statik rota ve hat izleme, “biri gidince öbürü” düzeninin en sade hâlidir.

Kaç Hedef Yoklanmalı?

Fortinet bir sayı vermiyor. Lab’da ölçtüğüm davranış sayıyı belirliyor: FortiGate hattı ancak yokladığı bütün hedefler susunca düşmüş sayıyor.

Tek hedefle, o hedefin bakımı ya da kendi arızası hattı boşuna yedeğe çevirir. İki bağımsız hedefle tek hedefin susması hattı düşürmez, ikisinin birden susması ise gerçek bir kopukluğun işaretidir. Bu yüzden ağ geçidinin ötesinde, birbirinden bağımsız iki adres yoklanır; lab’da 198.18.0.1 ve 198.18.0.2. Lab’da ikisi de servis sağlayıcıyı taklit eden aynı makinede duruyor; gerçek bir kurulumda iki ayrı kurumun adresi seçilir.

Hat İzleme Neyi Yoklamalı? İlk Köprü mü, Yolun Sonu mu?

Sabah işe çıkmadan pencereden bakıp sokağınızın açık olduğunu görürsünüz. Bu, işe giden yolun açık olduğunu göstermez: yolun ilerisinde bir kaza varsa sokağınız yine bomboş görünür. Yolun açık olduğunu ancak yolun ilerisine bakan biri söyleyebilir. Hat izleme de böyle çalışır: neyi yoklarsa yalnız onun ayakta olduğunu öğrenir.

Sahnenin dört parçası var:

  1. Ağ geçidi yolun ilk köprüsüdür; çoğu zaman servis sağlayıcının modemi ya da onun hemen arkasındaki cihazdır.
  2. Servis sağlayıcının ağı köprünün ötesindeki yoldur; kopukluk çoğu zaman burada olur ve kapıdan görünmez.
  3. Yoklanan hedef görevlinin dürbünle baktığı yerdir.
  4. Hat izleyici dürbünlü görevlidir: baktığı yerden ses gelmezse tabelayı yedek yola çevirir.

Örnekteki sınır kapısında görevli dürbünü ilk köprüye çevirirse, köprü ayaktayken ötesindeki yol çökse de tabelayı çevirmez; araçlar köprüyü geçer ve yolda kalır. Dürbünü yolun sonundaki iki şehre çevirirse, ikisinden de ses gelmediği an tabelayı yedek yola çevirir. Mekanizma şöyle işliyor:

  1. İzleyici hedefe 500 milisaniyede bir ping atar.
  2. Üst üste 5 yoklama cevapsız kalırsa hedef ölü sayılır.
  3. Bütün hedefler ölüyse izleyici dead olur ve birincil rota tablodan kalkar; mesafesi büyük olan yedek rota devralır.
  4. Hedefler 5 yoklama boyunca cevap verirse birincil rota geri gelir.
Hat izlemenin neyi yokladığı sonucu belirliyor. İki durumda da kopukluk ağ geçidinin ötesinde, servis sağlayıcının ağında. Birinci durumda izleyici ağ geçidini, yani servis sağlayıcının modemini yokluyor. Modem cevap verdiği için izleyici hattı çalışıyor sayıyor (alive), trafik kopuk yolda kalıyor ve kesinti boyunca 58 paket kayboluyor. İkinci durumda izleyici yolun sonundaki iki internet adresini yokluyor. İkisinden de cevap gelmeyince hattı düşmüş sayıyor (dead), trafik yedek hatta geçiyor ve yalnız 15 paket, yaklaşık 3 saniye kayboluyor. İki adresten yalnız biri susarsa hat ayakta sayılıyor. 1. İzleyici ağ geçidini yokluyor FortiGate Ağ geçidi servis sağlayıcının modemi İnternette iki adres yolun sonu kopukluk yoklama: cevap geliyor İzleyici "hat çalışıyor" dedi (alive). Trafik kopuk yolda kaldı, 58 paket kayboldu. 2. İzleyici yolun sonundaki iki adresi yokluyor FortiGate Ağ geçidi servis sağlayıcının modemi İnternette iki adres yolun sonu kopukluk yoklama: iki adresten de cevap yok trafik buraya geçti Yedek hat İzleyici "hat düştü" dedi (dead). Trafik yedek hatta geçti, yalnız 15 paket kayboldu (yaklaşık 3 saniye). İki adresten yalnız biri susarsa hat ayakta sayılır. Hat izlemenin neyi yokladığı sonucu belirliyor. İki durumda da kopukluk ağ geçidinin ötesinde, servis sağlayıcının ağında. Birinci durumda izleyici ağ geçidini, yani servis sağlayıcının modemini yokluyor. Modem cevap verdiği için izleyici hattı çalışıyor sayıyor (alive), trafik kopuk yolda kalıyor ve kesinti boyunca 58 paket kayboluyor. İkinci durumda izleyici yolun sonundaki iki internet adresini yokluyor. İkisinden de cevap gelmeyince hattı düşmüş sayıyor (dead), trafik yedek hatta geçiyor ve yalnız 15 paket, yaklaşık 3 saniye kayboluyor. İki adresten yalnız biri susarsa hat ayakta sayılıyor. 1. İzleyici ağ geçidini yokluyor FortiGate Ağ geçidi servis sağlayıcının modemi kopukluk İnternette iki adres yolun sonu cevap geliyor İzleyici "hat çalışıyor" dedi (alive). Trafik kopuk yolda kaldı, 58 paket kayboldu. 2. İzleyici yolun sonunu yokluyor FortiGate Ağ geçidi servis sağlayıcının modemi kopukluk İnternette iki adres yolun sonu cevap yok İzleyici "hat düştü" dedi (dead). Trafik yedek hatta geçti, yalnız 15 paket kayboldu (yaklaşık 3 saniye). İki adresten yalnız biri susarsa hat ayakta sayılır.
Görevli ilk köprüye bakarsa, köprü ayaktayken ötesindeki yolun çöktüğünü görmez. Dürbün yolun sonundaki iki şehre çevrilince tabela doğru anda döner ve trafik yedek yola geçer.

Kazancı iki tanedir:

  1. Kopukluk nerede olursa olsun yakalanır. Lab’da kayıp, kesintinin tamamından (58 paket) tespit ve geçiş süresine (15 paket) indi.
  2. Tek hedefin arızası hattı boşa düşürmez. İki hedeften biri susunca izleme alive kaldı.

Bedeli, yoklanan adreslerin size ait olmamasıdır: o adresler ping’e cevap vermeyi bırakırsa hat düşmüş görünür. Bu yüzden iki hedef, birbirinden bağımsız iki kurumun adresi olarak seçilir.

FortiGate’te Varsayılan Rota Yazmak

Bu adımdan önce iki şey hazır olmalı:

  1. WAN arayüzü ve ağ geçidi adresi. Lab’da dis-ag (port3), ağ geçidi 203.0.113.80; ayarını WAN ayarı yazımızda anlattık.
  2. Hat sayısı kararı. Tek hatlı kurumda bu bölüm yeter; iki hatlı kurumda aşağıdaki yedek rota ve hat izleme de kurulur.

Ayar Network → Static Routes → Create New yolunda yapılır. Form varsayılan rotaya hazır geliyor:

  1. Destination: Subnet seçili ve alan 0.0.0.0/0.0.0.0 ile dolu, yani varsayılan rota. Belirli bir ağa rota yazılacaksa buraya o ağ yazılır.
  2. Gateway Address: servis sağlayıcının ağ geçidi, lab’da 203.0.113.80. Adresi yazınca FortiGate Interface alanını o ağın arayüzüyle (dis-ag (port3)) kendisi doldurdu. Arayüz listesinin en altında Blackhole da var.
  3. Administrative Distance: fabrika ayarında 10.
  4. Comments: Varsayilan rota, birincil hat.
  5. Advanced Options → Priority: fabrika ayarında 1.
FortiGate yeni statik rota formu: Destination 0.0.0.0/0.0.0.0, Gateway Address 203.0.113.80 ile Interface dis-ag (port3), Administrative Distance 10 ve Advanced Options altında Priority 1 kırmızı çerçeveyle gösterilmiş
Form varsayılan rotayla açılıyor; mesafe 10, öncelik 1 fabrika ayarı. İkinci hat için değişecek olan bu iki sayı.

Mesafenin fabrika değeri önemli bir ayrıntı taşıyor. WAN ayarı yazımızda WAN arayüzü DHCP ile adres alınca FortiGate’in kendiliğinden yazdığı varsayılan rotanın mesafesi 5’ti. Elle yazılan rota 10 ile geliyor; ikisi yan yana olursa hattan öğrenilen rota kazanır. Kaydedince rota tabloya S* olarak girdi ve aynı ping geçti:

FortiGate CLI Çıktısı
S*      0.0.0.0/0 [10/0] via 203.0.113.80, port3, [1/0]
...
PING 198.18.0.1 (198.18.0.1): 56 data bytes
64 bytes from 198.18.0.1: icmp_seq=0 ttl=64 time=0.4 ms
64 bytes from 198.18.0.1: icmp_seq=1 ttl=64 time=0.4 ms

Köşeli parantezdeki [10/0] mesafe ve metrik, sondaki [1/0] öncelik. Aynı rotanın komut satırındaki karşılığı; kısa show yalnız değiştirilen alanları gösterdiği için mesafe ve öncelik görünmüyor:

FortiGate CLI
config router static
    edit 5
        set gateway 203.0.113.80
        set device "port3"
        set comment "Varsayilan rota, birincil hat"
    next
end

Mesafe ve Öncelik: FortiGate’te İki Varsayılan Rota

İkinci hat varsa ona da bir varsayılan rota yazılır, ama daha büyük mesafeyle, ki yedekte beklesin. Lab’da port3’ün üstünde ikinci bir WAN var (yedek-hat, VLAN 100, 198.51.100.1/30); mesafesi 20 olan rotayı komut satırından yazdım:

FortiGate CLI
config router static
    edit 6
        set gateway 198.51.100.2
        set distance 20
        set device "yedek-hat"
        set comment "Varsayilan rota, yedek hat"
    next
end

Static Routes listesinde iki satır yan yana ve aynı görünüyor; listede mesafe sütunu yok:

FortiGate statik rota listesi, Varsayilan aramasıyla süzülmüş hâlde iki satır gösteriyor: 0.0.0.0/0, biri 203.0.113.80 dis-ag (port3), öbürü 198.51.100.2 yedek-hat, ikisi de Enabled; iki satır kırmızı çerçeveyle gösterilmiş
Liste iki rotayı eşit gösteriyor; hangisinin yedekte beklediği listeden okunmuyor.

Farkı tablo gösteriyor. Asıl tabloda (get router info routing-table all) yalnız mesafesi 10 olan rota var. Yedek rota, rotaların hepsini tutan veritabanında (get router info routing-table database) seçilmemiş olarak bekliyor:

FortiGate CLI Çıktısı
S       0.0.0.0/0 [20/0] via 198.51.100.2, yedek-hat, [1/0]
S    *> 0.0.0.0/0 [10/0] via 203.0.113.80, port3, [1/0]

*>, rotanın seçildiğini ve paketleri gerçekten taşıyan tabloya girdiğini söylüyor. Mesafe 20 olan satırda bu işaret yok.

Priority alanının ne yaptığını görmek için yedek rotanın mesafesini de 10 yaptım ve önceliğini 5 verdim. Bu kez iki rota da asıl tabloya girdi:

FortiGate CLI Çıktısı
S*      0.0.0.0/0 [10/0] via 203.0.113.80, port3, [1/0]
                  [10/0] via 198.51.100.2, yedek-hat, [5/0]

Hangisinin trafik taşıdığını FortiGate’in paket yakalamasından okudum: personelden giden ping port3’ten çıktı, yani önceliği 1 olan rotadan.

FortiGate CLI Çıktısı
2026-10-01 11:35:13.347647 personel in 10.34.30.10 -> 198.18.0.1: icmp: echo request
2026-10-01 11:35:13.348014 port3 out 203.0.113.1 -> 198.18.0.1: icmp: echo request

Kural şu: mesafe, hangi rotaların tabloya gireceğini belirliyor; öncelik, eşit mesafeli rotalar arasında trafiğin hangisinden gideceğini. Ölçümden sonra yedek rotayı mesafe 20’ye geri aldım. Bu değişiklikler tabloya birkaç saniye sonra yansıyor; hemen bakınca tablo eski hâlini gösterebilir.

Ağ Geçidi Susunca: FortiGate Rotayı Tabloda Tutar

Birincil hattın bozulduğunu taklit ettim: port3 açık kaldı, ama servis sağlayıcı tarafında bu hattan gelen bütün paketleri düşürdüm. Modemin ya da servis sağlayıcının bir arızasında da kablo takılı kalır, ışık yanar ve karşıdan cevap gelmez. Hat izleme yokken tabloya ve pinge baktım:

FortiGate CLI Çıktısı
S*      0.0.0.0/0 [10/0] via 203.0.113.80, port3, [1/0]
...
PING 198.18.0.1 (198.18.0.1): 56 data bytes
2 packets transmitted, 0 packets received, 100% packet loss

Birincil rota yerinde duruyor ve trafik düşüyor; personelden giden ping de aynı biçimde düştü. Yedek rota veritabanında beklemeye devam ediyor. FortiGate rotayı yalnız arayüzü kapanınca tablodan kaldırıyor; arayüz açık olduğu sürece karşı tarafın sustuğunu bilmesinin bir yolu yok. Yedek hattın varlığı bu yüzden tek başına bir yedeklilik değildir.

Rotayı arızaya bağlayan şey hat izleyicidir. Lab cihazımın arayüzünde bunun için bir menü yok; Network menüsünde SD-WAN var ama hat izleme yok. İzleyici komut satırından yazılır. İlk denemede onu, ölçüm için bilerek yanlış hedefe, ağ geçidine bağladım:

FortiGate CLI
config system link-monitor
    edit "birincil-hat"
        set srcintf "port3"
        set server "203.0.113.80"
        set gateway-ip 203.0.113.80
    next
end

İzleyicinin fabrika değerleri show full-configuration çıktısında duruyor:

  1. interval 500: hedef 500 milisaniyede bir yoklanır.
  2. failtime 5: üst üste 5 cevapsız yoklamada hedef ölü sayılır.
  3. recoverytime 5: 5 cevaplı yoklamada geri alınır.
  4. update-static-route enable: izleyici rotayı tablodan kaldırabilir.

Yedek Hattın Kuralı: Rota Geçti, Trafik Geçmedi

Aynı arızayı bu kez izleyici açıkken kurdum ve personelden internete 0,2 saniye aralıkla ping attım. İzleyici arızayı yakaladı ve rota yedek hatta geçti:

FortiGate CLI Çıktısı
S*      0.0.0.0/0 [20/0] via 198.51.100.2, yedek-hat, [1/0]

Ama ping’lerin kayıp aralığı şuydu:

Çıktı
  kayip: seq 16-83 (68 paket)

12 saniyelik kesinti ve dönüş süresi boyunca hiçbir ping geçmedi. Sebep kural setiydi: personelin internet kuralı yalnız port3’e yazılıydı, yedek-hat için bir kural yoktu. Personel için yedek hatta ayrı bir izin kuralı (12) yazıp ölçümü tekrarladım; kayıp 17 pakete, yani tespit ve geçiş süresine indi.

Ayrı kural bu kez başka bir delik açtı. Birincil hatta kural 2 ile internete çıkışı engellenen, desteği bitmiş eski bir bilgisayar (10.34.30.50), birincil hat kopukken yedek hattan çıktı:

FortiGate CLI Çıktısı
... func=print_pkt_detail line=5845 msg="vd-root:0 received a packet(proto=1, 10.34.30.50:3824->198.18.0.1:2048) tun_id=0.0.0.0 from personel. type=8, code=0, id=3824, seq=1."
... func=vf_ip_route_input_common line=2605 msg="find a route: flag=04000000 gw-198.51.100.2 via yedek-hat"
... func=fw_forward_handler line=881 msg="Allowed by Policy-12: SNAT"

Engel yalnız birincil hatta yazılıydı; yedek hattaki genel izin kuralı onu atladı. Aynı engeli yedek hat için de yazınca (kural 13) paket Denied by forward policy check (policy 13) ile düştü. Yani her izin ve her engel kuralı iki hatta da yazılmalı. Lab cihazımın deneme lisansı bunu sınadı: kalan kuralları kopyalarken FortiGate Command fail. Return code -4 (reached the maximum number of entries) dedi; lisans 10 kurala izin veriyor.

Kuralları İki Hatta Bir Kez Yazmak: dis-hatlar Zone’u

Kopyalamak yerine iki hattı bir zone’da topladım ve çıkış kurallarının hedef arayüzünü, giriş kurallarının kaynak arayüzünü o zone yaptım. Zone’a yazılan kuralın her üyede geçerli olduğunu zone yazımızda ölçtük; burada aynı mekanizma iki hattın kurallarını birleştiriyor:

FortiGate CLI
config system zone
    edit "dis-hatlar"
        set interface "yedek-hat" "port3"
    next
end

Geçişte iki engel çıktı. port3 kurallarda kullanıldığı sürece zone’a eklenemedi; önce kurallar zone’a taşındı, sonra port3 zone’a alındı. Sanal IP’nin dış arayüzü port3’e bağlı olduğu için onu kullanan kural da taşınamadı (object check operator error, -651); sanal IP’nin dış arayüzü any yapılıp kural yeniden yazıldı. Sanal IP’nin ne olduğunu FortiGate kullanım rehberimizde anlattık.

Taşınan kuralların formunda değişen tek alan arayüz. Personelin internet çıkış kuralında (Policy & Objects → Firewall Policy, kurala çift tıklanır) Outgoing Interface artık port3 değil dis-hatlar zone’u. Hangi hattan çıkılacağına kural değil rota tablosu karar veriyor:

FortiGate Edit Policy formu, Ic ag internet cikisi: Outgoing Interface alanında dis-hatlar zone'u kırmızı çerçeveyle işaretli
Kuralın hedef arayüzü iki hattı tutan zone; birincil hat düşünce aynı kural yedek hatta da geçerli.
FortiGate CLI
config firewall policy
    edit 1
        set name "Ic ag internet cikisi"
        set dstintf "dis-hatlar"
    next
end

Giriş yönündeki kurallarda (örneğin dışarıdan DMZ’ye gelen kural 3) aynı değişiklik Incoming Interface alanında yapılır.

Sonra bütün bölümleri önce normal durumda, ardından birincil hattı keserek denedim. Sonuç iki durumda da aynıydı:

Çıktı
personel ping                gecti
personel http                200
eski-pc ping                 dustu
depo http                    200
misafir http                 200
misafir ping (izinsiz)       dustu

Engelli eski bilgisayar iki hatta da düştü, misafir iki hatta da yalnız izinli servislerle çıktı ve kurallar tek yerde duruyor. Aynı iki hattı SD-WAN’a alıp hat kalitesine göre yol seçtirmeyi FortiGate SD-WAN yazımızda anlattık; SD-WAN da kuralları iki hat için tek bir arayüze yazdırır.

Ağ Geçidi Ayakta, Ötesi Kopuk

Son ölçüm izlemenin hedefini sınadı. Bu kez ağ geçidi cevap vermeye devam etti, yalnız onun ötesine giden yolu kestim. İzleyici hâlâ ağ geçidini yokluyordu:

FortiGate CLI Çıktısı
S*      0.0.0.0/0 [10/0] via 203.0.113.80, port3, [1/0]
Link Monitor: birincil-hat, Status: alive, Server num(1), HA state: local(alive), shared(alive)
...

Personel tarafındaki ping ölçümünün özeti:

Çıktı
  kayip: seq 16-73 (58 paket)

İzleyici alive kaldı, rota port3’te durdu ve kesinti boyunca personelin bütün ping’leri kayboldu. İzleyicinin hedefini ağ geçidinin ötesindeki iki adrese çevirdim:

FortiGate CLI
config system link-monitor
    edit "birincil-hat"
        set srcintf "port3"
        set server "198.18.0.1" "198.18.0.2"
        set gateway-ip 203.0.113.80
    next
end

Aynı arızada izleyici bu kez iki hedefi de ölü buldu ve rota yedek hatta geçti:

FortiGate CLI Çıktısı
S*      0.0.0.0/0 [20/0] via 198.51.100.2, yedek-hat, [1/0]
Link Monitor: birincil-hat, Status: dead, Server num(2), HA state: local(dead), shared(dead)
  Peer: 198.18.0.1(198.18.0.1) 
        protocol: ping, state: dead
  Peer: 198.18.0.2(198.18.0.2) 
        protocol: ping, state: dead
...

Personel tarafındaki ping ölçümünün özeti:

Çıktı
  kayip: seq 16-30 (15 paket)

Kayıp 15 pakete, yaklaşık 3 saniyeye indi: 5 yoklamalık tespit ve geçiş. Yalnız 198.18.0.1’e giden yolu kestiğimde ise izleyici alive kaldı ve rota yerinde durdu:

FortiGate CLI Çıktısı
S*      0.0.0.0/0 [10/0] via 203.0.113.80, port3, [1/0]
Link Monitor: birincil-hat, Status: alive, Server num(2), HA state: local(alive), shared(alive)
...
  Peer: 198.18.0.1(198.18.0.1) 
        protocol: ping, state: dead
  Peer: 198.18.0.2(198.18.0.2) 
        protocol: ping, state: alive

Hat ancak bütün hedefler susunca düşmüş sayılıyor. Yönlendirme tablosu yazısındaki Linux ölçümünde elle eklenen rota, hat geri gelince dönmemişti. FortiGate’te döndü, çünkü rota yapılandırmada yazılı; izleyici onu yalnız tablodan geçici olarak kaldırıyor.

Örnekteki sınır kapısında bu, dürbünü ilk köprüden yolun sonundaki iki şehre çeviren görevlidir: ikisinden de ses gelmeyince tabelayı yedek yola çevirir, biri susunca telaşa kapılmaz.

Kara Delik Rotası: Özel Adresler Servis Sağlayıcıya Gitmesin

Varsayılan rotanın bir yan etkisi var: tabloda karşılığı olmayan her adres ona gider, kurumun kendi özel adresleri de. Kapanmış bir VPN’in arkasındaki şubeye ya da yanlış yazılmış bir iç adrese giden trafik servis sağlayıcıya gönderilir. Lab’da iç ağda karşılığı olmayan 10.99.99.99’a personelden ping attım ve servis sağlayıcı tarafında yakaladım:

Çıktı
11:48:06.238356 ens224 In  IP 203.0.113.1 > 10.99.99.99: ICMP echo request, id 64849, seq 1, length 64
11:48:07.257182 ens224 In  IP 203.0.113.1 > 10.99.99.99: ICMP echo request, id 64849, seq 2, length 64

RFC 1918’in iletilmemesini istediği paket, kurumun dış adresiyle servis sağlayıcının ağına çıktı. Fortinet’in teknik notundaki gibi üç özel aralık için mesafesi 254 olan kara delik rotaları yazdım. Arayüzde yol Network → Static Routes → Create New, her aralık için bir rota:

  1. Destination: Subnet, özel aralık. İlki 10.0.0.0/255.0.0.0, sonra 172.16.0.0/255.240.0.0 ve 192.168.0.0/255.255.0.0.
  2. Interface: Blackhole. Ağ geçidi alanı kalkar; bu rotaya düşen paket hiçbir yere gönderilmez.
  3. Administrative Distance: 254. Kurumun gerçek rotalarının hepsinden büyük olmalı ki yalnız başka hiçbir rota uymadığında seçilsin.
  4. Comments: RFC 1918 kara delik.
FortiGate Edit Static Route formu: Destination 10.0.0.0/255.0.0.0, Interface alanında Blackhole ve Administrative Distance 254 kırmızı çerçeveyle işaretli
Kara delik rotası bir arayüze değil hiçliğe gidiyor ve en büyük mesafeyle en sonda bekliyor.

Üç rotanın komut satırındaki karşılığı:

FortiGate CLI
config router static
    edit 7
        set dst 10.0.0.0 255.0.0.0
        set distance 254
        set comment "RFC 1918 kara delik"
        set blackhole enable
    next
    edit 8
        set dst 172.16.0.0 255.240.0.0
        set distance 254
        set comment "RFC 1918 kara delik"
        set blackhole enable
    next
    edit 9
        set dst 192.168.0.0 255.255.0.0
        set distance 254
        set comment "RFC 1918 kara delik"
        set blackhole enable
    next
end

Rotalar tabloya Null olarak girdi:

FortiGate CLI Çıktısı
S       10.0.0.0/8 [254/0] is a summary, Null, [1/0]
S       172.16.0.0/12 [254/0] is a summary, Null, [1/0]
S       192.168.0.0/16 [254/0] is a summary, Null, [1/0]

Aynı ping bu kez servis sağlayıcı tarafında hiç görünmedi; FortiGate’in izinde paket kendi içinde bitti (find a route: ... gw-10.99.99.99 via root). Bağlı ağlar (10.34.x.0/24) ve sunucu ağına giden rota (192.168.1.0/24) kara delikten dar olduğu için kendi satırlarını kullanmaya devam etti; internete ve sunucu ağına giden ping’ler geçti. Mesafenin 254 olması, ileride aynı aralıklara yazılacak VPN rotalarının kara deliğin önüne geçmesini sağlar.

Doğrulama: FortiGate’in Rota Düzeni Doğru mu?

Ayar bittiğinde beş şey kontrol edilir; her biri yukarıda lab’da ölçüldü:

  1. Varsayılan rota tabloda. get router info routing-table all çıktısında S* satırı birincil hattın ağ geçidini gösterir.
  2. Yedek rota bekliyor. get router info routing-table database çıktısında yedek rota *> işareti olmadan durur.
  3. İzleme ağ geçidinin ötesinde. diagnose sys link-monitor status çıktısında en az iki hedef görünür ve hiçbiri ağ geçidi değildir.
  4. Kurallar iki hatta geçerli. Birincil hat kopukken her bölümün izinli trafiği geçer, engelli trafiği düşer.
  5. Özel adresler dışarı çıkmıyor. Tabloda üç Null satırı vardır; iç ağda olmayan özel bir adrese giden paket servis sağlayıcı tarafında görünmez.

Sonuç: FortiGate’te Yedek Hattı İzleme ve Kurallar Birlikte Çalıştırır

FortiGate’te statik rota Network → Static Routes’ta yazılır ve form varsayılan rotayla, mesafe 10 ile açılır. İkinci hat için mesafesi daha büyük bir rota yazılır; mesafe hangi rotanın tabloya gireceğini, öncelik eşit mesafeli rotalar arasındaki sırayı belirler.

Doğru düzende birincil hattı ağ geçidinin ötesindeki iki adresi yoklayan bir izleyici denetler, kurallar iki hatta da geçerlidir ve özel adres aralıkları kara deliğe gider. Lab’da beş şey beklenenden farklı çıktı:

  1. Arayüz açıkken rota tabloda kaldı. Karşı taraf sustuğunda yedek rota kendiliğinden devreye girmedi.
  2. Ağ geçidini yoklayan izleme kopukluğu görmedi. Ağ geçidi cevap verdikçe izleme alive kaldı ve kesintinin tamamı kayboldu.
  3. Rota yedek hatta geçti, trafik geçmedi. Kural yalnız birincil hatta yazılıydı.
  4. Yedek hatta yazılan izin kuralı bir engeli atladı. Birincil hatta engelli cihaz yedek hattan çıktı; lisansın 10 kurallık sınırı kopyalamayı da durdurdu.
  5. İki hattı bir zone’da toplamak iki sorunu birlikte çözdü, ama sanal IP’nin dış arayüzü önce any yapılmak zorunda kaldı.

Örnekteki sınır kapısında tabelanın yedek yola dönmesi, dürbününü yolun sonuna çeviren bir görevliye bağlıdır; yedek yolda da ana yoldaki talimatların aynısı asılı durmalıdır. Sıradaki aşama FortiGate’in kurallarıdır: ilk adımı adres ve servis nesneleri; açılış listesinin kalanı 20 adımlık kontrol listesinde duruyor.

FortiGate Firewall Statik Rota Hakkında Sık Sorulan Sorular

Birincil hattın arayüzü açık kaldığı sürece FortiGate rotayı tablodan kaldırmaz. Lab'da servis sağlayıcı tarafı sustuğunda port3 açık olduğu için birincil rota tabloda kaldı, trafik düştü ve mesafesi 20 olan yedek rota devreye girmedi. Hattı yoklayan bir link monitor eklenince birincil rota kalktı, yedek devraldı; hat dönünce birincil kendiliğinden geri geldi.
Ağ geçidini değil, ağ geçidinin ötesindeki en az iki adresi. Lab'da ağ geçidi ayaktayken ötesi koptuğunda, ağ geçidini yoklayan izleme alive kaldı ve 12 saniyelik kesinti boyunca 58 paketin hepsi kayboldu. İzleme ağ geçidinin ötesindeki iki adrese çevrilince aynı arıza yakalandı, yedek hat devraldı ve kayıp 15 pakete indi. FortiGate hattı ancak bütün hedefler susunca düşmüş sayıyor.
Kurallar yalnız birincil hatta yazılmış olabilir. Lab'da rota yedek hatta geçti, ama personelin internet kuralı yalnız port3'e yazılı olduğu için kesinti boyunca trafik geçmedi. Yedek hat için ayrı bir izin kuralı yazılınca geçti; o zaman da birincil hatta engellenen bir cihaz yedek hattan internete çıktı. İki hattı bir zone'da toplayıp kuralları zone'a bir kez yazmak iki sorunu birlikte çözdü.
Mesafesi farklı iki rotadan yalnız küçük mesafeli olan tabloya girer; öbürü veritabanında seçilmemiş olarak bekler. Mesafeler eşitse ikisi de tabloya girer ve trafik önceliği küçük olandan gider. Lab'da mesafeyi eşitleyince iki varsayılan rota [1/0] ve [5/0] öncelikleriyle birlikte göründü, paket önceliği 1 olan hattan çıktı.
Tabloda karşılığı olmayan özel adreslere giden trafiğin varsayılan rotadan servis sağlayıcıya gitmesini önler. Fortinet üç RFC 1918 aralığı için mesafesi 254 olan kara delik rotası öneriyor. Lab'da rota yokken 10.99.99.99'a giden paket servis sağlayıcı tarafında yakalandı; kara delik rotası eklenince FortiGate'ten hiç çıkmadı.
İlker Pehlivan
Yazan

BT Danışmanı | Ağ, Sistem ve Güvenlik Yönetimi

İlker Pehlivan, karmaşık BT altyapılarını ölçeklenebilir ve güvenli sistemlere dönüştürür. Buradaki rehberleri kendi laboratuvarında kurup ölçerek yazar.

LinkedIn

Benzer Makaleler

Kurumsal Network Kurulumu altındaki diğer 114 makale