Hacker DirectoryHacker Directory
Öğrenmeye devam et
ENHTML kaydet ↓

WEB / WEB-02.02

IP, route ve NAT

Hedef IP ile ilk komşu aynı şey olmayabilir. Route table’dan next hop seç; NAT/PAT uygulanırsa hangi adres ve portun değiştiğini izle.

CORE · RED · BLUE · ARTIFACT · PRACTICE

1. Core · Mekanizma

Hareket olmadan bütün senaryoları oku

Remote IPv4 · default + PAT

  1. Original TCP tuple hazır

    Destination 198.51.100.200, port 443; host source 192.0.2.10:51000. Addresses ve ports sentetik; hiçbir gerçek connection başlatılmaz.

    Gönderen host
    192.0.2.10:51000 → 198.51.100.200:443
    Gateway / router
    Henüz IP packet almadı
    Seçilmiş endpoint
    Henüz IP packet almadı
  2. Longest-prefix lookup local

    Connected /24 ve more-specific 198.51.100.0/25 bu destination’a eşleşmez. Default /0 next-hop 192.0.2.1’i seçer; IP destination remote kalır.

    Gönderen host
    Route /0 · next hop 192.0.2.1 · dst 198.51.100.200
    Gateway / router
    Henüz IP packet almadı
    Seçilmiş endpoint
    Henüz IP packet almadı
  3. Gateway original packet’i aldı

    İlk-hop delivery bitti. Link header komşuyu gösterir; gelen IP/TCP summary henüz source translation uygulanmamış tuple’dır.

    Gönderen host
    First-hop’a original tuple gönderildi
    Gateway / router
    Alındı: 192.0.2.10:51000 → 198.51.100.200:443
    Seçilmiş endpoint
    Henüz IP packet almadı
  4. Router lookup ve PAT local

    Seçilmiş egress route ve binding ile source 203.0.113.5:45000 olur. Destination 198.51.100.200:443 korunur. Rewrite’ın kendisi network transfer değildir.

    Gönderen host
    Inside tuple 192.0.2.10:51000
    Gateway / router
    PAT: 192.0.2.10:51000 ↔ 203.0.113.5:45000
    Seçilmiş endpoint
    Henüz IP packet almadı
  5. Endpoint translated tuple’ı aldı

    Örnekteki egress yolunda delivery tamamlandı. Aradaki bütün router’lar ve checksum byte’ları çizilmez; dış tuple yalnız bu noktadaki gözlemciye göre gösterilir.

    Gönderen host
    Inside tuple 192.0.2.10:51000
    Gateway / router
    Mapping hazır · outside 203.0.113.5:45000
    Seçilmiş endpoint
    Alındı: 203.0.113.5:45000 → 198.51.100.200:443
  6. Reply gateway’e ulaştı

    Seçilmiş reply 198.51.100.200:443’ten 203.0.113.5:45000’e gelir. Reply varlığı fixture koşuludur; HTTP response bytes gösterilmez.

    Gönderen host
    Reply henüz host’a ulaşmadı
    Gateway / router
    Reply alındı: dst 203.0.113.5:45000
    Seçilmiş endpoint
    Seçilmiş reply summary gönderildi
  7. Reverse mapping local

    Destination outside tuple aynı binding ile 192.0.2.10:51000 inside endpoint’ine döner. Remote source korunur; permission kararı gösterilmez.

    Gönderen host
    Reply henüz host’a ulaşmadı
    Gateway / router
    Reply dst yeniden yazıldı: 192.0.2.10:51000
    Seçilmiş endpoint
    Seçilmiş reply summary gönderildi
  8. Inside endpoint reply’ı aldı

    Reverse delivery tamamlandı. NAT ve firewall policy ayrı işlerdir; bu sahne firewall rule verdict’i üretmez.

    Gönderen host
    Reply alındı: 198.51.100.200:443 → 192.0.2.10:51000
    Gateway / router
    Reverse mapping kullanıldı
    Seçilmiş endpoint
    Seçilmiş reply summary gönderildi

Local /24 · gateway gerekmiyor

  1. On-link destination seçildi

    192.0.2.20 bu host’un configured /24 route’una eşleşir. Local/remote karar address’in görünüşü değil route context’idir.

    Gönderen host
    Dst 192.0.2.20 · route lookup bekliyor
    Gateway / router
    Transit packet almadı
    Seçilmiş endpoint
    Local peer · henüz packet almadı
  2. On-link lookup local

    En uzun eşleşme 192.0.2.0/24; next-hop destination’ın kendisi 192.0.2.20. Bu branch neighbor mapping’ini kullanılabilir varsayar.

    Gönderen host
    Route /24 · next hop 192.0.2.20 · NAT yok
    Gateway / router
    Transit packet almadı
    Seçilmiş endpoint
    Local peer · henüz packet almadı
  3. Local peer packet’i aldı

    Gateway’den geçmeden on-link delivery tamamlandı. IP source/destination 192.0.2.10 → 192.0.2.20 olarak kaldı.

    Gönderen host
    Local frame summary gönderildi
    Gateway / router
    Transit packet almadı
    Seçilmiş endpoint
    Alındı: IP 192.0.2.10 → 192.0.2.20

IPv6 · seçilen no-NAT

  1. IPv6 destination hazır

    Source 2001:db8:1::10, destination 2001:db8:2::20. Bu fixture on-link context ve next hop’u belirlenmiş varsayar.

    Gönderen host
    IPv6 2001:db8:1::10 → 2001:db8:2::20
    Gateway / router
    IPv6 packet almadı
    Seçilmiş endpoint
    IPv6 packet almadı
  2. IPv6 next-hop lookup local

    Seçilmiş next hop 2001:db8:1::1; ND mapping’i kullanılabilir. ARP kullanılmaz; complete IPv6 route discovery çizilmez.

    Gönderen host
    Next hop 2001:db8:1::1 · ND hazır
    Gateway / router
    IPv6 packet almadı
    Seçilmiş endpoint
    IPv6 packet almadı
  3. IPv6 gateway packet’i aldı

    First-hop delivery tamam. Source/destination değiştirilmedi.

    Gönderen host
    IPv6 summary gönderildi
    Gateway / router
    Alındı: 2001:db8:1::10 → 2001:db8:2::20
    Seçilmiş endpoint
    IPv6 packet almadı
  4. Forwarding local · translation yok

    Router seçilmiş egress path’ini kullanır; Hop Limit işlemi kavramsal, bytes verilmez. Bu seçilmiş path NAT uygulamaz; bütün IPv6 deployments için kural değildir.

    Gönderen host
    Source 2001:db8:1::10 korunur
    Gateway / router
    Egress hazır · translation false
    Seçilmiş endpoint
    IPv6 packet almadı
  5. IPv6 endpoint original adresleri gördü

    Seçilmiş routed delivery tamamlandı. Filtering ve application authorization ayrıca değerlendirilir.

    Gönderen host
    Source 2001:db8:1::10 korunur
    Gateway / router
    No-NAT forward tamam
    Seçilmiş endpoint
    Alındı: 2001:db8:1::10 → 2001:db8:2::20

Default yok · route bulunamadı

  1. Bu case’te default route kaldırıldı

    Destination yine 198.51.100.200’dür. Normal route table’dan farklı olarak bu senaryoda yalnız /24 ve /25 bulunur; default route yoktur.

    Gönderen host
    Dst 198.51.100.200 · default yok
    Gateway / router
    Packet almadı
    Seçilmiş endpoint
    Packet almadı
  2. Local lookup eşleşme bulmadı

    Ne /24 ne /25 destination’a eşleşir. Next hop bulunmadığı için bu fixture’da network transfer yapılmaz; gerçek OS error code üretilmez.

    Gönderen host
    Route yok · delivery başlamadı
    Gateway / router
    Packet almadı
    Seçilmiş endpoint
    Packet almadı

ROLLER · STATE · VERİ AKIŞI

IP address neyi tanımlar?

IP network katmanında packet’in source ve destination adreslerini taşır. IPv4 adresi 32 bit, IPv6 adresi 128 bit kullanır. 192.0.2.10 veya 2001:db8:1::10 biçimleri bu bitlerin okunabilir gösterimidir. Bir interface birden fazla adres taşıyabilir; adres host’un, insanın veya account’un değişmez identity’si değildir.

Bu dersin tüm IPv4 adresleri TEST-NET bloklarından, IPv6 adresleri 2001:db8::/32 documentation prefix’inden alınmıştır. “Inside” ve “outside” çizimdeki rollerin adıdır; 192.0.2.0/24 RFC1918 private address block değildir ve örnekler public Internet’e gönderilecek gerçek adresler değildir. Adres seçimi sentetik modeli tanımlar, canlı routability kanıtlamaz.

Subnet ve on-link kararı

Host’un 192.0.2.10/24 yapılandırması bu basit IPv4 örneğinde connected route 192.0.2.0/24 oluşturur. /24 ilk 24 bitin network prefix’ini ifade eder; mask 255.255.255.0’dır. 192.0.2.20 bu route’a uyar ve doğrudan on-link next hop olur. 198.51.100.200 bu prefix’e uymaz; başka bir route gerekir.

Local/remote, coğrafi yakınlık değil routing açısından on-link olma kararıdır. VPN veya daha özel route bu kararı değiştirebilir. IPv6’da adresin prefix’ini görmek tek başına bütün aynı-prefix hedeflerin on-link olduğunu varsaymak için yeterli değildir; on-link prefix/route bilgisi ve Neighbor Discovery router bilgisi rol oynar. IPv4 mask alıştırmasını bütün IPv6 topolojilerine aynen taşıma.

Route table ve default gateway

Artifact üç route içerir: connected 192.0.2.0/24, 198.51.100.0/25 için 192.0.2.254 üzerinden özel route ve 0.0.0.0/0 için 192.0.2.1 default gateway. Bu basit tek-table modelinde eşleşen en uzun prefix seçilir. 198.51.100.20 /25’e uyar; 198.51.100.200 uymaz ve default route kullanır. Default, diğer eşleşmelerin önüne geçen evrensel yol değildir.

Route lookup local işlemdir; next-hop MAC daha sonra o interface ve link için çözülür. Remote hedefe ilk frame gateway MAC’iyle gider, destination IP ise remote hedefi göstermeye devam eder. Router sonraki hop için yeni link header’ı kurar ve IPv4 TTL’yi azaltır. Normal routing, hedef IP’yi gateway IP’sine çevirmek değildir. Route bulunamaması, neighbor’ın çözülememesi ve remote service’in cevap vermemesi farklı failure sınırlarıdır.

NAT adresi, PAT adres ve portu çevirir

Routing çıkış yolunu seçer; NAT bu yol üzerindeki address translation işlevidir. Basic NAT IP adreslerini çevirir. PAT adıyla da anılan NAPT, TCP/UDP örneklerinde address+port tuple’larını çevirerek bir outside IP üzerinden birden çok inside akışı ayırabilir. Port kavramını sonraki ders açacak; burada stream’in hangi local endpoint’e döneceğini ayırt eden sayısal alan olarak düşün.

Örnekte TCP inside 192.0.2.10:51000 → 198.51.100.200:443, outside 203.0.113.5:45000 → aynı remote endpoint olarak görünür. Reply outside tuple’a geldiğinde mevcut mapping doğru inside tuple’a döndürür. Bu seçilmiş NAT policy örneğidir; bütün ürünlerin mapping/filter behavior’ının aynı olduğu iddia edilmez. Mapping state kaybı veya path asymmetry dönüşü bozabilir; address değişimi payload’ın şifrelendiği anlamına gelmez.

IPv6, NAT ve permission ayrı tasarım kararları

IPv6 geniş address space sağlar; routable IPv6 bağlantısı için IPv4-style NAT zorunlu değildir. Bu derste IPv6 no-NAT branch’i source 2001:db8:1::10 ve destination 2001:db8:2::20 adreslerini korur. First-hop link address yine ND ile çözülebilir. Bu bütün IPv6 deployments’ta translation hiç bulunmaz demek değildir; burada seçilmiş normal yol translation kullanmaz.

NAT mapping’in bulunması veya olmaması firewall policy’sinin yerine geçmez. Firewall hangi trafiğe izin verileceğini belirler, application authorization resource action’a karar verir. Bir outside IP’yi gören HTTP logunu “tek kullanıcı” diye okumak da doğru değildir: PAT arkasında farklı endpoints olabilir. Identity için application’ın kendi doğrulanmış bağlamı gerekir.

2. Red · Güven ve etki

Hareket olmadan bütün senaryoları oku

PAT / authority

  1. Gözlenen peer katmana bağlı

    TCP inside 192.0.2.10:51000, outside 203.0.113.5:45000 olarak çevrilir. HTTP peer gözlemi inside host’un account kimliği değildir.

    Peer observation
    Outside 203.0.113.5:45000
    Authority gate
    Identity karar yok
    Route / grant ayrımı
    Grant yok
  2. Mapping identity kurmaz

    Address/port/protocol mapping iletişim ilişkisini kurar. Çok sayıda inside tuple aynı outside IP’yi paylaşabilir; bir IP etiketi verified account yerine geçirilemez.

    Peer observation
    Outside 203.0.113.5:45000
    Authority gate
    Peer address ≠ verified principal
    Route / grant ayrımı
    Grant yok
  3. Next hop resource değildir

    DEFAULT case 198.51.100.200 için 192.0.2.1 gateway’ini seçer. Gateway’e forwarding, web resource’un gateway’de olması veya resource grant’i verilmesi değildir.

    Peer observation
    Outside 203.0.113.5:45000
    Authority gate
    Peer address ≠ verified principal
    Route / grant ayrımı
    nextHop=192.0.2.1 / target=remote
  4. Firewall ayrı control sahibidir

    Tuple translation ile explicit traffic filtering farklı görevlerdir. Mapping’in varlığı tam isolation, yokluğu herkese erişim sonucu üretmez; gerçek policy ayrı değerlendirilir.

    Peer observation
    Outside 203.0.113.5:45000
    Authority gate
    Translation ≠ filter verdict
    Route / grant ayrımı
    nextHop=192.0.2.1 / target=remote
  5. Application otoritesi yerinde kaldı

    Application verified principal ve resource policy kararını kendi güvenilir context’inden kurmalıdır. Network observation yardımcı context olabilir; account authority’ye kendiliğinden yükseltilmez.

    Peer observation
    Outside 203.0.113.5:45000
    Authority gate
    Verified context gerekli
    Route / grant ayrımı
    nextHop=192.0.2.1 / target=remote
  6. Etki claim’i kanıtla sınırlıdır

    Bu tuple fixture’ı yalnız route/translation scope’u gösterir. Gerçek peer identity, service acceptance veya data exposure kanıtı sunmaz; bunlar için ayrı üst katman gözlemleri gerekir.

    Peer observation
    Outside 203.0.113.5:45000
    Authority gate
    Verified context gerekli
    Route / grant ayrımı
    UNKNOWN: application authority

IPv6 / authority

  1. Gözlenen peer katmana bağlı

    IPv6 source=2001:db8:1::10 ve destination=2001:db8:2::20 translation=false yolundadır. NAT yokluğu application permission vermez.

    Peer observation
    IPv6 translation=false
    Authority gate
    Identity karar yok
    Route / grant ayrımı
    Grant yok
  2. Mapping identity kurmaz

    Address/port/protocol mapping iletişim ilişkisini kurar. Çok sayıda inside tuple aynı outside IP’yi paylaşabilir; bir IP etiketi verified account yerine geçirilemez.

    Peer observation
    IPv6 translation=false
    Authority gate
    Peer address ≠ verified principal
    Route / grant ayrımı
    Grant yok
  3. Next hop resource değildir

    IPv6 dalının next hop’u 2001:db8:1::1, uzak destination’ı 2001:db8:2::20’dir. Gateway’e forwarding, web resource’un gateway’de bulunduğunu veya application erişiminin verildiğini göstermez. Bu dal IPv4 DEFAULT route’unu kullanmaz.

    Peer observation
    IPv6 translation=false
    Authority gate
    Peer address ≠ verified principal
    Route / grant ayrımı
    nextHop=2001:db8:1::1 / hedef=2001:db8:2::20
  4. Firewall ayrı control sahibidir

    Tuple translation ile explicit traffic filtering farklı görevlerdir. Mapping’in varlığı tam isolation, yokluğu herkese erişim sonucu üretmez; gerçek policy ayrı değerlendirilir.

    Peer observation
    IPv6 translation=false
    Authority gate
    Translation ≠ filter verdict
    Route / grant ayrımı
    nextHop=2001:db8:1::1 / hedef=2001:db8:2::20
  5. Application otoritesi yerinde kaldı

    Application verified principal ve resource policy kararını kendi güvenilir context’inden kurmalıdır. Network observation yardımcı context olabilir; account authority’ye kendiliğinden yükseltilmez.

    Peer observation
    IPv6 translation=false
    Authority gate
    Verified context gerekli
    Route / grant ayrımı
    nextHop=2001:db8:1::1 / hedef=2001:db8:2::20
  6. Etki claim’i kanıtla sınırlıdır

    Bu tuple fixture’ı yalnız route/translation scope’u gösterir. Gerçek peer identity, service acceptance veya data exposure kanıtı sunmaz; bunlar için ayrı üst katman gözlemleri gerekir.

    Peer observation
    IPv6 translation=false
    Authority gate
    Verified context gerekli
    Route / grant ayrımı
    UNKNOWN: application authority

VARSAYIM · SINIR · KONTROL

Next hop’u nihai hedef sanmak

Normal forwarding’de gateway paketi başka hop’a taşır. “Destination gateway’dir, demek web resource gateway’de” varsayımı link/IP/application katmanlarını karıştırır. Yanlış route seçimi beklenen hedefe ulaşımı bozabilir; confidentiality etkisi üst katman peer doğrulamasına ve gerçek path’e bağlıdır.

Kontrol, seçilen route’un intended prefix/next hop/interface ile tutarlı olması ve application’ın hedef identity’yi ayrıca doğrulamasıdır. Bir gateway MAC’ini görmek remote site’nin kimliğini kanıtlamaz. Aynı next hop üzerinden farklı hedeflere gitmek normaldir.

Address translation’ı güvenlik policy’si saymak

NAT’ın tuple çevirmesi communication mekanizmasıdır. Mapping’in dar görünmesi bütün permission sınırlarını kurduğu anlamına gelmez. Static inbound mapping veya farklı filtering davranışı dışarıdan erişim kapsamını değiştirebilir; izin kararı ayrıca tanımlanmalıdır.

Necessary condition ve impact, hangi endpoint’in hangi port/protocol üzerinden reachable olduğuna bağlıdır. NAT’ın varlığından “tam isolation”, yokluğundan “her şey açık” sonucu çıkmaz. Explicit firewall controls ve trusted application authorization ayrı korumalardır.

Observed outside IP’yi actor authority yapmak

PAT aynı outside IP’den birçok inside tuple taşıyabilir. HTTP logundaki source IP’yi tek account’un otoritesi gibi kullanmak yanlış attribution veya aşırı geniş allow/deny oluşturabilir. IP-temelli controls yardımcı context olabilir; doğrulanmış actor identity’sinin yerine geçmez.

Korelasyonda address/port/protocol/time ve gerekli NAT mapping birlikte düşünülür. Eksik mapping veya timestamp ile hangi inside host olduğu tahmin olarak kalır. Bu ders gerçek trafiği ilişkilendirme veya hedeflerde NAT davranışı deneme workflow’u içermez.

3. Blue · Güvenli geliştirme ve savunma

Hareket olmadan bütün senaryoları oku

Reverse tuple

  1. Prefix seçimi ayrıca hesaplandı

    SPECIFIC destination=198.51.100.20 için /25 route default’tan uzundur; nextHop=192.0.2.254 olur. DEFAULT destination .200 ise /25 dışında kalır.

    Route evidence
    SPECIFIC → /25 via .254
    Mapping evidence
    PAT observation yok
    Correlation review
    Sonuç yok
  2. Tuple kanıtının scope’u okundu

    PAT fixture TCP inside 192.0.2.10:51000 ↔ outside 203.0.113.5:45000 eşleşmesini sağlar. Bunlar gateway capture değil verilen ilişkilerdir.

    Route evidence
    SPECIFIC → /25 via .254
    Mapping evidence
    TCP inside/outside mapping
    Correlation review
    Sonuç yok
  3. Reply tuple bağı ayrıldı

    Reply before translation hedefi 203.0.113.5:45000; reply after translation hedefi 192.0.2.10:51000’dır. Source 198.51.100.200:443 aynı kalır; port/protocol scope’u atlanmaz.

    Route evidence
    SPECIFIC → /25 via .254
    Mapping evidence
    TCP inside/outside mapping
    Correlation review
    Reverse tuple beklentisi
  4. On-link negative farkı korundu

    LOCAL 192.0.2.20 için nextHop hedefin kendisidir. Her route’u default gateway üzerinden açıklamak benign local erişimi yanlış modellemiş olur.

    Route evidence
    LOCAL → 192.0.2.20
    Mapping evidence
    TCP inside/outside mapping
    Correlation review
    Reverse tuple beklentisi
  5. No-NAT yolu normal olabilir

    ipv6NoNat.translation=false branch’ında mapping beklenmez. Eksik NAT event ancak NAT uygulanması gereken ve coverage bilinen scope içinde bir review boşluğudur.

    Route evidence
    LOCAL → 192.0.2.20
    Mapping evidence
    No-NAT IPv6 ayrı baseline
    Correlation review
    Reverse tuple beklentisi
  6. Correlation sonucu sınırlandı

    Sunulan forward/reverse tuple beklentileri tutarlıdır. Bu, checksum, canlı routability veya authenticated account kanıtı değildir.

    Route evidence
    LOCAL → 192.0.2.20
    Mapping evidence
    No-NAT IPv6 ayrı baseline
    Correlation review
    Route/tuple beklentileri uyumlu

Mapping kanıtı yok

  1. Prefix seçimi ayrıca hesaplandı

    SPECIFIC destination=198.51.100.20 için /25 route default’tan uzundur; nextHop=192.0.2.254 olur. DEFAULT destination .200 ise /25 dışında kalır.

    Route evidence
    SPECIFIC → /25 via .254
    Mapping evidence
    PAT observation yok
    Correlation review
    Sonuç yok
  2. Tuple kanıtının scope’u okundu

    Bu branch PAT observation’ını çıkarır. Route table tek başına observed outside port=45000 değerini veya inside attribution’ı vermez.

    Route evidence
    SPECIFIC → /25 via .254
    Mapping evidence
    PAT scope eksik
    Correlation review
    Sonuç yok
  3. Reply tuple bağı ayrıldı

    Reply before translation hedefi 203.0.113.5:45000; reply after translation hedefi 192.0.2.10:51000’dır. Source 198.51.100.200:443 aynı kalır; port/protocol scope’u atlanmaz.

    Route evidence
    SPECIFIC → /25 via .254
    Mapping evidence
    PAT scope eksik
    Correlation review
    Reverse tuple beklentisi
  4. On-link negative farkı korundu

    LOCAL 192.0.2.20 için nextHop hedefin kendisidir. Her route’u default gateway üzerinden açıklamak benign local erişimi yanlış modellemiş olur.

    Route evidence
    LOCAL → 192.0.2.20
    Mapping evidence
    PAT scope eksik
    Correlation review
    Reverse tuple beklentisi
  5. No-NAT yolu normal olabilir

    ipv6NoNat.translation=false branch’ında mapping beklenmez. Eksik NAT event ancak NAT uygulanması gereken ve coverage bilinen scope içinde bir review boşluğudur.

    Route evidence
    LOCAL → 192.0.2.20
    Mapping evidence
    No-NAT IPv6 ayrı baseline
    Correlation review
    Reverse tuple beklentisi
  6. Correlation sonucu sınırlandı

    Route choice bilinir; PAT attribution UNKNOWN kalır. HTTP source IP’den inside actor tahmini yapılmaz; aynı observation point/time/protocol mapping’i istenir.

    Route evidence
    LOCAL → 192.0.2.20
    Mapping evidence
    No-NAT IPv6 ayrı baseline
    Correlation review
    UNKNOWN: inside attribution

UYGULAMA · GÜVENLİK KONTROLÜ · DOĞRULAMA

Route ve translation ayrı observation’lar

Route table intended next hop/interface’i gösterir; frame header o linkte kullanılan neighbor’ı gösterebilir. NAT table inside/outside tuple ilişkisini açıklar. HTTP access logu application’ın gördüğü peer’ı yazar. Biri diğerlerinin bütün alanlarını otomatik kanıtlamaz.

Örnekte TCP 51000→45000 port değişimi seçilmiş mapping’in alanıdır. Bu veri gerçek gateway logu değil. Production telemetry’sinde pre/post NAT adreslerin adı, hook konumu ve zamanın anlamı vendor şemasıyla açıklanmalıdır.

Local, default ve more-specific baseline

192.0.2.20 için on-link, 198.51.100.20 için /25 via .254, 198.51.100.200 için default via .1 beklenir. Positive örnek intended route/mapping sonucu; benign varyasyon daha özel route’un default’ı geçmesidir. Route yoksa no-route sonucu ayrı tutulur.

NAT mapping kaydının olmaması her zaman deny değildir: no-NAT IPv6 veya translation uygulanmayan yol normal olabilir. Mapping varken remote response olmaması da yalnız NAT kaynaklı failure kanıtı değildir; downstream/firewall/service gözlemleri gerekir.

Beklenen alanları karşılaştır

Bu fixture’da route matching’i IP prefix üzerinden hesapla; aynı endpoint için route ve next-hop açıklaması eşleşir. NAT forward mapping’den türetilen reverse tuple inside endpoint’e döner. Bu kontrol header checksum veya canlı routability testi değildir.

Dayanıklı değişiklik review’si yeni route’un scope’unu, NAT state’ini, return path’i ve firewall policy’sini birlikte ele alır. Default route’u daraltırken meşru more-specific/on-link erişimi bozmamayı doğrula. Eksik kanıtla tek bir timeout’u malicious activity diye etiketleme.

ŞİMDİ VAKAYA UYGULA

Address translation’ın verdiği bilgi nerede biter?

192.0.2.10 host’u, uzak hedef için seçilen route’u kullanır. PAT source port’u değiştirebilir; IPv6 örneğinde ise translation yoktur. Her iki durumda da network adresi, doğrulanmış kullanıcı kimliğinin veya application izninin yerini tutmaz.

Vakadaki response hangi network yolu üzerinden taşınır? Byte, IP route, socket ve firewall bilgisini application’ın doğru kitabı döndürdüğü sonucundan ayrı değerlendir.

Bağlı vaka dosyasını aç ↗

ÖRNEĞİ BİRLİKTE OKUYALIM

Route table ve tek PAT mapping’i

Bir alan seç; hangi sonucu desteklediğini ve nerede yetersiz kaldığını incele.

Ham kaydı ve alan açıklamalarını oku
{
  "host": {
    "address": "192.0.2.10",
    "prefixLength": 24,
    "mask": "255.255.255.0",
    "interface": "eth-demo"
  },
  "routeSelection": "single table; longest destination-prefix match; ties/policy routing omitted",
  "routes": [
    {
      "prefix": "192.0.2.0/24",
      "via": null,
      "interface": "eth-demo"
    },
    {
      "prefix": "198.51.100.0/25",
      "via": "192.0.2.254",
      "interface": "eth-demo"
    },
    {
      "prefix": "0.0.0.0/0",
      "via": "192.0.2.1",
      "interface": "eth-demo"
    }
  ],
  "cases": [
    {
      "id": "LOCAL",
      "destination": "192.0.2.20",
      "expectedPrefix": "192.0.2.0/24",
      "expectedNextHop": "192.0.2.20"
    },
    {
      "id": "SPECIFIC",
      "destination": "198.51.100.20",
      "expectedPrefix": "198.51.100.0/25",
      "expectedNextHop": "192.0.2.254"
    },
    {
      "id": "DEFAULT",
      "destination": "198.51.100.200",
      "expectedPrefix": "0.0.0.0/0",
      "expectedNextHop": "192.0.2.1"
    }
  ],
  "pat": {
    "protocol": "TCP",
    "inside": {
      "ip": "192.0.2.10",
      "port": 51000
    },
    "outside": {
      "ip": "203.0.113.5",
      "port": 45000
    },
    "remote": {
      "ip": "198.51.100.200",
      "port": 443
    },
    "replyBeforeTranslation": {
      "sourceIp": "198.51.100.200",
      "sourcePort": 443,
      "destinationIp": "203.0.113.5",
      "destinationPort": 45000
    },
    "replyAfterTranslation": {
      "sourceIp": "198.51.100.200",
      "sourcePort": 443,
      "destinationIp": "192.0.2.10",
      "destinationPort": 51000
    }
  },
  "ipv6NoNat": {
    "source": "2001:db8:1::10",
    "destination": "2001:db8:2::20",
    "nextHop": "2001:db8:1::1",
    "translation": false
  },
  "addressPurpose": "Documentation-only; inside/outside roles do not reclassify TEST-NET as private/global-routable."
}
prefix / via / interface
Eşleşme scope’u, next-hop gateway veya on-link route ve çıkış interface’i.
expectedPrefix / expectedNextHop
Deterministik longest-prefix-match sonucu; canlı route cache kaydı değil.
inside / outside / remote
Bu TCP mapping’inin üç tuple rolü; global NAT ürünü şeması değil.
replyBeforeTranslation / replyAfterTranslation
Reverse mapping’de yalnız ilgili destination tuple’ın inside endpoint’e dönüşü.
ipv6NoNat.translation
Seçilmiş IPv6 branch’i NAT uygulamaz; bütün IPv6 deployments hakkında kural değildir.

İnert sentetik route/NAT table; actual forwarding, checksum, TTL packet bytes veya firewall kararı değil. Tek-table LPM ve seçilmiş mapping; policy routing, ECMP, NAT filtering çeşitleri ve bütün IPv6 next-hop kuralları modellenmez.

İki yanlış kanı

Remote IP paketinin destination alanı ilk gateway’in IP’si olur.

Ordinary routing’de IP destination remote hedef olarak kalır; first-hop link address gateway’i gösterir. NAT gibi ayrı translation varsa ilgili alanlar değişebilir.

NAT varsa firewall ve authorization da otomatik vardır.

Translation, traffic filtering ve resource permission farklı görevlerdir; her birinin policy ve enforcement’ı ayrı doğrulanır.

SIRA SENDE

Bu hikâyeyi sen çöz.

Sonucu tahmin et, kanıtın sınırını bul ve nedenini kendi cümlenle anlat.

198.51.100.20 destination’ı için hangi route seçilir?

  1. 198.51.100.0/25; next hop 192.0.2.254.
  2. Remote destination için her zaman default gateway 192.0.2.1.
Gerekçeli cevabı oku

198.51.100.0/25; next hop 192.0.2.254. — Bu destination /25 içindedir. Daha az specific olan default /0 seçilmez.

Bu reply dönüşümünde hangi endpoint geri kurulur?

Dersten seçilen artifact alanları; öğretim örneği

pat.replyBeforeTranslation
{"sourceIp":"198.51.100.200","sourcePort":443,"destinationIp":"203.0.113.5","destinationPort":45000}
pat.replyAfterTranslation
{"sourceIp":"198.51.100.200","sourcePort":443,"destinationIp":"192.0.2.10","destinationPort":51000}
  1. 203.0.113.5:45000 yerine 192.0.2.10:51000.
  2. Remote server IP’si 192.0.2.10 yapılır.
Gerekçeli cevabı oku

203.0.113.5:45000 yerine 192.0.2.10:51000. — PAT mapping reply destination tuple’ını iç endpoint’e çevirir. Remote source aynı kalır.

IPv6 no-NAT profilinde translation=false. Route ve firewall neden hâlâ ayrı sorulardır?

Gerekçeli cevabı oku

Bu profil IPv6 source/destination değerlerini değiştirmez. Next hop seçimi yine gerekir; firewall forwarding iznini ayrıca belirler. NAT olmaması her trafiğin izinli olduğunu veya bütün IPv6 deployment’larının aynı davrandığını göstermez.

□ No-NAT sonucunu bu profille sınırladım.

□ Route, translation ve permission görevlerini ayırdım.

Uygulama konsolunu aç · request / response / browser
Request, URL, cookie ve DOM örneklerini ayrıca aç

Kaynaklar ve kapsam