DevOps Foundations · Modül 2: Ağ, DNS, HTTP ve TLS
IP Adresleri, CIDR ve Yönlendirme
Her bağlantı sorunu üç tabloyla ilgili sorudur: adresler, rotalar ve dinleyiciler. Bu ders ilk ikisini öğretir; ulaşılamaz, bilinemez olmaktan çıkar.
10 dk okuma
Kazanımlar
- CIDR bloğunu okuyup aralığını, büyüklüğünü ve iki makinenin aynı alt ağda olup olmadığını söylemek
- Yönlendirme tablosuyla paketin hangi arayüz ve ağ geçidinden gideceğini tahmin etmek
- IP'leri doğru iki makinenin neden hâlâ ulaşamadığını açıklamak
- Her bağlantı olayında ilk kontrol olarak ip addr ve ip route çıktılarını kullanmak
Neden önemli
Servis yeni alt ağa taşınır, arayanların yarısı düşer. Uygulama değişmedi, DNS değişmedi, güvenlik duvarı ekibi hiçbir şeyin değişmediğinde ısrarlı. Değişen, en uzun önek eşleşmesidir: eskiden varsayılan ağ geçidine düşen paketler artık hiçbir yere gitmeyen daha özgül rotayla eşleşir. Yönlendirme tablosu okuyan mühendis bunu dakikada çözer; diğerleri makine yeniden başlatıp aynı kaydı yeniden açar.
Kavramlar
IPv4 adresi 32 bittir; CIDR yazımı kaçının ağı tanımladığını söyler. 10.20.5.0/24 içinde ilk 24 bit ağ, son 8 bit makinelerdir: 10.20.5.0'dan 10.20.5.255'e 256 adres; .0 ağ kimliği, .255 yayın adresi, geriye 254 kullanılabilir kalır. /26 bunu iki kez daha yarıya indirir: 62 kullanılabilir makine. Önek uzunluğu oyunun tamamıdır: aynı hat üzerindeki /24 ve /25 çakışır; çakışan alt ağlar paketlerin yanlış makineden yanıt alması demektir.
Yönlendirme tablosu paket başına tek soruyu yanıtlar: hangi arayüzden, hangi ağ geçidiyle. ip route ile oku: her satır hedef, cihaz ve sonraki duraktır; çekirdek en uzun eşleşen öneki seçer, yoksa varsayılana düşer. Aynı yere iki rota varsa özgül olan kazanır, her zaman. Makinenin kendisinde ip addr hangi adreslerin hangi arayüzlerde yaşadığını gösterir; 127.0.0.1'e bağlı servis yalnızca localhost yanıtlar ve hiçbir güvenlik duvarı kuralı onu dışarıdan ulaşılabilir yapmaz, çünkü paket geri döngüden hiç çıkmaz.
Klasik ayrım: adres doğru, rota yanlış (paketler yanlış ağ geçidinden çıkar ve ölür); rota doğru, dinleyen yok (paketler varır ve RST alır; ss -tlnp saniyede gösterir); ikisi doğru, maske yanlış (iki makine de diğerinin yerel olduğunu sanır, ARP tutar ama dönüş trafiği başka yöne gider). Her birinin düzeltmesi farklıdır; tablo dokunmadan hangi dünyada olduğunu söyler.
Uygulamalı örnek
10.20.5.40'taki uygulama, alt ağı taşınmış 10.20.6.10'daki veritabanına ulaşamıyor:
$ ip route show default via 10.20.5.1 dev eth0 10.20.5.0/24 dev eth0 scope link 10.20.0.0/16 via 10.20.5.254 dev eth0 $ ip route get 10.20.6.10 10.20.6.10 via 10.20.5.254 dev eth0 src 10.20.5.40
Beklenen okuma: .6.x'i kapsayan doğrudan /24 yok; .5.254 üzerinden /16 eşleşiyor, paketler eski bağlantı ağ geçidine gidiyor. O ağ geçidi artık veritabanının yeni alt ağına route etmiyorsa her bağlantı zaman aşımına uğrar; DNS, port ve kimlik bilgileri sağlıklı görünür. Düzeltme rotadır, yeniden başlatma değil: doğru daha özgül girdi veya düzeltilmiş ağ geçidi; öncesi ve sonrası ip route get ile doğrulanır. Dokunulmayanlar: uygulama, konfigürasyonu ve veritabanı.
Yaygın yanlış hamle
Önce güvenlik duvarını kapatmak. Sorun adresleme veya yönlendirmedeyse güvenlik duvarı zaten yolda değildi; test, ekibin güvenlik duvarı olmadan hata ayıklamasından başka hiçbir şey öğretmez. Güvenlik duvarının sırası sabit düzendedir: adres (IP doğru mu), rota (paket doğru çıkıyor mu), dinleyici (karşıda bir şey var mı), sonra filtre (engelleniyor mu). Dördüncü adıma atlamak her kesintiyi kendi elinle güvenlik olayına çevirir.
Lab ve sonraki adım
L04-L06 lablarının her biri bu tablo-önce disiplininden başlar. Sırada 2. ders: sayılara isim ekler; makine adının adrese nasıl dönüştüğü ve bu çevirinin nerelerde yalan söyleyebileceği.
Mini kontrol
4 soruluk isteğe bağlı öz kontrol. Yanıtlar cihazından çıkmaz, saklanmaz ve hiçbir değerlendirmeye sayılmaz.
Ders geri bildirimi
Henüz yayında geri bildirim yok.
Geri bildirim yazmak için giriş yap ve dersi tamamla.
Kaynaklar
Alıştırma
Makinende ip addr ve ip route çalıştır; sonra yazarak yanıtla: birincil adresin ve önekin, varsayılan ağ geçidin ve 8.8.8.8'e giden paketin rotası. Sonra ip route get 8.8.8.8 çalıştırıp kendini doğrula ya da düzelt.
Geçme kriterleri
Birincil adres, önek uzunluğu ve ağ geçidi get komutundan önce belirtilmiş; get çıktısı alıntılanmış; tahmindeki düzeltme açıkça yazılmış.