{"id":28499,"date":"2025-08-31T05:00:27","date_gmt":"2025-08-31T02:00:27","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/linuxte-dns-nasil-calisir-bolum-1-getaddrinfodan-resolv-confa\/"},"modified":"2025-08-31T05:00:27","modified_gmt":"2025-08-31T02:00:27","slug":"linuxte-dns-nasil-calisir-bolum-1-getaddrinfodan-resolv-confa","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/linuxte-dns-nasil-calisir-bolum-1-getaddrinfodan-resolv-confa\/","title":{"rendered":"Linux&#8217;te DNS Nas\u0131l \u00c7al\u0131\u015f\u0131r? B\u00f6l\u00fcm 1: getaddrinfo&#8217;dan resolv.conf&#8217;a"},"content":{"rendered":"<p>Linux&#8217;te DNS Nas\u0131l \u00c7al\u0131\u015f\u0131r? B\u00f6l\u00fcm 1: getaddrinfo&#8217;dan resolv.conf&#8217;a<\/p>\n<p>Web sitelerine eri\u015fmek i\u00e7in kulland\u0131\u011f\u0131n\u0131z her URL, asl\u0131nda bir IP adresine \u00e7evrilmelidir. Bu karma\u015f\u0131k i\u015flemin perde arkas\u0131ndaki kahraman\u0131 DNS (Domain Name System) protokol\u00fcd\u00fcr.  Linux sistemlerinde bu s\u00fcre\u00e7,  <code>getaddrinfo<\/code> fonksiyonundan <code>resolv.conf<\/code> dosyas\u0131na kadar uzanan bir yolculuktur. Bu makalede,  Linux&#8217;te DNS \u00e7\u00f6z\u00fcmlemesinin ad\u0131m ad\u0131m nas\u0131l i\u015fledi\u011fini,  temel kavramlardan ileri d\u00fczey tekniklere kadar detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z.  <code>getaddrinfo<\/code> fonksiyonunun rol\u00fcn\u00fc,  DNS sunucular\u0131yla nas\u0131l ileti\u015fim kurdu\u011funu ve sonu\u00e7lar\u0131n <code>resolv.conf<\/code> dosyas\u0131nda nas\u0131l kullan\u0131ld\u0131\u011f\u0131n\u0131 inceleyece\u011fiz.  Ayr\u0131ca, performans iyile\u015ftirme teknikleri ve olas\u0131 sorun giderme ad\u0131mlar\u0131n\u0131 da ele alaca\u011f\u0131z.<\/p>\n<h2>\u00d6\u011frenme Yol Haritas\u0131<\/h2>\n<p>* <strong>Yeni Ba\u015flayan:<\/strong> DNS&#8217;in temel i\u015flevini ve Linux&#8217;teki rol\u00fcn\u00fc anlamak.<br \/>\n* <strong>Orta:<\/strong> <code>getaddrinfo<\/code> fonksiyonunun \u00e7al\u0131\u015fma mekanizmas\u0131n\u0131 ve <code>resolv.conf<\/code> dosyas\u0131n\u0131n \u00f6nemini kavramak.<br \/>\n* <strong>\u0130leri D\u00fczey:<\/strong>  DNS \u00e7\u00f6z\u00fcmleme s\u00fcrecinin inceliklerini,  performans optimizasyonunu ve sorun giderme tekniklerini \u00f6\u011frenmek.<\/p>\n<h2>DNS Temelleri: Domain Adlar\u0131ndan IP Adreslerine<\/h2>\n<p>DNS, insan okunabilir domain adlar\u0131n\u0131 (\u00f6rne\u011fin, www.google.com) makine okunabilir IP adreslerine (\u00f6rne\u011fin, 172.217.160.142) d\u00f6n\u00fc\u015ft\u00fcren bir sistemdir.  Bu d\u00f6n\u00fc\u015f\u00fcm,  hiyerar\u015fik bir isim sunucusu a\u011f\u0131n\u0131 kullanarak ger\u00e7ekle\u015ftirilir.  Bir web sitesine eri\u015fmek istedi\u011finizde, bilgisayar\u0131n\u0131z \u00f6ncelikle yerel DNS sunucusuna bir istek g\u00f6nderir. Yerel sunucu,  iste\u011fi kademeli olarak k\u00f6k sunuculara, \u00fcst d\u00fczey alan sunucular\u0131na (TLD sunucular\u0131, \u00f6rne\u011fin .com, .org) ve nihayetinde hedef web sitesinin yetkili isim sunucusuna iletir. Yetkili sunucu,  domain ad\u0131na kar\u015f\u0131l\u0131k gelen IP adresini d\u00f6nd\u00fcr\u00fcr ve bu adres, bilgisayar\u0131n\u0131za iletilir.  Bu s\u00fcre\u00e7,  bir dizi DNS kayd\u0131 (A, AAAA, CNAME, MX vb.) kullanarak y\u00fcr\u00fct\u00fcl\u00fcr.  Bu kay\u0131tlar,  domain ad\u0131,  IP adresi,  mail sunucu bilgisi gibi \u00e7e\u015fitli bilgileri i\u00e7erir.  Daha fazla bilgi i\u00e7in (https:\/\/fatihsoysal.com) inceleyebilirsiniz.<\/p>\n<h2>getaddrinfo Fonksiyonu: \u0130leti\u015fimin Ba\u015flang\u0131c\u0131<\/h2>\n<p><code>getaddrinfo<\/code>,  bir program\u0131n domain ad\u0131n\u0131 veya hostname&#8217;i IP adresine d\u00f6n\u00fc\u015ft\u00fcrmesini sa\u011flayan \u00f6nemli bir fonksiyondur.  Bu fonksiyon,  C programlama dilinde kullan\u0131l\u0131r ve \u00e7e\u015fitli parametreler alarak,  \u00e7\u00f6z\u00fcmleme i\u015flemini \u00f6zelle\u015ftirmemize olanak tan\u0131r. \u00d6rne\u011fin,  IPv4 veya IPv6 adresleri talep edebilir veya belirli bir DNS sunucusunu kullanmas\u0131n\u0131 sa\u011flayabiliriz.<\/p>\n<pre><code class=\"language-c\">#include <sys\/types.h>\n#include <sys\/socket.h>\n#include <netdb.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <arpa\/inet.h>\n\nint main() {\n    struct addrinfo hints, *res, *p;\n    int status;\n    char ipstr[INET6_ADDRSTRLEN];\n\n    memset(&hints, 0, sizeof hints);\n    hints.ai_family = AF_UNSPEC; \/\/ IPv4 veya IPv6\n    hints.ai_socktype = SOCK_STREAM; \/\/ TCP ba\u011flant\u0131s\u0131 i\u00e7in\n\n    if ((status = getaddrinfo(\"www.google.com\", \"http\", &hints, &res)) != 0) {\n        fprintf(stderr, \"getaddrinfo error: %s\\n\", gai_strerror(status));\n        return 1;\n    }\n\n    for(p = res; p != NULL; p = p->ai_next) {\n        void *addr;\n        char *ipver;\n\n        if (p->ai_family == AF_INET) { \/\/ IPv4\n            struct sockaddr_in *ipv4 = (struct sockaddr_in *)p->ai_addr;\n            addr = &(ipv4->sin_addr);\n            ipver = \"IPv4\";\n        } else { \/\/ IPv6\n            struct sockaddr_in6 *ipv6 = (struct sockaddr_in6 *)p->ai_addr;\n            addr = &(ipv6->sin6_addr);\n            ipver = \"IPv6\";\n        }\n\n        inet_ntop(p->ai_family, addr, ipstr, sizeof ipstr);\n        printf(\"IP adres %s (%s): %s\\n\", ipver, p->ai_socktype == SOCK_STREAM ? \"TCP\": \"UDP\", ipstr);\n    }\n\n    freeaddrinfo(res); \/\/ kaynaklar\u0131n serbest b\u0131rak\u0131lmas\u0131 \u00f6nemlidir\n    return 0;\n}<\/pre>\n<p><\/code><\/p>\n<p>Bu kod, <code>getaddrinfo<\/code> fonksiyonunu kullanarak \"www.google.com\" domain ad\u0131n\u0131n IP adresini bulur ve ekrana yazd\u0131r\u0131r.  <code>hints<\/code> yap\u0131s\u0131,  \u00e7\u00f6z\u00fcmleme i\u015fleminin nas\u0131l yap\u0131laca\u011f\u0131n\u0131 belirtir.  <code>AF_UNSPEC<\/code>,  hem IPv4 hem de IPv6 adreslerini arayaca\u011f\u0131m\u0131z\u0131 belirtir.  Sonu\u00e7lar,  <code>res<\/code> de\u011fi\u015fkeninde saklan\u0131r ve bir d\u00f6ng\u00fc ile i\u015flenir.  Her IP adresi,  <code>inet_ntop<\/code> fonksiyonu kullan\u0131larak metin format\u0131na d\u00f6n\u00fc\u015ft\u00fcr\u00fcl\u00fcr.<\/p>\n<h3>getaddrinfo Hata Durumlar\u0131<\/h3>\n<p><code>getaddrinfo<\/code> fonksiyonu ba\u015far\u0131s\u0131z olursa,  <code>gai_strerror<\/code> fonksiyonu kullan\u0131larak hata mesaj\u0131 al\u0131nabilir.  \u00d6rne\u011fin,  yanl\u0131\u015f bir domain ad\u0131 girildi\u011finde veya DNS sunucular\u0131 ula\u015f\u0131lamazsa hata olu\u015fabilir.  Hata durumlar\u0131n\u0131 do\u011fru bir \u015fekilde ele almak,  uygulaman\u0131n g\u00fcvenilirli\u011fini art\u0131r\u0131r.<\/p>\n<h2>resolv.conf Dosyas\u0131: DNS Sunucu Bilgileri<\/h2>\n<p><code>\/etc\/resolv.conf<\/code> dosyas\u0131,  sistemin DNS sunucu bilgilerini i\u00e7eren \u00f6nemli bir konfig\u00fcrasyon dosyas\u0131d\u0131r.  Bu dosya,  <code>nameserver<\/code> direktifi ile DNS sunucular\u0131n\u0131n IP adreslerini belirtir.  Ayr\u0131ca,  <code>search<\/code> direktifi ile domain ad\u0131 aramalar\u0131nda kullan\u0131lacak domain adlar\u0131n\u0131 da belirtebiliriz.  Bu dosya,  sistem ba\u015flang\u0131c\u0131nda veya <code>resolvconf<\/code> gibi ara\u00e7lar taraf\u0131ndan g\u00fcncellenir.<\/p>\n<pre><code class=\"language-plaintext\"># Generated by resolvconf\nnameserver 8.8.8.8\nnameserver 8.8.4.4\nsearch example.com<\/pre>\n<p><\/code><\/p>\n<p>Bu \u00f6rnekte,  sistem Google Public DNS sunucular\u0131n\u0131 (8.8.8.8 ve 8.8.4.4) kullan\u0131r ve <code>example.com<\/code> domain ad\u0131n\u0131 arama yolunda varsay\u0131lan olarak ekler.<\/p>\n<h3>resolv.conf'un Dinamik G\u00fcncellenmesi<\/h3>\n<p><code>\/etc\/resolv.conf<\/code> dosyas\u0131,  \u00e7o\u011fu modern Linux da\u011f\u0131t\u0131m\u0131nda dinamik olarak g\u00fcncellenir.  Bu,  sistemin a\u011f yap\u0131land\u0131rmas\u0131nda de\u011fi\u015fiklik oldu\u011funda,  DNS sunucu bilgilerinin otomatik olarak g\u00fcncellenmesini sa\u011flar.  Bu \u00f6zellik,  sistem y\u00f6neticilerinin manuel olarak <code>resolv.conf<\/code> dosyas\u0131n\u0131 d\u00fczenleme ihtiyac\u0131n\u0131 azalt\u0131r.<\/p>\n<h2>DNS \u00c7\u00f6z\u00fcmleme S\u00fcreci: Ad\u0131m Ad\u0131m<\/h2>\n<p>1. Uygulama, <code>getaddrinfo<\/code> fonksiyonunu kullanarak domain ad\u0131n\u0131 \u00e7\u00f6z\u00fcmlemek i\u00e7in istek g\u00f6nderir.<br \/>\n2. <code>getaddrinfo<\/code>,  sistemin <code>\/etc\/resolv.conf<\/code> dosyas\u0131ndan DNS sunucu bilgilerini okur.<br \/>\n3. <code>getaddrinfo<\/code>,  belirtilen DNS sunucular\u0131na bir sorgu g\u00f6nderir.<br \/>\n4. DNS sunucular\u0131,  domain ad\u0131na kar\u015f\u0131l\u0131k gelen IP adresini bulmak i\u00e7in hiyerar\u015fik isim sunucu sistemini kullan\u0131r.<br \/>\n5. DNS sunucular\u0131,  IP adresini <code>getaddrinfo<\/code> fonksiyonuna d\u00f6nd\u00fcr\u00fcr.<br \/>\n6. <code>getaddrinfo<\/code>,  IP adresini uygulamaya d\u00f6nd\u00fcr\u00fcr.<br \/>\n7. Uygulama,  IP adresini kullanarak hedef sunucuyla ileti\u015fim kurar.<\/p>\n<h3>Ger\u00e7ek D\u00fcnya Senaryosu: VPN Kullan\u0131m\u0131<\/h3>\n<p>VPN kullan\u0131m\u0131,  DNS \u00e7\u00f6z\u00fcmleme s\u00fcrecinde \u00f6nemli de\u011fi\u015fikliklere yol a\u00e7abilir.  VPN istemcisi,  genellikle varsay\u0131lan a\u011f ge\u00e7idini ve DNS sunucular\u0131n\u0131 de\u011fi\u015ftirir.  Bu durumda,  <code>\/etc\/resolv.conf<\/code> dosyas\u0131ndaki DNS sunucu bilgileri,  VPN sa\u011flay\u0131c\u0131s\u0131n\u0131n sunucular\u0131yla g\u00fcncellenir.  Bu,  VPN ba\u011flant\u0131s\u0131 s\u0131ras\u0131nda farkl\u0131 bir DNS sunucusu \u00fczerinden internet eri\u015fiminin sa\u011flanmas\u0131n\u0131 sa\u011flar.  Bu durum gizlilik ve g\u00fcvenlik i\u00e7in \u00f6nemli olabilir, ancak bazen VPN sa\u011flay\u0131c\u0131s\u0131n\u0131n DNS sunucular\u0131n\u0131n performans\u0131 d\u00fc\u015f\u00fck olabildi\u011fi i\u00e7in eri\u015fim h\u0131z\u0131n\u0131 olumsuz y\u00f6nde etkileyebilir.<\/p>\n<h2>Performans Optimizasyon Teknikleri<\/h2>\n<p>DNS \u00e7\u00f6z\u00fcmleme s\u00fcrecinin performans\u0131,  bir\u00e7ok fakt\u00f6re ba\u011fl\u0131d\u0131r.  Bunlardan baz\u0131lar\u0131:<\/p>\n<p>* <strong>DNS sunucusunun performans\u0131:<\/strong>  H\u0131zl\u0131 ve g\u00fcvenilir bir DNS sunucusu kullanmak \u00e7ok \u00f6nemlidir.<br \/>\n* <strong>A\u011f ba\u011flant\u0131s\u0131n\u0131n h\u0131z\u0131:<\/strong>  Y\u00fcksek bant geni\u015fli\u011fine sahip bir a\u011f ba\u011flant\u0131s\u0131,  DNS \u00e7\u00f6z\u00fcmleme s\u00fcrecini h\u0131zland\u0131r\u0131r.<br \/>\n* <strong>DNS \u00f6nbelle\u011fi:<\/strong>  DNS \u00f6nbelle\u011fi,  \u00f6nceden \u00e7\u00f6z\u00fcmlenmi\u015f domain adlar\u0131n\u0131 saklayarak tekrar \u00e7\u00f6z\u00fcmleme i\u015flemini \u00f6nler ve performans\u0131 art\u0131r\u0131r.<br \/>\n* <strong>DNSSEC:<\/strong>  DNSSEC (DNS Security Extensions),  DNS yan\u0131tlar\u0131n\u0131n do\u011frulanmas\u0131n\u0131 sa\u011flayarak g\u00fcvenli\u011fi art\u0131r\u0131r, ancak performans\u0131 hafif\u00e7e d\u00fc\u015f\u00fcrebilir.<\/p>\n<h3>Performans Kar\u015f\u0131la\u015ft\u0131rmas\u0131<\/h3>\n<p>| Y\u00f6ntem          | Performans       | G\u00fcvenlik     |<br \/>\n|-----------------|-----------------|---------------|<br \/>\n| Varsay\u0131lan DNS   | Orta             | Orta          |<br \/>\n| Google Public DNS | Y\u00fcksek           | Orta          |<br \/>\n| \u00d6zel DNS Sunucusu| De\u011fi\u015fken         | De\u011fi\u015fken       |<\/p>\n<h2>\u0130leri D\u00fczey Konular: DNSSEC ve di\u011fer teknikler<\/h2>\n<p>DNSSEC (DNS Security Extensions),  DNS yan\u0131tlar\u0131n\u0131n g\u00fcvenli\u011fini sa\u011flamak i\u00e7in geli\u015ftirilmi\u015f bir teknolojidir.  DNSSEC,  dijital imzalar kullanarak DNS yan\u0131tlar\u0131n\u0131n sahtekarl\u0131ktan korunmas\u0131n\u0131 sa\u011flar.  Bu,  k\u00f6t\u00fc ama\u00e7l\u0131 sald\u0131r\u0131lara kar\u015f\u0131 koruma sa\u011flar ancak performans \u00fczerinde k\u00fc\u00e7\u00fck bir etkiye sahip olabilir.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>Linux'te DNS \u00e7\u00f6z\u00fcmlemesi,  <code>getaddrinfo<\/code> ve <code>resolv.conf<\/code> gibi \u00f6nemli bile\u015fenleri i\u00e7eren karma\u015f\u0131k bir s\u00fcre\u00e7tir.  Bu s\u00fcrecin nas\u0131l i\u015fledi\u011fini anlamak,  a\u011f sorunlar\u0131n\u0131 gidermek ve performans\u0131 optimize etmek i\u00e7in \u00f6nemlidir.  Bu makalede ele al\u0131nan konular,  DNS \u00e7\u00f6z\u00fcmleme s\u00fcrecinin temel prensiplerini kavraman\u0131z\u0131 ve daha ileri d\u00fczey konulara ge\u00e7meniz i\u00e7in sa\u011flam bir temel olu\u015fturman\u0131z\u0131 ama\u00e7lamaktad\u0131r. Daha fazla bilgi i\u00e7in (https:\/\/fatihsoysal.com) ziyaret edebilirsiniz.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular<\/h3>\n<p>1. <strong><code>\/etc\/resolv.conf<\/code> dosyas\u0131n\u0131 manuel olarak d\u00fczenlemeli miyim?<\/strong>  Hay\u0131r, \u00e7o\u011fu modern Linux da\u011f\u0131t\u0131m\u0131nda <code>resolv.conf<\/code> dosyas\u0131 dinamik olarak g\u00fcncellenir ve manuel olarak d\u00fczenlenmesi \u00f6nerilmez.<\/p>\n<p>2. <strong>DNS sunucumu nas\u0131l de\u011fi\u015ftirebilirim?<\/strong>  Sisteminizin a\u011f y\u00f6neticisi arac\u0131l\u0131\u011f\u0131yla veya <code>resolvconf<\/code> gibi ara\u00e7lar kullan\u0131larak DNS sunucusu de\u011fi\u015ftirilebilir.<\/p>\n<p>3. <strong>DNS \u00e7\u00f6z\u00fcmlemesi yava\u015fsa ne yapmal\u0131y\u0131m?<\/strong>  DNS sunucusu, a\u011f ba\u011flant\u0131s\u0131 ve DNS \u00f6nbelle\u011fi gibi fakt\u00f6rleri kontrol edin.  Farkl\u0131 bir DNS sunucusu denemek de faydal\u0131 olabilir.<\/p>\n<p>4. <strong>DNSSEC'in avantajlar\u0131 nelerdir?<\/strong> DNSSEC,  DNS yan\u0131tlar\u0131n\u0131n sahtekarl\u0131\u011fa kar\u015f\u0131 korunmas\u0131n\u0131 sa\u011flar ve g\u00fcvenli\u011fi art\u0131r\u0131r.<\/p>\n<p>5. <strong><code>getaddrinfo<\/code> fonksiyonu ba\u015far\u0131s\u0131z olursa ne olur?<\/strong>  <code>getaddrinfo<\/code> fonksiyonu,  hata kodu ve hata mesaj\u0131 d\u00f6nd\u00fcr\u00fcr.  Uygulama,  bu hata durumunu ele almal\u0131d\u0131r.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"Linux&#8217;te DNS Nas\u0131l \u00c7al\u0131\u015f\u0131r? B\u00f6l\u00fcm 1: getaddrinfo&#8217;dan resolv.conf&#8217;a Web sitelerine eri\u015fmek i\u00e7in kulland\u0131\u011f\u0131n\u0131z her URL, asl\u0131nda bir IP&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-28499","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Linux&#039;te DNS Nas\u0131l \u00c7al\u0131\u015f\u0131r? B\u00f6l\u00fcm 1: getaddrinfo&#039;dan resolv.conf&#039;a<\/title>\n<meta name=\"description\" content=\"Web sitelerine eri\u015fmek i\u00e7in kulland\u0131\u011f\u0131n\u0131z her URL, asl\u0131nda bir IP adresine \u00e7evrilmelidir. Bu karma\u015f\u0131k i\u015flemin perde arkas\u0131ndaki kahraman\u0131 DNS (Domain Name System) protokol\u00fcd\u00fcr. Linux sistemlerinde bu s\u00fcre\u00e7, `getaddrinfo` fonksiyonundan `resolv.conf` dosyas\u0131na kadar uzanan bir yolculuktur. Bu makalede, Linux&#039;te DNS \u00e7\u00f6z\u00fcmlemesinin ad\u0131m ad\u0131m nas\u0131l i\u015fledi\u011fini, temel kavramlardan ileri d\u00fczey tekniklere kadar detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. `getaddrinfo` fonksiyonunun rol\u00fcn\u00fc, DNS sunucular\u0131yla nas\u0131l ileti\u015fim kurdu\u011funu ve sonu\u00e7lar\u0131n `resolv.conf` dosyas\u0131nda nas\u0131l kullan\u0131ld\u0131\u011f\u0131n\u0131 inceleyece\u011fiz. Ayr\u0131ca, performans iyile\u015ftirme teknikleri ve olas\u0131 sorun giderme ad\u0131mlar\u0131n\u0131 da ele alaca\u011f\u0131z.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/linuxte-dns-nasil-calisir-bolum-1-getaddrinfodan-resolv-confa\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Linux&#039;te DNS Nas\u0131l \u00c7al\u0131\u015f\u0131r? B\u00f6l\u00fcm 1: getaddrinfo&#039;dan resolv.conf&#039;a\" \/>\n<meta property=\"og:description\" content=\"Web sitelerine eri\u015fmek i\u00e7in kulland\u0131\u011f\u0131n\u0131z her URL, asl\u0131nda bir IP adresine \u00e7evrilmelidir. Bu karma\u015f\u0131k i\u015flemin perde arkas\u0131ndaki kahraman\u0131 DNS (Domain Name System) protokol\u00fcd\u00fcr. Linux sistemlerinde bu s\u00fcre\u00e7, `getaddrinfo` fonksiyonundan `resolv.conf` dosyas\u0131na kadar uzanan bir yolculuktur. Bu makalede, Linux&#039;te DNS \u00e7\u00f6z\u00fcmlemesinin ad\u0131m ad\u0131m nas\u0131l i\u015fledi\u011fini, temel kavramlardan ileri d\u00fczey tekniklere kadar detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. `getaddrinfo` fonksiyonunun rol\u00fcn\u00fc, DNS sunucular\u0131yla nas\u0131l ileti\u015fim kurdu\u011funu ve sonu\u00e7lar\u0131n `resolv.conf` dosyas\u0131nda nas\u0131l kullan\u0131ld\u0131\u011f\u0131n\u0131 inceleyece\u011fiz. Ayr\u0131ca, performans iyile\u015ftirme teknikleri ve olas\u0131 sorun giderme ad\u0131mlar\u0131n\u0131 da ele alaca\u011f\u0131z.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/linuxte-dns-nasil-calisir-bolum-1-getaddrinfodan-resolv-confa\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-31T02:00:27+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/linuxte-dns-nasil-calisir-bolum-1-getaddrinfodan-resolv-confa\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/linuxte-dns-nasil-calisir-bolum-1-getaddrinfodan-resolv-confa\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Linux&#8217;te DNS Nas\u0131l \u00c7al\u0131\u015f\u0131r? B\u00f6l\u00fcm 1: getaddrinfo&#8217;dan resolv.conf&#8217;a\",\"datePublished\":\"2025-08-31T02:00:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/linuxte-dns-nasil-calisir-bolum-1-getaddrinfodan-resolv-confa\/\"},\"wordCount\":1309,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/linuxte-dns-nasil-calisir-bolum-1-getaddrinfodan-resolv-confa\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/linuxte-dns-nasil-calisir-bolum-1-getaddrinfodan-resolv-confa\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/linuxte-dns-nasil-calisir-bolum-1-getaddrinfodan-resolv-confa\/\",\"name\":\"Linux'te DNS Nas\u0131l \u00c7al\u0131\u015f\u0131r? B\u00f6l\u00fcm 1: getaddrinfo'dan resolv.conf'a\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-08-31T02:00:27+00:00\",\"description\":\"Web sitelerine eri\u015fmek i\u00e7in kulland\u0131\u011f\u0131n\u0131z her URL, asl\u0131nda bir IP adresine \u00e7evrilmelidir. Bu karma\u015f\u0131k i\u015flemin perde arkas\u0131ndaki kahraman\u0131 DNS (Domain Name System) protokol\u00fcd\u00fcr. Linux sistemlerinde bu s\u00fcre\u00e7, `getaddrinfo` fonksiyonundan `resolv.conf` dosyas\u0131na kadar uzanan bir yolculuktur. Bu makalede, Linux'te DNS \u00e7\u00f6z\u00fcmlemesinin ad\u0131m ad\u0131m nas\u0131l i\u015fledi\u011fini, temel kavramlardan ileri d\u00fczey tekniklere kadar detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. `getaddrinfo` fonksiyonunun rol\u00fcn\u00fc, DNS sunucular\u0131yla nas\u0131l ileti\u015fim kurdu\u011funu ve sonu\u00e7lar\u0131n `resolv.conf` dosyas\u0131nda nas\u0131l kullan\u0131ld\u0131\u011f\u0131n\u0131 inceleyece\u011fiz. Ayr\u0131ca, performans iyile\u015ftirme teknikleri ve olas\u0131 sorun giderme ad\u0131mlar\u0131n\u0131 da ele alaca\u011f\u0131z.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/linuxte-dns-nasil-calisir-bolum-1-getaddrinfodan-resolv-confa\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/linuxte-dns-nasil-calisir-bolum-1-getaddrinfodan-resolv-confa\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/linuxte-dns-nasil-calisir-bolum-1-getaddrinfodan-resolv-confa\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Linux&#8217;te DNS Nas\u0131l \u00c7al\u0131\u015f\u0131r? B\u00f6l\u00fcm 1: getaddrinfo&#8217;dan resolv.conf&#8217;a\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Linux'te DNS Nas\u0131l \u00c7al\u0131\u015f\u0131r? B\u00f6l\u00fcm 1: getaddrinfo'dan resolv.conf'a","description":"Web sitelerine eri\u015fmek i\u00e7in kulland\u0131\u011f\u0131n\u0131z her URL, asl\u0131nda bir IP adresine \u00e7evrilmelidir. Bu karma\u015f\u0131k i\u015flemin perde arkas\u0131ndaki kahraman\u0131 DNS (Domain Name System) protokol\u00fcd\u00fcr. Linux sistemlerinde bu s\u00fcre\u00e7, `getaddrinfo` fonksiyonundan `resolv.conf` dosyas\u0131na kadar uzanan bir yolculuktur. Bu makalede, Linux'te DNS \u00e7\u00f6z\u00fcmlemesinin ad\u0131m ad\u0131m nas\u0131l i\u015fledi\u011fini, temel kavramlardan ileri d\u00fczey tekniklere kadar detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. `getaddrinfo` fonksiyonunun rol\u00fcn\u00fc, DNS sunucular\u0131yla nas\u0131l ileti\u015fim kurdu\u011funu ve sonu\u00e7lar\u0131n `resolv.conf` dosyas\u0131nda nas\u0131l kullan\u0131ld\u0131\u011f\u0131n\u0131 inceleyece\u011fiz. Ayr\u0131ca, performans iyile\u015ftirme teknikleri ve olas\u0131 sorun giderme ad\u0131mlar\u0131n\u0131 da ele alaca\u011f\u0131z.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/linuxte-dns-nasil-calisir-bolum-1-getaddrinfodan-resolv-confa\/","og_locale":"tr_TR","og_type":"article","og_title":"Linux'te DNS Nas\u0131l \u00c7al\u0131\u015f\u0131r? B\u00f6l\u00fcm 1: getaddrinfo'dan resolv.conf'a","og_description":"Web sitelerine eri\u015fmek i\u00e7in kulland\u0131\u011f\u0131n\u0131z her URL, asl\u0131nda bir IP adresine \u00e7evrilmelidir. Bu karma\u015f\u0131k i\u015flemin perde arkas\u0131ndaki kahraman\u0131 DNS (Domain Name System) protokol\u00fcd\u00fcr. Linux sistemlerinde bu s\u00fcre\u00e7, `getaddrinfo` fonksiyonundan `resolv.conf` dosyas\u0131na kadar uzanan bir yolculuktur. Bu makalede, Linux'te DNS \u00e7\u00f6z\u00fcmlemesinin ad\u0131m ad\u0131m nas\u0131l i\u015fledi\u011fini, temel kavramlardan ileri d\u00fczey tekniklere kadar detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. `getaddrinfo` fonksiyonunun rol\u00fcn\u00fc, DNS sunucular\u0131yla nas\u0131l ileti\u015fim kurdu\u011funu ve sonu\u00e7lar\u0131n `resolv.conf` dosyas\u0131nda nas\u0131l kullan\u0131ld\u0131\u011f\u0131n\u0131 inceleyece\u011fiz. Ayr\u0131ca, performans iyile\u015ftirme teknikleri ve olas\u0131 sorun giderme ad\u0131mlar\u0131n\u0131 da ele alaca\u011f\u0131z.","og_url":"https:\/\/fatihsoysal.com\/blog\/linuxte-dns-nasil-calisir-bolum-1-getaddrinfodan-resolv-confa\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-08-31T02:00:27+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"8 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/linuxte-dns-nasil-calisir-bolum-1-getaddrinfodan-resolv-confa\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/linuxte-dns-nasil-calisir-bolum-1-getaddrinfodan-resolv-confa\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Linux&#8217;te DNS Nas\u0131l \u00c7al\u0131\u015f\u0131r? B\u00f6l\u00fcm 1: getaddrinfo&#8217;dan resolv.conf&#8217;a","datePublished":"2025-08-31T02:00:27+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/linuxte-dns-nasil-calisir-bolum-1-getaddrinfodan-resolv-confa\/"},"wordCount":1309,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/linuxte-dns-nasil-calisir-bolum-1-getaddrinfodan-resolv-confa\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/linuxte-dns-nasil-calisir-bolum-1-getaddrinfodan-resolv-confa\/","url":"https:\/\/fatihsoysal.com\/blog\/linuxte-dns-nasil-calisir-bolum-1-getaddrinfodan-resolv-confa\/","name":"Linux'te DNS Nas\u0131l \u00c7al\u0131\u015f\u0131r? B\u00f6l\u00fcm 1: getaddrinfo'dan resolv.conf'a","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-08-31T02:00:27+00:00","description":"Web sitelerine eri\u015fmek i\u00e7in kulland\u0131\u011f\u0131n\u0131z her URL, asl\u0131nda bir IP adresine \u00e7evrilmelidir. Bu karma\u015f\u0131k i\u015flemin perde arkas\u0131ndaki kahraman\u0131 DNS (Domain Name System) protokol\u00fcd\u00fcr. Linux sistemlerinde bu s\u00fcre\u00e7, `getaddrinfo` fonksiyonundan `resolv.conf` dosyas\u0131na kadar uzanan bir yolculuktur. Bu makalede, Linux'te DNS \u00e7\u00f6z\u00fcmlemesinin ad\u0131m ad\u0131m nas\u0131l i\u015fledi\u011fini, temel kavramlardan ileri d\u00fczey tekniklere kadar detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. `getaddrinfo` fonksiyonunun rol\u00fcn\u00fc, DNS sunucular\u0131yla nas\u0131l ileti\u015fim kurdu\u011funu ve sonu\u00e7lar\u0131n `resolv.conf` dosyas\u0131nda nas\u0131l kullan\u0131ld\u0131\u011f\u0131n\u0131 inceleyece\u011fiz. Ayr\u0131ca, performans iyile\u015ftirme teknikleri ve olas\u0131 sorun giderme ad\u0131mlar\u0131n\u0131 da ele alaca\u011f\u0131z.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/linuxte-dns-nasil-calisir-bolum-1-getaddrinfodan-resolv-confa\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/linuxte-dns-nasil-calisir-bolum-1-getaddrinfodan-resolv-confa\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/linuxte-dns-nasil-calisir-bolum-1-getaddrinfodan-resolv-confa\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Linux&#8217;te DNS Nas\u0131l \u00c7al\u0131\u015f\u0131r? B\u00f6l\u00fcm 1: getaddrinfo&#8217;dan resolv.conf&#8217;a"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/28499","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=28499"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/28499\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=28499"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=28499"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=28499"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}