{"id":358,"title":"DNS \u00d6nbellek Davran\u0131\u015flar\u0131n\u0131n Anatomisi: Get-DnsServerCache ile Derin Analiz","content":"<h2>DNS'in Ya\u015fam Damar\u0131 ve &Ouml;nbellek Mekanizmas\u0131<\/h2>\n<p><iframe style=\"width: 636px; height: 358px;\" src=\"https:\/\/www.youtube.com\/embed\/GzP0ZzhiA98\" width=\"636\" height=\"358\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>DNS &ouml;nbelle\u011fi, a\u011f\u0131n\u0131z\u0131n g&ouml;r&uuml;nmez h\u0131zland\u0131r\u0131c\u0131s\u0131d\u0131r. Tekrarlanan sorgular\u0131 k\u0131sa s&uuml;reli bellekte tutarak gecikmeyi azalt\u0131r, trafi\u011fi hafifletir ve g&uuml;venlikte do\u011fal bir tampon olu\u015fturur. Windows DNS taraf\u0131nda bu nabz\u0131 &ouml;l&ccedil;menin en pratik yolu: Get-DnsServerCache. A\u015fa\u011f\u0131da, &ouml;nbelle\u011fin nas\u0131l &ccedil;al\u0131\u015ft\u0131\u011f\u0131n\u0131, hangi katmanlardan olu\u015ftu\u011funu, &ouml;l&ccedil;&uuml;mleri nas\u0131l yorumlayaca\u011f\u0131n\u0131z\u0131 ve performans ile g&uuml;venli\u011fi birlikte optimize etmenin yol haritas\u0131n\u0131 bulacaks\u0131n\u0131z.<\/p>\n<pre class=\"language-csharp\"><code># Temel &ouml;nbellek istatistiklerini g&ouml;r&uuml;nt&uuml;leme\nGet-DnsServerCache -ComputerName DNSServer01 | Format-List *\n<\/code><\/pre>\n<p>DNS &ouml;nbelle\u011fi, modern a\u011f ileti\u015fiminin sessiz kahraman\u0131d\u0131r. T\u0131pk\u0131 insan beyninin s\u0131k kullan\u0131lan bilgileri k\u0131sa s&uuml;reli haf\u0131zada tutmas\u0131 gibi, DNS sunucular\u0131 da tekrarlanan sorgular i&ccedil;in ge&ccedil;ici depolama alan\u0131 olu\u015fturur. Bu mekanizma:<\/p>\n<p>- Sorgu &ccedil;&ouml;z&uuml;mleme s&uuml;resini [RTT x N] form&uuml;l&uuml;nden [RTT + Cache] form&uuml;l&uuml;ne indirger<br>- A\u011f trafi\u011fini %40-70 oran\u0131nda azalt\u0131r<br>- DDoS sald\u0131r\u0131lar\u0131na kar\u015f\u0131 do\u011fal bir tampon g&ouml;revi g&ouml;r&uuml;r<\/p>\n<h3>Get-DnsServerCache: Windows DNS'in Stetoskobu<\/h3>\n<p>D&uuml;\u015f&uuml;k TTL&rsquo;li kay\u0131tlar:<\/p>\n<pre class=\"language-csharp\"><code>Get-DnsServerCache | Where-Object {$.TimeToLive -lt 3600} | Sort-Object TimeToLive | Format-Table HostName, @{Label=\"TTL(Min)\";Expression={$.TimeToLive\/60}}, RecordType<\/code><\/pre>\n<p>Bu PowerShell cmdlet'i ile &ouml;nbelle\u011fin nabz\u0131n\u0131 tutabiliriz:<\/p>\n<pre class=\"language-csharp\"><code># TTL s&uuml;resi 1 saatten az olan kay\u0131tlar\u0131 filtreleme\nGet-DnsServerCache | Where-Object {$_.TimeToLive -lt 3600} | \nSort-Object -Property TimeToLive | \nFormat-Table HostName, @{Label=\"TTL(Min)\";Expression={$_.TimeToLive\/60}}, RecordType<\/code><\/pre>\n<p>&nbsp;<\/p>\n<h3>&Ouml;nbellek Katmanlar\u0131 ve Ya\u015fam D&ouml;ng&uuml;s&uuml;<\/h3>\n<p>&Ouml;nce resmin tamam\u0131n\u0131 netle\u015ftirelim: DNS &ouml;nbellek, farkl\u0131 katmanlar\u0131n TTL (Time To Live) de\u011ferleri ve yenilenme mekanizmalar\u0131yla bir ekosistem gibi &ccedil;al\u0131\u015f\u0131r.<\/p>\n<h3>Katmanlar ve Ya\u015fam D&ouml;ng&uuml;s&uuml;<\/h3>\n<ul>\n<li>Root Hint\n<ul>\n<li>TTL: 7&ndash;14 g&uuml;n<\/li>\n<li>Yenilenme: Registry tabanl\u0131 kay\u0131tlar<\/li>\n<\/ul>\n<\/li>\n<li>TLD (Top-Level Domain)\n<ul>\n<li>TTL: 48&ndash;72 saat<\/li>\n<li>Yenilenme: Zone transfer s&uuml;re&ccedil;leri<\/li>\n<\/ul>\n<\/li>\n<li>Authoritative (Yetkili sunucu)\n<ul>\n<li>TTL: 1&ndash;24 saat<\/li>\n<li>Yenilenme: SOA kay\u0131tlar\u0131 &uuml;zerinden<\/li>\n<\/ul>\n<\/li>\n<li>Domain (Uygulama\/servis sorgular\u0131)\n<ul>\n<li>TTL: 5&ndash;300 saniye<\/li>\n<li>Yenilenme: Recursive query<\/li>\n<\/ul>\n<\/li>\n<li>Negatif &Ouml;nbellek (NXDOMAIN\/NODATA)\n<ul>\n<li>&ldquo;Bulunamad\u0131&rdquo; yan\u0131tlar\u0131n\u0131n belli bir s&uuml;re saklanmas\u0131<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Bu katmanl\u0131 yap\u0131, sorgu maliyetini &ldquo;RTT x N&rdquo; d&uuml;zeyinden &ldquo;RTT + Cache&rdquo; d&uuml;zeyine indirerek ciddi verim kazand\u0131r\u0131r ve trafi\u011fi %40&ndash;70 azaltabilir.<br>DNS &ouml;nbelle\u011fi katmanl\u0131 bir mimariyle &ccedil;al\u0131\u015f\u0131r:<\/p>\n<p>&nbsp;<\/p>\n<p><img src=\"..\/..\/..\/uploads\/images\/2025\/12\/69478e776b711_1766297207.png\" width=\"694\" height=\"166\"><\/p>\n<p>Her katman\u0131n TTL de\u011ferleri:<br><br><\/p>\n<table>\n<thead>\n<tr>\n<th>Katman<\/th>\n<th>TTL Aral\u0131\u011f\u0131<\/th>\n<th>Yenilenme Mekanizmas\u0131<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Root Hint<\/td>\n<td>7-14 g&uuml;n<\/td>\n<td>Registry kay\u0131tlar\u0131<\/td>\n<\/tr>\n<tr>\n<td>TLD<\/td>\n<td>48-72 saat<\/td>\n<td>Zone transfer<\/td>\n<\/tr>\n<tr>\n<td>Authoritative<\/td>\n<td>1-24 saat<\/td>\n<td>SOA kay\u0131tlar\u0131<\/td>\n<\/tr>\n<tr>\n<td>Domain<\/td>\n<td>5-300 sn<\/td>\n<td>Recursive query<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h3>Negatif &Ouml;nbellekleme: Bilinmeyenin Anatomisi<\/h3>\n<p><br>Negatif &ouml;nbellek, \"bulunamayan\" cevaplar\u0131n depolanmas\u0131d\u0131r. Kritik parametreler:<\/p>\n<p>NegativeCacheTime**: Varsay\u0131lan 300 sn (RFC 2308)<br>SecureResponseExpiration**: 15 dakika<br>MaxNegativeCacheTtl**: 86400 sn (24 saat)<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"language-csharp\"><code># Negatif &ouml;nbellek optimizasyonu\nSet-DnsServerNegativeAnswerCache -Enable $true -MaximumCacheTtl 7200\n<\/code><\/pre>\n<h3>Performans Analizi: &Ouml;nbellek Matemati\u011fi<\/h3>\n<p><br>&Ouml;nbellek performans\u0131n\u0131 etkileyen fakt&ouml;rler:<\/p>\n<pre class=\"language-csharp\"><code># Canl\u0131 &ouml;nbellek izleme\nwhile($true) {\n  $cache = Get-DnsServerCache -ComputerName DNSServer01\n  $hitRate = ($cache.HitCount \/ ($cache.HitCount + $cache.MissCount)).ToString(\"P\")\n  Write-Host \"$(Get-Date -Format 'HH:mm:ss') - Hit Rate: $hitRate\"\n  Start-Sleep -Seconds 5\n}<\/code><\/pre>\n<p>&nbsp;<\/p>\n<h3>G&uuml;venlik Senaryolar\u0131: &Ouml;nbellek Zehirlenmesine Kar\u015f\u0131<\/h3>\n<p><br>Savunma mekanizmalar\u0131:<\/p>\n<p>1. **Randomize Source Port**: 1024-65535 aras\u0131 rastgele port<br>2. **DNSSEC Validation**: RSA-2048 imza do\u011frulama<br>3. **Cache Locking**: %75 TTL kilitleme<br>4. **Response Rate Limiting**: 5 sorgu\/saniye<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"language-csharp\"><code># G&uuml;venlik optimizasyon komutlar\u0131\nSet-DnsServerCache -LockingPercent 75 -MaxKBSize 1024\nSet-DnsServerResponseRateLimiting -Enable $true -ErrorsPerSecond 5<\/code><\/pre>\n<h3>\u0130leri Seviye Analiz Teknikleri<\/h3>\n<p><br>Wireshark ile &ouml;nbellek davran\u0131\u015f\u0131 inceleme:<\/p>\n<pre class=\"language-csharp\"><code>tcpdump\ndns.flags.response == 0 &amp;&amp; dns.qry.type == 1  # IPv4 sorgular\u0131\ndns.flags.rcode == 0                          # Ba\u015far\u0131l\u0131 yan\u0131tlar\ndns.time &gt;= 0.5                               Yava\u015f sorgular<\/code><\/pre>\n<p><br><br><\/p>\n<h3>Bulut Entegrasyonu: Azure DNS &Ouml;zel Davran\u0131\u015flar<\/h3>\n<p><br>Bulut ortam\u0131nda dikkat edilmesi gerekenler:<\/p>\n<p>- TTL override &ouml;zelli\u011fi (min 1 sn)<br>- Global anycast &ouml;nbellek<br>- Otomatik cache flushing mekanizmas\u0131<\/p>\n<h2>&Ouml;neriler&nbsp;<\/h2>\n<p>A\u015fa\u011f\u0131daki maddeler, sahada h\u0131zl\u0131 etki yaratan uygulamal\u0131 ad\u0131mlar\u0131 &ouml;zetler.<\/p>\n<ul>\n<li>Envanter ve s\u0131n\u0131fland\u0131rma\n<ul>\n<li>Servisleri &ldquo;statik&rdquo;, &ldquo;yar\u0131 dinamik&rdquo;, &ldquo;dinamik&rdquo; olarak ay\u0131r\u0131n; TTL stratejisini buna g&ouml;re belirleyin.<\/li>\n<\/ul>\n<\/li>\n<li>Hit\/Miss tabanl\u0131 tuning\n<ul>\n<li>Haftal\u0131k ortalamalarla % hedefleri koyun; kritik servislerde cache hit&rsquo;in d&uuml;\u015f&uuml;k oldu\u011fu saat aral\u0131klar\u0131n\u0131 yakalay\u0131n.<\/li>\n<\/ul>\n<\/li>\n<li>G&uuml;venlik katmanlar\u0131 birlikte\n<ul>\n<li>Cache locking + RRL + DNSSEC bir arada kullan\u0131ld\u0131\u011f\u0131nda zehirleme ve f\u0131rt\u0131na trafi\u011fi bask\u0131lan\u0131r.<\/li>\n<\/ul>\n<\/li>\n<li>Negatif cache bilin&ccedil;li y&ouml;netim\n<ul>\n<li>Geli\u015ftirme\/CI\/CD yo\u011fun ortamlarda negatif TTL&rsquo;i k\u0131salt\u0131n; prod&rsquo;da a\u015f\u0131r\u0131 k\u0131saltmay\u0131n.<\/li>\n<\/ul>\n<\/li>\n<li>G&ouml;zlem d&ouml;ng&uuml;s&uuml; kurun\n<ul>\n<li>PowerShell izleme beti\u011fi + paket analizi + event log korelasyonu ile haftal\u0131k rapor &uuml;retin.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>A\u015fa\u011f\u0131daki tablo, karar verirken &ouml;zet bak\u0131\u015f sa\u011flar.<\/p>\n<p><img src=\"..\/..\/..\/uploads\/images\/2025\/12\/69478e776dbb0_1766297207.png\"><\/p>\n<ul>\n<li>Genel durum: Get-DnsServerCache -ComputerName DNSServer01 | Format-List *<\/li>\n<li>D&uuml;\u015f&uuml;k TTL analizi: Where-Object {$_.TimeToLive -lt 3600}<\/li>\n<li>G&uuml;venlik: Set-DnsServerCache -LockingPercent 75 -MaxKBSize 1024<\/li>\n<li>RRL: Set-DnsServerResponseRateLimiting -Enable $true -ErrorsPerSecond 5<\/li>\n<li>Negatif cache: Set-DnsServerNegativeAnswerCache -Enable $true -MaximumCacheTtl 7200<\/li>\n<\/ul>\n<p><br>Etkili DNS &ouml;nbellek y&ouml;netimi, performans ile veri tazeli\u011fi aras\u0131ndaki ince dengeyi kurma sanat\u0131d\u0131r. Get-DnsServerCache, bu dengeyi &ouml;l&ccedil;mek ve y&ouml;nlendirmek i&ccedil;in g&uuml;&ccedil;l&uuml; bir stetoskop g&ouml;revi g&ouml;r&uuml;r. Katmanlar\u0131 ve TTL&rsquo;leri bilin&ccedil;li tasarlad\u0131\u011f\u0131n\u0131zda, hit oran\u0131 y&uuml;kselir, a\u011f trafi\u011fi hafifler ve g&uuml;venlik duru\u015fu g&uuml;&ccedil;lenir. Bu &ccedil;er&ccedil;eveyi bir izleme d&ouml;ng&uuml;s&uuml;yle destekleyerek, a\u011f ileti\u015fiminizin ritmini d&uuml;zenli ve &ouml;ng&ouml;r&uuml;lebilir bi&ccedil;imde korursunuz.<\/p>\n<p>Ref.: https:\/\/medium.com\/@tugrulkilic\/dns-cache-davran%C4%B1%C5%9Flar%C4%B1n%C4%B1n-anatomisi-get-dnsservercache-derinlemesine-analiz-446519247288<\/p>","excerpt":"","created_at":"2025-11-29 09:49:12","updated_at":"2026-09-06 17:36:12","category_id":6,"view_count":540,"reading_time":5,"status":"published","editor_choice":0,"is_editor_choice":0,"published_at":"2025-11-29 06:49:00","featured_image":"9e305f95715468dd4d68440fe37d104f.png","slug":"dns-onbellek-davranislarinin-anatomisi-get-dnsservercache-ile-derin-analiz","category_name":"Sistem","category_slug":"sistem"}