💻
Cheet Sheets
  • 🦁Başlarken
  • 🟧DevOps Pre-Requisite
    • ❤️Why Linux? | Linux Basics #1
    • 💛Vi Editor | Linux Basics #2
    • 💙Basics Commands | Linux Basics #3
    • 🧡Package Managers | Linux Basics #4
    • 💚Services | Linux Basics #5
    • 💛Networking Basics
    • 🤎DNS Basics
    • 🩶Applications Basics
    • 🟨Java introduction
    • 🟩NodeJS Introduction
    • 🟦Python Introduction
    • 🟪GIT Introduction
    • 🟧Apache Web Server Introduction
    • ⬛Apache Tomcat
    • 🟫Python Flask
    • 🟥Node.js Express App
    • 🟨Databases
    • 🟩MySQL
    • 🟪MongoDB
    • 🟨SSL & TLS
    • 🟦YAML & JSON - JSON Path
    • ⬛Labs Resources
  • 🍎Kubernetes
    • 🍏Kubernetes: Nedir ?
    • 🍒Bileşenler
    • 🍵Kubectl ve Versiyon
    • ❤️Pod
    • 🏷️Label ve Selector
    • 🔎Annotation
    • 📲Namespaces
    • 📦Deployments
    • 🔁ReplicaSet
    • 🔙Rollout & Rollback
    • 🌐Networking - 1
    • 🌏Service
    • 🛠️Liveness Probe & Readiness Probe
    • 🥐Resource Limits
    • 💰Environment Variables
    • 📃Ephemeral Volumes
    • 🔑Secrets
    • 🌂ConfigMap
    • 🖥️Node Affinity
    • 🔌Pod Affinity
    • ✍️Taint and Toleration
    • 🔦DaemonSet
    • 🧀PV/PVC
    • 🌜Storage Class
    • 🗿StatefulSet
    • 🕹️Job & Cronjob
    • 🔐Authentication
    • 📏Role-based access control (RBAC)
    • 🈷️Service Account
    • 📈Ingress
    • 📂ImagePullPolicy & ImageSecret
    • 📖Static Pods
    • 🌐Network Policy
    • 🫐Helm Nedir?
    • 📽️Prometheus Stack - Monitoring
    • 💼EFK Stack - Monitoring
    • 🥳CRD & Operator
  • 🧑‍⚕️GIT & GITHUB
    • 👉Girizgah
    • 🌴Branch
    • 🤝Merge
    • 🤔Conflict - Rebase
    • 🇸🇴Alias
    • 🛑Gitignore
    • 🥢Diff
    • ◀️Checkout
    • 🔦Stash
    • 👉Other
  • ☁️AWS
    • 🪣S3
    • 🚙EC2
    • ⚖️ELB
    • 🤝Auto Scaling
    • 🗄️EFS
    • 🔐VPC
    • 🎆CloudFront
    • ❤️Route53
    • 🦈RDS
    • 🏢ElastiCache
    • 🔭CloudWatch
    • 👀CloudTrail
    • 📃CloudFormation
    • 🔕SNS
    • 📬SQS
    • 🎇SWF
    • 📧SES
    • 📦Kinesis
    • 📐AWSConfig
    • 👩‍🏭OpsWork
    • 🚀Lambda - Api Gateway
    • 📌ECS - EKS
    • 🔑KMS
    • 📂Directory Service
    • 🏐Snowball
    • 💾Storage Gateway
    • 💽Volume Gateway
    • 📼Tape Gateway
    • 🏠Organizations
    • 🔙Backup-Transfer-CloudShell
    • 🆔IAM
    • 📀DataSync
    • 🗃️FSx
    • 🎒Aurora Serverless
    • 🌐Global Accelerator
    • 💪HPC
    • 🎰Outposts
    • 🗼Others
  • 👨‍🔬Ansible
    • 👉Girizhah
    • 📔YAML
    • ⚙️Komponentler
    • 🎒Inventory
    • 🏑ad-hoc
    • ▶️Playbook
  • 👨‍⚕️PROMETHEUS
    • 📈Terminoloji
    • 🦯Ubuntu 20.04 Prometheus Kurulum
    • 🗒️prometheus.yml dosyasına ilk bakış:
    • 🧭promQL up query
    • 📇Exporters
    • 🔦promQL Data Types
    • 🦯Selectors & Matchers
    • 🔢Binary Operators
    • 💀ignoring and on
    • ✍️Aggregation Operators
    • 🧠Functions
    • 🖊️Alıştırma
    • 💻Client Libraries
    • 🐍Examining the data of our Python application
    • 🐐Examining the data of our GO application
    • ⏺️Recording Rules
    • 💡rate functions
    • ⏰Alerting
    • ⌚Alert Routing
    • ⏰Slack integration with Prometheus
    • 🤯PagerDuty integration with Prometheus
    • ◼️BlackBox exporter
    • 📍Push Gateway
    • 🪒Service Discovery
    • 🧊kube cadvisor with external prometheus
    • 👉aws with prometheus
    • ☁️CloudWatch Exporter
    • 👨‍🚒mysql exporter
    • 🛃Custom exporter with Python
    • ⚙️Prometheus with HTTP API
    • 🤖Prometheus Federation For Kubernetes
    • 📺Grafana
    • ⁉️Prometheus: Ne zaman kullanılmalı? Ne zaman kullanılmamalıdır?
  • 🍪Sheets
    • 🛳️Docker Sheets
    • 🐐Kube Sheets
  • 🔢12 Factor APP
    • 🏗️Introduction
    • 1️⃣Codebase
    • 2️⃣Dependencies
    • 3️⃣Concurrency
    • 4️⃣Processes
    • 5️⃣Backing Services
    • 6️⃣Config
    • 7️⃣Build, release, run
    • 8️⃣Port binding
    • 9️⃣Disposability
    • 🔟Dev/prod parity
    • 🕚Logs
    • 🕛Admin processes
  • ☁️Azure 104
    • 👨‍👨‍👧‍👧Azure Active Directory ( Entra ID )
    • 💰Subscriptions
    • 🌎Virtual Network (VNET)
    • 💻Virtual Machines
    • 🧑‍🌾Load Balancing
    • 🥍Network Advanced
    • 🪡Automating Deployment and Configuration
    • 💂Securing Storage
    • 📓Administering Azure Blobs and Azure Files
    • 🔧Managing Storage
    • 🎁App Service
    • 🛳️Azure Container
    • 🥇Backup And Recovery
    • 🪐Network Watcher
    • ⏰Resource Monitoring And Alerts
  • ⛅AZURE 305
    • 🆔identity and access management
    • 💼Desing Azure AD (Entra ID)
    • 👨‍💼Desing for Azure B2B
    • 🛃Desing for Azure B2C
    • 💳Design for MFA and Conditional Access
    • ⛑️Design for Identity Protection
    • 🚶Access Reviews
    • 🚦Managed identity Demostration
    • 🔐Key Vault Demostration
    • 👑Governance hierarchy
    • 💠Design for Management Groups
    • 🔑Desing for Subscriptions
    • 🍇Desing for resource groups
    • 📟Design for resource tags
    • 🚷Azure Policy & RBAC
    • 🫐Desing For Blueprints
    • 🪡Desing for Virtual Networks
    • 🛫Design for on-premises connectivity to Azure
    • 🔽Design for network connectivity
    • 📦Design for application delivery
    • 🥞Design for network security and application protection
    • 📕Choose a compute solution
    • 🌊Design for virtual machines
    • 🔋Azure Batch Demostration
    • 🛰️Design for Azure App Service
    • ⛲Design for Azure Container Instances
    • 🎢Design for Azure Kubernetes Service
    • 📠Azure Functions Demostration
    • 💪Azure Logic Apps Demostration
    • 🧑‍💼Design for data storage
    • 🎞️Design for Azure storage accounts
    • 🌟Choose the storage replication
    • 📹Azure blob storage - Lifecycle & immutable demo
    • 🥌Azure Files Demostration
    • 🕸️Design Azure disks
    • 🦼Design for storage security
    • 🔮Azure Table Storage And Cosmos DB Demostration
    • 🟧Azure SQL Solutions
    • 🎡Azure SQL Database - Purchasing models
    • 🕯️Database availability
    • 📜Data security strategy
    • 🧮Azure SQL Edge
    • 🚲Azure Data Factory
    • 🔅Azure Data Lake Storage
    • 🧘‍♂️Azure Databricks
    • 🎒Azure Synapse Analytics
    • 🅰️Azure Stream Analytics
    • 📼Data flow strategy
    • 🍥Cloud Adoption Framework
    • ☣️Azure Migration Framework
    • 🦿Assessing workloads
    • 🪡Migration tools
    • 🤖Azure Database migration
    • 👥Storage migration
    • 👜Azure Backup
    • ⏲️Azure Blob Backup and Recovery
    • 💈Azure files backup and recovery
    • 🎞️Azure VM backup and recovery
    • 🧺Azure SQL backup and recovery
    • ⏰Azure Site Recovery
    • 📩Differentiate event and message
    • ✈️Azure messaging solutions
    • 🚜Event Hub
    • 🥍Application optimization solution
    • 🎁Application lifecycle
    • 📺Azure Monitor
    • 🅱️Log Analytics
    • 👥Azure workbooks and Insights
    • 🚌Azure Data Explorer
  • Github Actions
    • Github Actions Nedir?
    • Workflow & Schedule Triggers
    • Single and Multiple Events
    • Manuel Events
    • Webhook Events
    • Conditional Keywords For Steps
    • Expressions - 1
    • Expressions - 2
    • Runners
    • Workflow Commands
    • Workflow Context
    • Dependent Jobs
    • Encrypted Secrets
    • Configuration Variables
    • Default & Custom Env Varb
    • Set Env Varb with Workflow Commands
    • Github Token Secret
    • Add Script to workflow
    • Push Package #1
    • Push Package #2 Docker
    • Service Containers
    • Routing workflow to runner
    • CodeQL Step
    • Caching Package and Dependency Files
    • Remove workflow Artifact
    • Workflow Status Badge
    • Env Protection
    • Job Matrix Configuration
    • Disable & Delete Workflows
    • Actions type for Action
    • Inputs and Outputs for actions
    • Action Versions
    • Files and Directories for Actions
    • Exit Codes
    • Reusable Workflow & Reuse Templates for Actions and Workflows
    • Configure Self Hosted Runners for Enterprise
  • Loki
    • What is Loki?
    • Architecture of Loki
    • Install Loki For Ubuntu
    • Install Promtail For Ubuntu
    • Querying Logs
    • Loki in Kubernetes
    • Deploying Loki in Kubernetes
    • Connecting to Grafana
    • Viewing Kubernetes logs
    • Promtail Customize & Pipeline
  • Ansible
    • Ansible Introduction
    • Introduction to Ansible Configuration Files
    • Ansible Inventory
    • Inventory Formats
    • Ansible Variables
    • Variable Types
    • Registering Variables and Variable Precedence
    • Variable Scoping
    • Magic Variables
    • Ansible Facts
    • Ansible Playbooks
    • Verifying Playbooks
    • Ansible lint
    • Ansible Conditionals
    • Ansible Conditionals based on facts, variables, re-use
    • Ansible Loops
    • Ansible Modules
    • Introduction to Ansible Plugins
    • Modules and Plugins Index
    • Introduction to Handlers
    • Ansible Roles
    • Ansible Collections
    • Introduction to Templating
    • Jinja2 Templates for Dynamic Configs
  • 🅰️Ansible Advanced
    • Playbook run options
    • Facts
    • Configuration files
Powered by GitBook
On this page

Was this helpful?

  1. DevOps Pre-Requisite

DNS Basics

PreviousNetworking BasicsNextApplications Basics

Last updated 11 months ago

Was this helpful?

DNS, internet ve yerel ağlardaki isimleri IP adreslerine çeviren, aynı zamanda çeşitli diğer bilgileri depolayan ve sorgulayan bir sistemdir. DNS, sadece web siteleri için değil, aynı zamanda e-posta sunucuları, ağ hizmetleri ve daha birçok sistem için kullanılır.

DNS Nasıl Çalışır?

  1. Bir kullanıcı web tarayıcısına yazdığında, tarayıcı DNS sunucusuna bu alan adının IP adresini sorar.

  2. DNS sunucusu, bu alan adının IP adresini bulur ve tarayıcıya geri döner.

  3. Tarayıcı, aldığı IP adresiyle web sunucusuna bağlanır ve kullanıcıya web sayfasını gösterir.

Domain Name, internet üzerindeki web sitelerinin adresleridir. Her alan adı, belirli bir IP adresine karşılık gelir ve bu adresler sayesinde web siteleri bulunabilir ve erişilebilir.

DNS (Domain Name System) sunucuları, internet ve diğer ağlardaki isim çözümleme işlemlerini gerçekleştiren ve yöneten sunuculardır. Bu sunucuların farklı türleri ve işlevleri vardır. Root DNS sunucuları, internetin DNS hiyerarşisinin en üstünde yer alır ve tüm DNS sorgularının başladığı yerdir. Dünyada toplamda 13 root sunucusu bulunur ve bu sunucular TLD (Top-Level Domain) sunucularına işaret eder. TLD DNS sunucuları ise üst düzey alan adlarını (.com, .net, .org gibi) yönetir ve root DNS sunucularından gelen istekleri alarak ilgili TLD'nin yetkili sunucusuna yönlendirir.

Root DNS sunucuları, DNS sisteminin en üst seviyesinde yer alan ve tüm internet trafiğinin yönlendirilmesinde kritik bir rol oynayan sunuculardır. Dünya genelinde 13 root DNS sunucusu bulunur ve bu sunucular çeşitli kuruluşlar tarafından yönetilir. ICANN gibi ana kuruluşlar, root DNS sisteminin operasyonel işlerini yürütür. Root DNS sunucuları, internetin temel yapı taşlarından biri olarak, her gün milyarlarca DNS sorgusunu doğru bir şekilde yönlendirir.

"search" direktifi, DNS aramalarında belirli bir domaini varsayılan olarak kullanmayı sağlar. Daha detaylı açıklamak gerekirse, "search" direktifi /etc/resolv.conf dosyasına eklenir ve burada belirtilen domain, kısa isim çözümlemelerinde otomatik olarak eklenir.

örnek /etc/resolv.conf içeriği:

nameserver 192.168.1.100
search mycompany.com
  • ping web:

    • Bu komut çalıştırıldığında, sistem "web" ismini çözmeye çalışır. /etc/resolv.conf dosyasındaki search direktifi nedeniyle, sistem otomatik olarak "web.mycompany.com" ismini arar ve IP adresini bulur.

    • Sonuç: PING web.mycompany.com (192.168.1.10): 64 bytes of data...

NSLookup

nslookup (Name Server Lookup), DNS (Domain Name System) sorguları yapmak için kullanılan bir komut satırı aracıdır. Bu araç, bir alan adı veya IP adresi hakkında DNS kayıtlarını sorgulamak için kullanılır. Hem Windows hem de Unix tabanlı sistemlerde kullanılabilir.

NSLookup Kullanımı,

# Bir alan adının IP adresini öğrenmek için kullanılır.
nslookup example.com

# Çıktı
Server:  dns.example.com
Address:  192.168.1.1

Non-authoritative answer:
Name:    example.com
Address: 93.184.216.34
# Bir IP adresinin hangi alan adına karşılık geldiğini öğrenmek için kullanılır.
nslookup 93.184.216.34

# Çıktı
Server:  dns.example.com
Address:  192.168.1.1

Name:    example.com
Address: 93.184.216.34

Dig

dig (Domain Information Groper), DNS sorguları yapmak için kullanılan daha gelişmiş bir komut satırı aracıdır. dig, özellikle ağ yöneticileri ve sistem yöneticileri tarafından DNS sorunlarını teşhis etmek ve çözmek için kullanılır. Unix tabanlı sistemlerde yaygındır ve daha ayrıntılı çıktılar sağlar.

Dig Kullanımı,

# Bir alan adının IP adresini öğrenmek için kullanılır.
dig example.com

# Çıktı
; <<>> DiG 9.11.3-1ubuntu1.11-Ubuntu <<>> example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31386
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;example.com.                   IN      A

;; ANSWER SECTION:
example.com.            10368   IN      A       93.184.216.34

;; Query time: 32 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Mon Jan 20 14:55:07 UTC 2024
;; MSG SIZE  rcvd: 56
# Bir IP adresinin hangi alan adına karşılık geldiğini öğrenmek için kullanılır.
dig -x 93.184.216.34

# Çıktı
; <<>> DiG 9.11.3-1ubuntu1.11-Ubuntu <<>> -x 93.184.216.34
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50852
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;34.216.184.93.in-addr.arpa.    IN      PTR

;; ANSWER SECTION:
34.216.184.93.in-addr.arpa. 300 IN      PTR     example.com.

;; Query time: 35 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Mon Jan 20 14:57:07 UTC 2024
;; MSG SIZE  rcvd: 73

  • nslookup daha basit sorgular için uygunken, dig daha ayrıntılı bilgi ve daha fazla esneklik sağlar.

  • dig genellikle daha ayrıntılı ve düzenli bir çıktı sağlar, bu da özellikle sorun giderme ve analiz için yararlıdır.

  • dig, çeşitli sorgu türleri ve parametrelerle daha fazla özelleştirilebilir.

Her iki araç da DNS sorguları yapmak, DNS kayıtlarını kontrol etmek ve ağ sorunlarını gidermek için oldukça kullanışlıdır.

🟧
🤎
www.google.com