Ana içeriğe geç

Bölüm 41: Cihaz Yapılandırma

11 dakikalık okumaGüncelleme:

Ağlar'a “Sen”i Katmak kitabının bir bölümü: adres çubuğuna yazdığın tek bir isteğin peşinden bakırla fiberin fiziğine inip karşı taraftan geri dönen uzun bir teknik yolculuk.

Kısım 6: Router'dan Router'a (Bölüm 37-44)

Tüm bölümler
  1. Giriş
  2. Adres Çubuğundan İsteğe
  3. Paket Anahtarlamalı Yol
  4. İsimden Adrese
  5. DNS Kayıtları
  6. Önbellek, Tazelik ve Güven
  7. Port Numarası ve Soket
  8. Bağlantısız Taşıma: UDP
  9. Üç Adımlı El Sıkışma
  10. Simetrik Şifreleme
  11. Açık Anahtarlı Kriptografi
  12. TLS El Sıkışması
  13. Sertifika Zinciri
  14. HTTP Mesajının Anatomisi
  15. Durum, Çerez ve Oturum
  16. HTTP/2'den HTTP/3'e
  17. İçerik Dağıtım Ağları
  18. Diğer Uygulama Protokolleri
  19. Katmanlı Mimari
  20. Hizmet ve Protokol
  21. Encapsulation ve Başlıklar
  22. Paket Yakalama ve Çözümleme
  23. Ağ Interface Kartı
  24. Fiziksel Adresleme
  25. Hata Sezme ve CRC
  26. Adres Çözümleme: ARP
  27. Ortam Erişimi: CSMA/CD
  28. Switch'ler
  29. Ağ Topolojileri
  30. Sanal Yerel Ağlar
  31. Kablosuz Erişim: 802.11
  32. Radyo Kanalı ve Kapasite
  33. Kablosuz Ağ Güvenliği
  34. Hücresel Ağlar
  35. Spektrum ve Kuşaklar
  36. Hareketlilik ve Aktarma
  37. Adres Kiralama: DHCP
  38. Adresin Anatomisi
  39. Adres Tükenmesi ve IPv6
  40. Router Mimarisi
  41. Kuyruk Yönetimi
  42. Cihaz Yapılandırma
  43. Routing Protokolleri
  44. Kontrol Düzlemi ve SDN
  45. Ağ İzleme ve Yönetimi
  46. Alanlar Arası Routing
  47. Adres Çevirisi
  48. Ara Kutular
  49. Tünelleme ve IPsec
  50. Firewall'lar
  51. Ağ Saldırıları
  52. Operatör ve Metro Ağları
  53. Bitten Sinyale
  54. Sembol Hızı ve Kanal Kapasitesi
  55. Multiplexing Teknikleri
  56. İletim Ortamları
  57. Bakır Kablo Sonlandırma
  58. Fiber Sonlandırma
  59. Fiber Optik İletim
  60. Bakır Erişim Ağı: DSL
  61. DSL'de Hız ve Mesafe
  62. Pasif Optik Ağlar
  63. Kablo Erişim Ağları
  64. Kablo Modem ve CMTS
  65. Denizaltı Kabloları
  66. Veri Merkezi Ağları
  67. Encapsulation Çözme
  68. Güvenilir Aktarım
  69. Tıkanıklık Denetimi
  70. Trafik Çözümleme
  71. Gecikme Bütçesi
  72. Soket Programlama
  73. Eşten Eşe ve Protokol Tasarımı
  74. Uyarlanır Video Akışı
  75. Gerçek Zamanlı Ses ve Görüntü
  76. Kablosuz Sensör Ağlarının Mimarisi
  77. Sensör Ağlarında Ortam Erişimi
  78. Sensör Ağlarında Yönlendirme ve IP
  79. Zaman Eşitleme ve Konum Bulma
  80. Sensör Ağı Uygulamaları
  81. Mobil Kablosuz Sensör Ağları
  82. Son Söz

Masanın üstünde iki router duruyor ve aralarındaki hat çalışıyor. Yine de bir taraftan öbürüne tek paket geçmiyor. İkisinin de tablosunda karşı ağın satırı yok.

O satırı bu kez elle sen yazacaksın. Peki kutudan yeni çıkmış bir cihaza nereden konuşulur?

Kutunun kapısı nerede?

Bir router’a klasik olarak üç yoldan bağlanılır: konsol portu, ağ üzerinden uzak oturum (eskiden telnet, bugün SSH) ve yardımcı port. Üçü de aynı komut satırını açar. Farkları nereden ve hangi güvenle geldiğindir.

Konsol portu ağ portu değildir, ama RJ-45 yuvası biçiminde ve cihazın arka yüzünde durur. Bilgisayara rollover kabloyla ve RJ-45’i DB-9’a çeviren bir adaptörle bağlanır; yönetim interface’leri EIA-232 seri standardını kullanır. Bugünkü dizüstülerde seri port kalmadığı için araya bir USB-seri dönüştürücü giriyor; yeni cihazların çoğunda da doğrudan USB konsol portu var. EIA-232’nin neden hâlâ ayakta olduğunu ve bitleri tek telden nasıl dizdiğini 52. bölümde açacağım. Konsol cihazı yerinde yönetmek içindir. Yardımcı port ise modem üzerinden uzaktan ulaşmak ya da WAN bağlantısına yedek olmak için durur. Ağ çöktüğünde ayakta kalan yol konsoldur.

Bir ucunda RJ-45 fişi, öbür ucunda seri konnektör bulunan açık mavi Cisco konsol kablosu. Ağ portuna değil cihazın yönetim yuvasına takılan, ağ tümüyle çöktüğünde ayakta kalan tek fiziksel yol.

Şifreler ayrı ayrı tanımlanır ve fabrika çıkışında hiçbiri yoktur. Cihazda beş tane durur: ikisi ayrıcalıklı kip, biri konsol portu, biri yardımcı port, biri uzak oturumlar için. Ayrıcalıklı kipin iki şifresinden enable secret olanı geri çevrilemeyen bir özet (hash) olarak saklanır; ikisi birden tanımlıysa geçerli olan odur. Öteki, enable password, yapılandırmada düz metin durur. Onu gizleyen service password-encryption komutu yalnızca zayıf bir karıştırma uygular; bu “type 7” değeri saniyeler içinde geri çevrilebilir.

Konsol şifresi line console 0 kipine geçilip password ve login komutlarıyla konur. login önce yazılırsa cihaz, şifre konana kadar girişin kapalı olduğunu söyleyen bir uyarı verir. Uzak oturum ve yardımcı port şifresini koyabilmenin yolu ise önce konsoldan girmektir; küçük ağlarda ilk temas fiziksel olmak zorunda. Büyük ağlarda kutudan yeni çıkan cihaz yapılandırmasını bir sunucudan kendisi çekebiliyor (zero-touch provisioning); orada ilk temas bile fiziksel değil.

Uzak oturum tarafında akılda kalan bir sayı var: sahadaki alışkanlık beş sanal terminal. Şifre satırı bu yüzden çoğu örnekte line vty 0 4 diye yazılır ve sıfırdan dörde kadar beş terminali birden kapsar. Birçok cihazda ise 16 terminal vardır; yalnızca ilk beşini kilitleyip line vty 5 15 aralığını unutmak klasik bir güvenlik hatası. Oturum ayrıcalıklı kipte telnet ya da connect ile açılır, disconnect ile kapanır. Komut bir IP adresi ya da makine adı alır; ad verilecekse cihazda ad çözümlemesi ayarlı olmalıdır. Telnet’in kendisi düz metin taşır. Kullanıcı adı, parola, yazdığın her komut ve dönen her çıktı hattı olduğu gibi geçer; aradaki herhangi bir noktada dinleyen biri oturumun tamamını okur. Bu yüzden telnet bugün yalnızca yönetim ağı fiziksel olarak ayrılmış eski cihazlarda kalmıştır ve yerini SSH almıştır.

SSH telnet’ten nerede ayrılıyor?

SSH aynı işi yapar, uzaktaki makinede bir kabuk açar; ama işi üç ayrı katta kurar ve üçünün de telnet’te karşılığı yoktur.

Birincisi, sunucunun kimliği. Bir sunucuya ilk kez bağlandığında SSH sana bir parmak izi gösterir ve onaylamanı ister. Onayladığında sunucunun açık anahtarı makinene kaydedilir. Sonraki her bağlantıda sunucu, o anahtarın gizli eşini elinde tuttuğunu kanıtlamak zorunda kalır. Web sertifikalarından farkı burada: SSH’ta varsayılan olarak imzalayan bir üçüncü taraf yoktur, güven ilk karşılaşmada kurulur (trust on first use). Bunun bedeli de bellidir: ilk bağlantı, zincirin doğrulanmayan tek halkasıdır. Kayıtlı parmak izi bir gün değişirse SSH gürültülü bir uyarı verir; sunucu gerçekten yeniden kurulmuş olabilir ya da araya biri girmiştir.

İkincisi, senin kimliğin. Parolayla giriş mümkündür ama zayıf halkadır: parola karşı tarafa gider ve tahmin edilebilir. Açık anahtarla girişte ise gizli anahtar makinenden hiç çıkmaz. Sunucu bir soru gönderir, sen onu gizli anahtarınla imzalarsın, sunucu elindeki açık anahtarla imzayı doğrular. Karşı taraf ele geçse bile eline yalnızca açık yarısı geçer ve onunla hiçbir yere giremez.

Üçüncüsü, kanallar. SSH tek bir şifreli bağlantının içinde birden çok mantıksal kanal açabilir. Kabuk oturumu bir kanaldır, dosya kopyalama başka bir kanal, bir port’un karşı tarafa taşınması bir başkası. Tünelleme yeteneği buradan geliyor: yerel bir porta gelen bağlantı şifreli oturumun içinden geçirilip karşı taraftaki bir adrese açılabiliyor. Yalnızca dışarı açık tek kapısı SSH olan bir sunucunun arkasındaki veritabanına bu şekilde ulaşılabiliyor.

Üç maddenin toplamı, SSH’ın tek hamlede üç ayrı aracı birden emekliye ayırmasını açıklıyor: uzak oturum, uzak komut çalıştırma ve dosya kopyalama. Üçü de aynı doğrulanmış kanalın içine girdi. Protokolü 1995’te, üniversitesinin ağında parolaları dinleyerek toplayan bir saldırıdan sonra Tatu Ylönen yazdı.

SSH kuantum sonrası döneme de erken hazırlandı. OpenSSH 2022’den beri klasik ile kuantuma dayanıklı bir yöntemi birleştiren hibrit anahtar değişimini varsayılan yapıyor; Nisan 2025’teki 10.0 sürümünde 10. bölümdeki TLS grubunun akrabası olan ML-KEM tabanlı yönteme geçti.

DerinleşmeŞifreyi unutan neden cihazın sahibi olmaya devam eder?

Şimdi o beş şifrenin hepsinin unutulduğunu varsay. Kurtarma yolu yazılımsal değil, fiziksel. Cihaz kapatılıp açılır, ilk 60 saniye içinde Break tuşuyla ROM Monitör kipine düşülür ve 16 bitlik yapılandırma kaydı 0x2102 değerinden 0x2142 değerine çevrilir. Açılış zaten üç adımdır: POST ile donanım sınanır, sonra işletim sistemi imajı aranır, en sonunda yapılandırma aranır. Kaydın son dört biti hangi imajın nereden yükleneceğini belirleyen boot alanıdır. 0x2142 değeriyle cihaz NVRAM’i hiç okumadan açılır; şifreler o dosyanın içindedir, dosya da okunmamıştır. Açılan boş cihazda NVRAM’deki dosya elle RAM’e kopyalanır ve şifreler yeniden yazılır. Kopyalamanın yönü de işe yarıyor: NVRAM’den RAM’e gelen dosya oradakiyle birleştirilir, ters yön ise hedefteki dosyayı silip yenisini yazar. Eski yapılandırma böylece kaybolmaz. İş bitince değer 0x2102’ye döndürülür.

Buradan çıkan güvenlik dersi açık: cihaza fiziksel olarak dokunabilen, ona sahip olur. Router’ların kilitli dolaplarda durmasının sebebi bu. Bazı modellerde bu kurtarma yolu no service password-recovery ile kapatılabiliyor; o zaman şifreyi unutanın elinde yalnızca yapılandırmayı tümden silmek kalıyor.

Yapılandırma dosyası hiç yoksa cihaz seni kendiliğinden setup kipine sokar ve soru-cevapla temel ayarları kurmayı önerir. Köşeli parantezdeki değerler varsayılan cevaplardır, Ctrl-C diyalogu iptal eder.

Prompt’un son karakteri ne söylüyor?

Router’ın üstünde bir işletim sistemi çalışır ve bu sistem yalnızca paket iletmez; cihazdaki hafızayı, işlemciyi ve interface’leri (arayüzleri) de o yönetir. Buradaki kip adları ve komut sözcükleri tek bir satıcının kabuğuna ait. Cisco’nun ürününde sistemin adı IOS. Mekanizma satıcıdan bağımsızdır, sözcükler değildir. Arista gibi üreticiler bu sözdizimine çok yakın bir kabuk sunuyor; Juniper’ın Junos’u ise bambaşka, hiyerarşik bir dil konuşuyor.

Komut satırının iki giriş kipi var. Kullanıcı kipinde hiçbir yapılandırma yapamazsın. Değiştirmek için ayrıcalıklı kipe geçmen gerekir. enable yukarı çıkarır, disable geri indirir, logout cihazdan tümüyle çıkarır. Hangi kipte olduğunu prompt’un son karakterinden okursun.

promptkiporadan ne yapılır
Kenar>kullanıcıyalnızca bakılır
Kenar#ayrıcalıklıshow çalıştırılır, yapılandırmaya geçilir
Kenar(config)#genel yapılandırmacihazın tamamını ilgilendiren ayar yazılır
Kenar(config-if)#interface yapılandırmatek bir interface’in ayarı yazılır

Kutudan çıkan her router’ın adı Router’dır. configure terminal genel yapılandırma kipine geçirir, hostname de oradaki adı değiştirir. Değişiklik anında prompt’a düşer.

Ezber de gerekmez. Tek başına ? bulunduğun kipteki bütün komutları listeler, com? o harflerle başlayanları, komut ? o komutun parametrelerini. Sekme tuşu tek adaya inmiş parametreyi tamamlar ve yardımın kapsamı bulunduğun kiple sınırlıdır. Komutlar benzersiz kaldığı sürece kısaltılabilir: show yerine sh, configure terminal yerine conf t aynı işi görür.

Hata mesajı üç tane. % Ambiguous command cihazın komutu ayırt etmesine yetecek karakteri yazmadığını, % Incomplete command gereken parametreyi girmediğini söyler. % Invalid input detected at ^ marker ise hatanın tam yerini şapka işaretiyle gösterir.

Interface neden kapalı geliyor?

Genel yapılandırma kipinden interface komutuyla tek bir interface’in kipine inilir; interface adı tip ve numaradan, bazı cihazlarda tip ve yuva/numaradan oluşur. exit bir basamak yukarı çıkarır. Adres veren komut ip address ve adresin yanına alt ağ maskesi de yazılır. Aynı interface’e ikinci bir adres verilecekse maskeden sonra secondary eklenir. Maske, adresin hangi bitlerinin ağ parçasına ait olduğunu söylüyordu; komut o maskeyi önek olarak değil ondalık olarak ister.

Sonra en sık unutulan satır geliyor. Router’da bütün interface’ler varsayılan hâliyle kapalı gelir ve açan komut no shutdown’dır. Switch’te tersi geçerli: portlar açık gelir, çünkü switch’in işi kutudan çıkar çıkmaz çalışmak. Bu tek satır unutulduğunda yapılandırma kâğıt üstünde doğru görünür ama hiçbir paket geçmez.

Interface durumu da tek değil çift sayıdır.

durumne demek
up/upçalışıyor
up/downkablo takılı ama data link layer anlaşamıyor: kapsülleme ya da saat uyuşmuyor
down/downphysical layer’da sorun var: kablo ya da karşı uç yok
administratively downsen kapatmışsın

Bir interface açıldığında ekrana iki olay satırı düşer. Biri bağlantının, öbürü hat protokolünün durum değiştirdiğini bildirir. Bunlar komutun çıktısı değil, cihazın olay günlüğüdür. Yazmakta olduğun komutun ortasına da düşebilirler. Cihaz bu satırları konsola bağlı bilgisayara gönderir; telnet ile bağlıysan görmezsin ve terminal monitor demen gerekir.

Seri bir WAN interface’inde bir yük daha var. Saat işaretini taşıyan uç DCE’dir (data communications equipment) ve hız orada clock rate ile verilir; ders örneğinde bu değer 128000 bit/s. Karşı uç, yani DTE, saati dinler ve orada böyle bir komut yoktur. LAN interface’inde bu iş hiç çıkmaz. Seri hatlar bugün sahada azaldı; laboratuvar ve eski WAN bağlantıları dışında yerlerini Ethernet aldı.

Tabloya elle bir satır yazmak

Interface’e adres verdiğin anda o ağın doğrudan bağlı yolu tabloya kendiliğinden düşer. Bedavaya gelen kısım orada biter.

Gerisi elle yazılır. Switch’in MAC öğrenme tablosunu kimse yapılandırmıyordu; tablo duyulan kaynak adreslerden kendiliğinden doluyordu. Burada öyle bir kendiliğindenlik yok. Statik routing budur: satırı tabloya bir algoritma değil bir insan koyar ve o satır silinene kadar orada durur.

Komut üç alan ister: gidilecek ağın adresi, o ağın maskesi ve bir sonraki router’ın adresi. Üçüncünün yerine paketin çıkacağı interface’in adı da yazılabilir.

Vakayı kuralım. Kenar cihazın LAN’ı 192.0.2.0/24, merkez cihazın LAN’ı 198.51.100.0/24, aradaki noktadan noktaya bağ 203.0.113.0/30. Kenar uç .1, merkez uç .2 adresini alıyor. /30 öneki dört adres taşır; ağ ve broadcast adresi düşülünce iki uca iki kullanılabilir adres kalır ve ondalık maskesi 255.255.255.252 olur. İki cihaz da ikişer doğrudan bağlı satıra bedavaya sahip. Karşı LAN için toplam iki satır yazılır.

Kenar(config)#  ip route 198.51.100.0 255.255.255.0 203.0.113.2
Merkez(config)# ip route 192.0.2.0 255.255.255.0 203.0.113.1

Dışarısı için üçüncü bir satır gerekir. Biçimi aynıdır, yalnızca hedef ağ da maske de sıfırlarla yazılır.

Kenar(config)#  ip route 0.0.0.0 0.0.0.0 203.0.113.2

Routing tablosu en uzun önek eşleşmesiyle okunuyor ve varsayılan yol sıfır uzunluğuyla her yarışı kaybediyordu. Bu satır o yolun elle yazılmış hâlidir. Kenar cihaz artık tanımadığı her adresi merkeze yollar.

Aynı ağa iki ayrı kaynaktan yol gelirse kimin kazanacağına 39. bölümde gördüğümüz administrative distance karar verir ve küçük olan kazanır. Doğrudan bağlı interface 0, statik yol 1, routing protokollerinden öğrenilmiş yollar 20 (dış BGP) ile 120 (RIP) arasında, bilinmeyen ise 255 taşır. Son değerdeki bir yol tabloya hiç yazılmaz. Metriğe ancak uzaklıklar eşitse bakılır.

Elle yazmanın kazancı da var. Bu iki cihaz birbirine tek bir güncelleme mesajı göndermiyor: hat yalnızca veri taşıyor, işlemci yalnızca paket iletiyor ve tabloya yanlış bir satır sızdıracak öğrenme süreci yok. Bedeli de aynı yerden çıkıyor. Hat tamamen koparsa, yani interface düşerse, bir sonraki durak çözülemez hâle gelir ve satır tablodan kendiliğinden çekilir. Asıl tehlike sessiz arıza: interface ayakta ama ötesindeki yol ölü. Araya bir switch girmiş ve karşıdaki router çökmüşse tablo bunu fark etmez, paketleri boşluğa yollamayı sürdürür. Statik yolların bir izleyiciye bağlanabilmesinin sebebi bu; Cisco’da bu izleyicinin adı IP SLA.

Yazdığın çalışıyor mu, kapatınca kalıyor mu?

Yapılandırmak ve doğrulamak iki ayrı iş. show ip route tabloyu, show ip interface brief bütün interface’lerin adreslerini kısaca, show interfaces interface istatistiklerini listeler.

Kenar# show ip route
...
Gateway of last resort is not set

      192.0.2.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.0.2.0/24 is directly connected, GigabitEthernet0/0
L        192.0.2.1/32 is directly connected, GigabitEthernet0/0
S     198.51.100.0/24 [1/0] via 203.0.113.2
      203.0.113.0/24 is variably subnetted, 2 subnets, 2 masks
C        203.0.113.0/30 is directly connected, Serial0/0/0
L        203.0.113.1/32 is directly connected, Serial0/0/0

Satır başındaki C ile S kaynağı ayırır, L satırları interface’lerin kendi adresleridir; köşeli parantezdeki çift ise administrative distance ile metriktir. Doğrudan bağlı satırda sonraki atlama alanı hiç yoktur, çünkü gidilecek bir sonraki düğüm de yoktur. En üstteki satır ise varsayılan yolun tanımlanmadığını söylüyor.

show ip interface brief çıktısı interface’i, adresini, adresin geçerliliğini, atanma yöntemini ve iki durum sütununu tek satırda verir. Method sütunundaki manual, adresin elle yazıldığını gösterir.

Yolun çalışıp çalışmadığını ping söyler. Varsayılan ayarlarla beş adet 100 baytlık ICMP yankı isteği gönderir ve zaman aşımı 2 saniyedir. Çıktıda ünlem yanıt geldi, nokta hiçbir şey gelmedi, U hedef makineye, N hedef ağa ulaşılamıyor demektir. Sonunda başarı yüzdesi ile en küçük, ortalama ve en büyük RTT yazılır.

Bir iş daha kaldı. Cihazda dört ayrı hafıza var: RAM çalışan yapılandırmayı, ROM açılış için gereken küçük imajı, FLASH işletim sisteminin tam sürümünü, NVRAM ise başlangıç yapılandırmasını tutar. Cihaz açılırken NVRAM’deki dosyayı RAM’e kopyalar; komut satırında ne yaparsan yap, sonucu yalnızca o kopyaya işlenir. show running-config o an geçerli olanı, show startup-config açılışta okunacak olanı gösterir; ikisinin farkı kaydedilmemiş işin listesidir. copy running-config startup-config yazılmadan hiçbir düzenleme yeniden başlatmadan sağ çıkmaz. Aynı işin eski kısaltması write memory hâlâ çalışıyor ve sahada daha çok o yazılıyor.

Özet

  • Konsol portu son çaredir: ağ portu değildir, rollover kabloyla bağlanır ve ağ tümüyle çökse bile ayakta kalan tek yönetim yolu odur.
  • Kip prompt’ta yazar: > bakmaya, # değiştirmeye, (config)# ve (config-if)# ise yazmakta olduğun ayarın kapsamına karşılık gelir.
  • Interface kapalı doğar: adresi verilmiş bir interface no shutdown yazılmadan up/up olmaz ve doğru görünen yapılandırma tek paket geçirmez.
  • Statik yol üç alandan ibarettir: ağ, maske ve bir sonraki atlama; satır silinene kadar tabloda durur, çünkü onu tazeleyecek bir protokol yoktur.
  • RAM’deki iş kalıcı değildir: çalışan yapılandırma ile başlangıç yapılandırması ayrı dosyalardır ve aradaki fark kaydedilmemiş işin listesidir.

Bu ağda iki satır yazdın ve tablo doldu. Aynı işi tam bir örgüde yapmak n×(n−1) satır demek: 3 cihazda 6, 10 cihazda 90, 1.000 cihazda 999.000. Peki binlerce router’da bu satırları kim elle yazacak?

42. bölüme devam et: Routing Protokolleri