Paid-by-themewiki.top
EnglishFrenchGermanItalianJapanesePortugueseRussianSpanishTurkish

CCNA Gün 31 - DNS (Domain Name System)

Bu Yazıda DNS'nin Kullanılma Amacı / Temel İşlevleri ve Cisco IOS Üzerinde DNS Yapılandırması Hakkında Bilgi Edineceğiz.

DNS, İnsanların İnternet gibi Ağlar Üzerinden Kaynaklara Erişmesini Kolaylaştırmakla İlgilidir. Örneğin Bir IP Adresi Girmek Yerine YouTube'a Erişmek için 'youtube.com' Alan Adını (Domain Name) Kullanmamıza İzin Verir. 'youtube.com' veya 'google.com' Gibi Adları IP Adreslerinden Daha Kolay Hatırlayabiliriz.

DNS'nin Kullanılma Amacı ve Temel İşlevleri

DNS, google.com gibi İnsan Tarafından Okunabilen Alan Adlarını (Domain Name) IP Adreslerine Çözümlemek için Kullanılır. PC Gibi Hostlar İsim Kullanmaz, IPv4/IPv6 Adresi Kullanırlar. Ancak Biz İnsanlar için İsimleri Kullanmak ve Hatırlamak IP Adreslerinden Çok Daha Kolaydır. youtube.com'un IP Adresi Nedir? Muhtemelen Hiçbir Fikriniz Yok. DNS Sayesinde youtube.com'un IP Adresini Hatırlamak Zorunda Kalmadan Erişebilirsiniz.

Bir Web Tarayıcısına 'youtube.com' Yazdığınızda Cihazınız youtube.com'un IP Adresini DNS Server'a Soracaktır. Cihazın Kullandığı DNS Server Manuel olarak Yapılandırılabilir veya DHCP Aracılığıyla Öğrenilebilir.

Topoloji

dns topology

PC1 - Windows 10

ipconfig /all

windows 10 ipconfig all

Hostlar Genellikle DHCP Aracılığıyla Hangi DNS Server'ın Kullanılacağını Otomatik olarak Öğrenecektir. Ancak DHCP'yi Henüz Öğrenmedik, Bu Nedenle PC1'i Google DNS Server 8.8.8.8'i Kullanacak Şekilde Manuel olarak Yapılandırdım.

nslookup (Name Server Lookup)

Belirtilen Alan Adının IP Adresini DNS Server'a Sorar.

windows 10 nslookup

nslookup Komutu ile Google DNS Server'a (8.8.8.8) youtube.com'un IP Adresini Soruyoruz. DNS Server Cevap olarak IPv4 ve IPv6 Adreslerini Gönderiyor.

Ardından IP Adresi Yerine Alan Adını (Domain Name) Belirterek Ping Deniyoruz. youtube.com, IP Adresine Dönüştürülür ve PC1, IP Adresine Ping Atabilir.

Ping Göndermeden Önce nslookup Komutunu Kullanmanız Gerekmez. Cihaz Doğru IP Adresini Bilmiyorsa Otomatik olarak DNS Server'a Soracaktır. 

dns example

PC1, youtube.com'un IP Adresini Öğrenmek için Yapılandırılmış DNS Server 8.8.8.8'e DNS Query Mesajı Gönderir. DNS Server PC1'e Yanıt Vererek IP Adresinin 172.217.25.110 olduğunu Söyler.

Bu Topolojide R1'in Rolü Nedir? Bu Durumda R1 Bir DNS Server veya DNS Client olarak Hareket Etmez. Sadece Paketleri İletir. R1'de DNS'nin Yapılandırması Gerekmez. Genellikle Router'da Herhangi Bir DNS Yapılandırması Yapmaya Gerek Yoktur. Sadece Ağ Trafiğini Yönlendirme İşlerini Yapmaları Gerekiyor. Ancak Cisco Router, DNS Server veya DNS Client olarak Yapılandırılabilir.

nslookup Komutundaki Trafiği Yakalamak için Wireshark Programını Kullandım.

dns wireshark capture

Kırmızı Renk ile belirtilen Bölümde Dört adet DNS Mesajı Var.

1. Mesaj

  • PC1 (192.168.0.101) Kaynağından Google DNS Server 8.8.8.8'e Doğru.
  • Protocol Sütunu = DNS
  • Info Sütunu = Standard Query. Yani Bu Bir Standart DNS Query Mesajıdır.
  • A youtube.com.

2. Mesaj 

  • Google DNS Server 8.8.8.8'den PC1'e (192.168.0.10) Doğru.
  • Protocol Sütunu = DNS
  • Info Sütunu = Standard Query Response = DNS Query Response.
  • A youtube.com A 172.217.25.110 -> Bunun Bir IPv4 Adresi olduğuna Dikkat Edin.

3. Mesaj

  • PC1 (192.168.0.101) Kaynağından Google DNS Server 8.8.8.8'e Doğru.
  • Protocol Sütunu = DNS
  • Info Sütunu = Standard Query. Yani Bu Bir Standart DNS Query Mesajıdır.
  • AAAA youtube.com.

4. Mesaj 

  • Google DNS Server 8.8.8.8'den PC1'e (192.168.0.10) Doğru.
  • Protocol Sütunu = DNS
  • Info Sütunu = Standard Query Response = DNS Query Response.
  • AAAA youtube.com AAAA 2404:6800:4004:819::200e -> Bunun Bir IPv6 Adresi olduğuna Dikkat Edin.

DNS 'A' Record: Alan Adlarını IPv4 Adresleri ile Eşleştirmek için Kullanılır (DNS Record Type 1).

İlk DNS Query Mesajında PC1, DNS Server'dan youtube.com A Record İstedi. Bu Nedenle DNS Server Bir IPv4 Adresi ile Yanıt Verdi.

DNS 'AAAA' Record: Alan Adlarını IPv6 Adresleri ile Eşleştirmek için Kullanılır (DNS Record Type 28).

DNS Query Mesajının UDP 53 Kullandığına Dikkat Edin.

dns query udp

Burada Neden UDP Kullanıldı?

Standard DNS Query / Response Mesajları için UDP Kullanılır. TCP, 512 Byte'dan Büyük DNS Mesajları için Kullanılır. Her İki Durumda da (UDP veya TCP) Port Numarası 53'dür.

DNS Önbelleği (DNS Cache)

DNS Server'ın Hosta Verdiği Yanıtlar Yerel DNS Önbelleğine Kaydedilir. Host, Belirli Bir Hedefe Erişmek İstediği Zaman Her Seferinde DNS Server'a DNS Query Mesajı Göndermek Yerine DNS Önbelleğini Kontrol Eder. Bu Gereksiz Ağ Trafiğini Önler.

Windows CLI DNS Cache Görüntüleme Komutu: ipconfig /displaydns

windows 10 dns cache

www.youtube.com

  • DNS CNAME (Canonical Name) Record: Temelde Bir Alan Adını Başka Bir Alan Adı ile Eşlemek için Kullanılır (DNS Record Type 5).

  • CNAME Record'un Belirttiği Alan Adını Kontrol Ettiğimizde IPv4 Adresine Sahip A Record Görebiliriz, 172.217.25.110.

Windows CLI DNS Cache Temizleme Komutu: ipconfig /flushdns

windows 10 clear dns cache


Hosts Dosyası

DNS Önbelleğine (DNS Cache) Ek olarak Çoğu Cihazda Yalnızca Hostların ve IP Adreslerinin Bir Listesi olan Hosts Dosyası Bulunur.

Windows İşletim Sisteminde Bu Dosya C:\Windows\System32\drivers\etc Klasöründedir.

windows hosts file

Host Dosyası İçeriği

windows hosts file example

Varsayılan olarak Listelenen Hiçbir Host Yoktur, Ancak R1 için IP Adresini ve Ardından Host Adını Yazarak Bir Giriş Ekledim.

Daha Sonra Komut İstemine Döndüm ve ping R1 Komutunu Girdim ve PC1 Host Dosyasında Bir Girişi olduğu için R1'e Ping Atabildi.

hosts file ping

Bu DNS Değil, DNS'e Basit Bir Alternatiftir. DNS İcat Edilmeden Önce Bunun gibi Host Dosyaları Kullanılıyordu. Günümüzde Gerekirse Küçük Bir Ağda Bazı Hostları Listelemek için Host Dosyası Kullanılabilir, Ancak DNS Çok Daha İyi Bir Çözümdür.


DNS Yapılandırması

Topoloji

dns topology

Bir Kullanıcı Web Tarayıcısına youtube.com Alan Adını Yazarak Web Sitesine Erişmek İstiyor. Cihaz, Web Sitesine Erişmek için Hedefin IP Adresini Bilmesi Gerekir. IP Adresini Öğrenmek için DNS Server'a DNS Query Mesajı Gönderir.

Bir Ağdaki Hostların DNS Kullanması için Router'da DNS Yapılandırmanız Gerekmez. Router, DNS Mesajlarını Diğer Paketler gibi İletecektir. Router'ın Kendisi Nadir de olsa DNS Server olarak Yapılandırılabilir.

Eğer Internal DNS Server Kullanılıyorsa Genellikle Windows veya Linux Sunucusudur. Internal derken Google'ınki gibi Bir Public DNS Server Değil, LAN'da Bulunan Bir DNS Server'ı Kastediyoruz.

Cisco Router, DNS Client olarak Yapılandırılabilir. Böylece IP Adresi Yerine Alan Adı Kullanarak Ping ve Diğer Komutları Çalıştırabilirsiniz.

Router'ı DNS Server Olarak Yapılandırma Komutu: ip dns server

Router'da A (Host) Record Yapılandırma Komutu: ip host host-name ip-address

Router'da External DNS Server Yapılandırma Komutu (DNS Client): ip name-server ip-address

Router'ın DNS Query Gerçekleştirmesini Sağlayan Komut: ip domain lookup

cisco router dns configuration

Host, R1'e bir DNS Query Mesajı Gönderdiğinde R1 İstenen DNS Kaydına Sahipse Yanıt Verecektir. R1'in Kullanması için External DNS Server Yapılandırmak İyi Bir Fikirdir. R1'i Google DNS Server (8.8.8.8) Kullanacak Şekilde Yapılandırdım. R1, Kendi DNS Önbelleğinde (DNS Cache) İstenen Kayıt Yoksa Yapılandırılan External DNS Server'ı Kullanacaktır.

ip domain lookup Komutu Kullanılmazsa R1, DNS Server'a DNS Query Mesajı Gönderemez. Bu Komut Genellikle Varsayılan olarak Etkindir.

PC1'de DNS Server olarak Google Yerine R1'i Yapılandırdım.

windows 10 ipconfig all dns ping

Belirli Bir Hedefe Sürekli Olarak Ping Atma Komutu: ping hostname/ip-address -t

Belirli Bir Hedefe Belirli Sayıda Ping Atma Komutu: ping hostname/ip-address -n count

Yukarıdaki Resimde PC2'ye Yalnızca Tek Bir Ping Göndermek için ping PC2 -n 1 Komutunu Kullandım. Sürekli Ping Göndermek için ping PC2 -t Komutunu Kullanabiliriz.

PC1'in DNS Önbelleğinde PC2 için Bir Giriş yoktur. Bu Nedenle PC1, PC2'nin IP Adresini Öğrenmek için DNS Kullanması Gerekir. PC1, R1'e "PC2'nin IP Adresi Nedir?" diye bir DNS Query Mesajı Gönderir.

dns query example

R1'in PC2 için Bir Girişi var, ip host PC2 192.168.0.102 Komutu ile Yapılandırmıştık. Bu Nedenle R1, PC1'in DNS Query Mesajına Yanıt Verir. PC1, PC2'ye Ping Gönderir. PC2, PC1'e Cevap Gönderir ve İşlem Biter.

Artık PC1'in DNS Önbelleğinde PC2 için Bir Giriş Var, Bu Yüzden ping PC2 Komutunu Tekrar Kullanırsak PC1'in DNS Query Mesajı Göndermesine Gerek Kalmayacak, PC2'nin IP Adresini Zaten Biliyor.

YouTube Sunucusunu Topolojiye Ekledim.

dns topology example

Bu Sefer PC1'de ping youtube.com -n 1 Komutunu Verdim. PC1 Ping Göndermeden Önce youtube.com'un IP Adresini Bilmesi Gerekir, Bu Nedenle DNS Server R1'e DNS Query Mesajı Gönderir.

R1'in youtube.com için Bir Girişi yoktur. R1'in Google DNS Server'a DNS Query Mesajı Gönderebilmesi için ip name-server 8.8.8.8 ve ip domain lookup Komutlarını Kullanmıştık.

R1, 8.8.8.8'e DNS Query Mesajı Gönderir. 8.8.8.8, R1'e youtube.com'un IP Adresini Söyleyerek Yanıt Verir. Artık R1, PC1'in DNS Query Mesajına youtube.com'un IP Adresini Söyleyerek Yanıt Verebilir.

PC1, Ping'i YouTube'a Gönderebilir ve YouTube Yanıtı Gönderir.

external dns server example cisco router

R1, PC1 için DNS Server Görevi Görür, Ancak PC1'in İstediği Bir Kayıt için Girişi Yoksa DNS Client gibi Davranır ve Kaydı Google DNS Server'dan İster.

Router DNS Cache Görüntüleme Komutu: show hosts

cisco router show hosts

Bu Komut Router'da Yapılandırılan DNS Kayıtlarını (Host: R1, PC1, PC2, PC3) ve External DNS Server ile Öğrenilen ve Önbelleğe Alınan DNS Kayıtlarını (Host: youtube.com) Görüntüler.

Flags Sütununda youtube.com için 'temp' Yazdığına Dikkat Edin. Bu Giriş External DNS Server ile Öğrenildiği için Kalıcı Değildir. Süresi Dolarsa Yeniden Öğrenilmesi Gerekecektir. Manuel Yapılandırılan Diğer Girişlerde Flags Sütununda 'perm' Yazdığına Dikkat Edin. Bu Girişler Kalıcıdır.

Router'ı DNS Client olarak Nasıl Yapılandıracağınız Aşağıdaki Resimde Gösterilmiştir. R1'de Önceki Tüm DNS Yapılandırmaları Silinmiştir.

cisco router dns client configuration

İlk başta ping youtube.com Yazdığımda Bu İsim Tanınmadı ve Ping Gönderilemedi.

ip name-server 8.8.8.8 Komutu ile R1'i Google DNS Server'ı Kullanacak Şekilde Yapılandırdım.

ip domain lookup Komutu ile DNS Query Mesajlarını Gönderebilmesini Sağladım.

Tekrardan ping youtube.com Yazdığımda Ping Gönderme İşlemi Başarılı oldu. R1'i DNS Client olarak Yapılandırdık. PC1, R1'i DNS Server olarak Kullanmaya Çalışırsa R1, PC1'in DNS Query Mesajlarına Yanıt Veremez.

Varsayılan Domain Name Yapılandırma Komutu: ip domain name domain-name

cisco router default domain name configuration

Bu Komut İsteğe Bağlıdır. R1'in Varsayılan Alan Adını jeremysitlab.com olarak Belirledim.

'google.com' ve 'jeremysitlab.com' gibi Alan Adları İnternette Bir Yönetimsel Kontrol Alanı Tanımlar.

Örneğin 'google.com' Alan Adı; 'mail.google.com' Adresindeki Gmail'in, 'dns.google.com' Adresindeki DNS Server'ın, 'time.google.com' Adresindeki NTP Server'ın Google'ın Yönetimi ve Kontrolü Altında olduğunu Söyler.

Bu Komut Uygulandığında Belirli Bir Alan Adı olmayan Tüm Host Adlarına (Hostname) Otomatik olarak Eklenecektir. Örneğin, ping pc1 Komutu Aslında ping pc1.jeremysitlab.com olacaktır.

Bu Komutu SSH ile İlgili Daha Sonraki Bir Yazıda Tekrar Ele Alacağım. SSH, Yapılandırmak Üzere Bir Cihazın CLI'sine Bağlanmak için Kullanılan Protokoldür, Ancak SSH Etkinleştirmek için Alan Adı Gereklidir.

DNS Yapılandırması Özet

cisco router dns configuration summary


Quizs

dns quiz


Cevaplar (Sırası ile):

  • b, d
  • b, d
  • d
  • a
  • c

LAB - ANKI

LAB Çözümleri sonradan bu yazıya eklenecektir.

Okuduğunuz için teşekkürler.

Bu İçerikleri de Beğenebilirsiniz

Yorum Gönder