internet pencereler Android

Blackjack ile ve Google Public DNS'den daha hızlı olan kendi yerel DNS'imizi (PDNSD) yapıyoruz. Yerel bir ağ için önbelleğe alma DNS sunucusu (BIND) kurma Windows altında bir önbelleğe alma dns sunucusu yükleme


Yazar: Paul Cobbaut
Yayınlanma Tarihi: 24 Mayıs 2015
Tercüme: A. Panin
Transfer tarihi: 11 Temmuz 2015

Bölüm 4. DNS Sunucularına Giriş

4.3. DNS önbelleğe alma sunucuları

DNS bölgesine hizmet etmeyen ancak sorguları önbelleğe almak için diğer ad sunucularına bağlanan bir DNS sunucusuna önbelleğe alma DNS sunucusu denir. DNS önbelleğe alma sunucuları, kaynak kayıtları içeren DNS bölgesi veritabanlarıyla çalışmaz. Bunun yerine, diğer ad sunucularına bağlanırlar ve ilgili bilgileri önbelleğe alırlar.

İki tür önbelleğe alma DNS sunucusu vardır. Bunlar, DNS yönlendirme sunucularını kullanan DNS sunucuları ve DNS kök sunucularını kullanan DNS sunucularıdır.

4.3.1. Bir yönlendirme sunucusu kullanmayan bir önbelleğe alma DNS sunucusu

Yönlendirme sunucusu kullanmayan bir önbelleğe alma DNS sunucusu, bilgileri başka bir yerden almalıdır. Bir istemciden istek aldığı anda, kök sunuculardan biriyle iletişim kurar. Kök sunucu, hedef üst düzey etki alanına hizmet eden sunucu hakkında önbelleğe alma sunucusu bilgilerini gönderir ve bu da onu başka bir DNS sunucusuna yönlendirir. İkinci sunucu, isteğe cevap verecek bilgiye sahip olabilir veya bu bilgiye sahip olabilecek başka bir DNS sunucusu hakkında bilgi aktarabilir. Sonunda, DNS sunucumuz, isteği yanıtlamak için ihtiyaç duyduğu bilgileri alacak ve istemciye bir yanıt gönderecektir.

Aşağıdaki çizim, bir istemcinin linux-training.be alan adı için IP adresi bilgisi talebi gönderme sürecini göstermektedir. Önbelleğe alma sunucumuz kök sunucuya bağlanacak ve üst düzey etki alanı .be'ye hizmet veren sunucuya yönlendirilecektir. Ardından, üst düzey etki alanı .be'ye hizmet veren sunucuya bağlanacak ve Openminds organizasyonundaki ad sunucularından birine yönlendirilecektir. Bu ad sunucularından biri (bu durumda, nsq.openminds.be), linux-training.be alan adına sahip sunucunun IP adresiyle isteğe yanıt verecektir. Önbelleğe alma sunucumuz bu bilgileri istemciye ilettikten sonra, istemci söz konusu web sitesine bağlanabilir.

Bu alan adını çözümlemek için tcpdump dinleyicisini kullanırsanız, aşağıdaki çıktıyı alırsınız (her satırın ilk 20 karakteri kaldırılmıştır).

192.168.1.103.41251> M.ROOT-SERVERS.NET.domain: 37279% A? linux-tr\aining.be. (46) M.ROOT-SERVERS.NET.domain> 192.168.1.103.41251: 37279- 0/11/13 (740) 192.168.1.103.65268> d.ns.dns.be.domain: %38555 A? linux-eğitimi. \ olmak. (46) d.ns.dns.be.domain> 192.168.1.103.65268: 38555- 0/7/5 (737) 192.168.1.103.7514> ns2.openminds.be.domain: %60888 A? linux-tren \ ing.be. (46) ns2.openminds.be.domain> 192.168.1.103.7514: 60888 * - 1/0/1 A 188.93.155.\ 87 (62)

4.3.2. Yönlendirme sunucusu kullanan DNS önbelleğe alma sunucusu

Bir yönlendirme sunucusu kullanan bir önbelleğe alma DNS sunucusu, ihtiyaç duyduğu tüm bilgileri yönlendirme sunucusundan (ileticiden) alan bir DNS sunucusudur. Örneğin, bir İnternet servis sağlayıcısının DNS sunucusu, bir yönlendirme DNS sunucusu olarak hareket edebilir.

Yukarıdaki çizim, yönlendirme DNS sunucusu olarak ISS tarafından sağlanan bir DNS sunucusunu kullanan bir şirketin yerel ağındaki bir DNS sunucusunu göstermektedir. ISP tarafından sağlanan DNS sunucusunun IP adresi 212.71.8.10 ise, şirketin DNS sunucusunun name.conf yapılandırma dosyasında aşağıdaki satırlar bulunmalıdır:

Nakliyeciler (212.71.8.10;);

Ayrıca, DNS sunucunuzu koşullu ileticiler ile çalışacak şekilde de yapılandırabilirsiniz. Yapılandırma dosyasında koşullu olarak yeniden yönlendirilen bir DNS sunucusunun açıklaması şöyle görünür:

Bölge "bir başka etkialanı.yerel" (ileri yazın; yalnızca ileri; ileticiler (10.104.42.1;););

4.3.3. Yinelemeli veya özyinelemeli sorgu

Özyinelemeli sorgu, istemcinin DNS sunucusundan son yanıtı beklediği bir DNS sorgusudur (yukarıdaki çizimde MacBook'tan DNS sunucusunu gösteren koyu kırmızı okla gösterilmiştir). Yinelemeli sorgu, istemcinin DNS sunucusundan son bir yanıt almayı beklemediği bir DNS sorgusudur (yukarıdaki çizimde, DNS sunucusunu gösteren üç siyah ok kullanılarak gösterilmiştir). Yinelemeli sorgular genellikle ad sunucuları arasında yapılır. Kök ad sunucuları özyinelemeli sorgulara yanıt vermez.

Bir DNS bölgesini yöneten DNS sunucusuna, o bölge için yetkili DNS sunucusu denir. DNS bölgesinin yalnızca bir kaynak kayıtları koleksiyonu olduğunu unutmayın.

Bir DNS bölgesi için ilk yetkili DNS sunucusuna birincil DNS sunucusu denir. Bu sunucu, DNS bölgesi veritabanının bir okuma ve yazma kopyasıyla çalışacaktır. Arıza durumunda veri bütünlüğünü iyileştirmeniz, sunucu performansını iyileştirmeniz veya yük dengelemeniz gerekiyorsa, bu DNS bölgesini de yönetecek başka bir DNS sunucusu kurabilirsiniz. Bu sunucu ikincil DNS sunucusu olarak anılacaktır.

İkincil sunucu, bir bölge aktarımı sırasında birincil sunucudan DNS bölge veritabanının bir kopyasını alır. DNS bölgesi veri aktarımları, belirli zaman aralıklarında ikincil sunucular tarafından istenir. Bu zaman dilimlerinin uzunlukları, SOA kaynak kaydının bir parçası olarak ayarlanır.

rndc yardımcı programını kullanarak DNS bölge verilerinin zorunlu güncellemesini başlatabilirsiniz. Aşağıdaki örnek, fred.local'a bir DNS aktarımı başlatır ve / var / log / syslog günlük dosyasının ilgili bölümünü yazdırır.

[e-posta korumalı]: / vb / bağla # rndc yenileme fred.local [e-posta korumalı]: / vb / bağla # grep fred / var / log / syslog | kuyruk -7 | kes -c38- bölge fred.local / IN: bildirim gönderme (seri 1) alınan kontrol kanalı komutu "fred.local yenileme" bölge fred.local / IN: Aktarım başladı. 10.104.109.1'den "fred.local / IN" transferi # 53: 10.104.33.30 # 57367 bölge kullanılarak bağlandı fred.local / IN: transfer edilen seri 2 "fred.local / IN" transferi 10.104.109.1 # 53: Transfer tamamlandı: 1 mesaj, 10 kayıt, 264 bayt, 0.001 saniye (264000 bayt/sn) bölge fred.local / IN: bildirim gönderme (seri 2) [e-posta korumalı]: / vb / bağla #

Bir DNS bölgesine ikincil bir DNS sunucusu eklerken, bu sunucuyu birincil sunucu için bağımlı DNS sunucusu olacak şekilde yapılandırabilirsiniz. Birincil DNS sunucusu, ikincil sunucuya göre ana DNS sunucusu olacaktır.

Çoğu zaman, birincil DNS sunucusu, tüm bağımlı sunucularla çalışan ana sunucudur. Bazen bir bağımlı sunucu, bir sonraki düzey bağımlı sunucular için bir ana sunucu olarak da hareket edebilir. Aşağıdaki çizimde ns1 adlı sunucu birincil sunucudur ve ns2, ns3 ve ns4 adlı sunucular ikincil sunuculardır. ns1, ns2 ve ns3 için ana öğe olmasına rağmen, ns2, ns4 için ana öğedir.

SOA kaynak kaydı, yenileme adlı DNS bölgesinin yenileme hızını içerir. Bu değer 30 dakikaya ayarlanırsa, bağımlı sunucu her 30 dakikada bir DNS bölge verilerinin bir kopyasını aktarmak için istekler gönderir. Bu kayıt, yeniden deneme adlı zaman aşımı süresinin uzunluğu için bir değer de içerir. Bu değer, ana sunucu en son DNS bölgesi veri aktarım isteğine yanıt vermediğinde kullanılır. Sona erme süresi adlı değer, bağımlı sunucunun DNS bölge verilerini güncellemeden istemcilerden gelen isteklere yanıt verebileceği süreyi belirler.

Aşağıda, bir DNS bölgesi (linux-training.be) için SOA kaynak kaydı verilerini okumak için nslookup yardımcı programının kullanılmasına bir örnek verilmiştir.

[e-posta korumalı]:~# nslookup > set tipi = SOA > sunucu ns1.openminds.be > linux-training.be Sunucu: ns1.openminds.be Adres: 195.47.215.14 # 53 linux-training.be Origin = ns1.openminds.be posta adresi = hostmaster.openminds.be seri = 2321001133 yenileme = 14400 yeniden deneme = 3600 sona erme = 604800 minimum = 3600

DNS bölge veri aktarımları yalnızca DNS bölge veritabanlarında veri değişikliği olması durumunda (yani ana sunucu tarafında bir veya daha fazla kaynak kaydı eklendiğinde, silindiğinde veya değiştirildiğinde) gerçekleştirilir. Köle sunucu, SOA kaynak kaydının kendi kopyasının seri numarasını, ilgili ana sunucunun SOA kaynak kaydının sürüm numarasıyla karşılaştırır. Sürüm numaraları aynıysa, veri güncellemesi gerekmez (çünkü başka hiçbir kaynak kaydı eklenmemiş, kaldırılmamış veya değiştirilmemiştir). Aynı durumda, bağımlı sunucu tarafında bulunan SOA kaynak kaydının sürüm numarası, aynı kaydın ilgili ana sunucu tarafında bulunan sürüm numarasından küçük ise DNS aktarım isteği yapılır.

Aşağıda, DNS bölgesi veri aktarımı sırasında ele geçirilen verilerle Wireshark sniffer penceresinin bir anlık görüntüsü bulunmaktadır.

4.9. DNS bölgelerinin tam veya kısmi transferleri

DNS bölgesi veri aktarımları tam veya kısmi olabilir. Hangi modu kullanma kararı, bağımlı sunucudaki DNS bölgesi veritabanını tamamen güncellemek için aktarılması gereken veri miktarına bağlıdır. Değişen verilerin toplam miktarı tüm veritabanının boyutundan daha az olduğunda bölge verilerinin kısmi aktarımı tercih edilir. Tam DNS bölge aktarımları AXFR protokolü kullanılarak yapılır ve kısmi DNS bölge aktarımları IXFR protokolü kullanılarak yapılır.

WordPress 5.3'ün piyasaya sürülmesi, WordPress 5.0'da sunulan blok düzenleyiciyi yeni bir blok, daha sezgisel etkileşimler ve iyileştirilmiş erişilebilirlik ile geliştirir ve genişletir. Editördeki yeni özellikler [...]

Dokuz aylık geliştirmeden sonra, çeşitli multimedya formatlarında (kayıt, dönüştürme ve [...]

  • Linux Mint 19.2 Cinnamon'daki yeni özellikler

    Linux Mint 19.2, 2023'e kadar desteklenecek olan Uzun Süreli Destek sürümüdür. Güncellenmiş yazılımla birlikte gelir ve iyileştirmeler ve birçok yeni [...]

  • Linux Mint 19.2 dağıtımı yayınlandı

    Ubuntu 18.04 LTS paket bazında oluşturulan ve 2023 yılına kadar desteklenen Linux Mint 19.x şubesinin ikinci güncellemesi olan Linux Mint 19.2 dağıtım kitinin lansmanı sunuldu. Dağıtım tamamen uyumludur [...]

  • Hata düzeltmeleri ve özellik geliştirmeleri içeren yeni BIND hizmet sürümleri mevcuttur. Yeni sürümler, geliştiricinin sitesindeki indirmeler sayfasından indirilebilir: [...]

    Exim, Cambridge Üniversitesi'nde internete bağlı Unix sistemlerinde kullanılmak üzere geliştirilmiş bir Mesaj Aktarım Aracısıdır (MTA). […] uyarınca serbestçe kullanılabilir.

    Yaklaşık iki yıllık geliştirmeden sonra, Linux çekirdeği için bir modül olarak paketlenmiş ZFS dosya sisteminin bir uygulaması olan ZFS on Linux 0.8.0 yayınlandı. Modül, Linux çekirdekleri 2.6.32 ila [...] ile test edilmiştir.

  • WordPress 5.1.1, site denetimi güvenlik açığını giderir
  • İnternet protokolleri ve mimarisinin geliştirilmesiyle uğraşan İnternet Mühendisliği Görev Gücü (IETF), Otomatik Sertifika Yönetim Ortamı (ACME) protokolü için bir RFC oluşumunu tamamladı [...]

    Topluluk tarafından kontrol edilen ve herkese ücretsiz sertifikalar sağlayan kar amacı gütmeyen sertifika merkezi Let's Encrypt, geçen yılın sonuçlarını özetledi ve 2019 için planlarından bahsetti. […]

  • Libreoffice'in yeni bir sürümü yayınlandı - Libreoffice 6.2
  • DNS (Alan Adı Sistemi), web sitelerinin ve sunucuların çalışması için gerekli olan önemli ve yapılandırılması oldukça zor bir bileşendir. Birçok kullanıcı, barındırma sağlayıcısı tarafından sağlanan DNS sunucularına yönelir, ancak kendi DNS sunucularına sahip olmanın bazı avantajları vardır.

    Bu öğreticide, Bind9'u nasıl kuracağınızı ve onu bir Ubuntu 14.04 sunucusunda önbelleğe alma veya iletme DNS sunucusu olarak nasıl yapılandıracağınızı öğreneceksiniz.

    Gereksinimler

    • Temel DNS sunucu türlerini anlama. Ayrıntılar için bkz.
    • En az biri Ubuntu 14.04 çalıştıran iki makine. İlk makine bir istemci (IP adresi 192.0.2.100) ve ikincisi bir DNS sunucusu (192.0.2.1) olarak yapılandırılacaktır.

    Bir DNS sunucusu aracılığıyla sorgu göndermek için bir istemci makinesini nasıl yapılandıracağınızı öğreneceksiniz.

    DNS Sunucusunu Önbelleğe Alma

    Bu tür sunuculara, özyinelemeli sorguları işledikleri ve genel olarak diğer sunucularda DNS aramaları yapabildikleri için niteleyiciler de denir.

    Önbelleğe alınan DNS sunucusu, istemcinin isteğine verilen yanıtı izlediğinde, yanıtı istemciye geri gönderir ve ayrıca, karşılık gelen DNS kayıtlarının TTL'si tarafından izin verilen süre boyunca önbellekte depolar. Önbellek daha sonra genel istek işleme süresini hızlandırmak için sonraki isteklere yanıt kaynağı olarak kullanılabilir.

    Ağ yapılandırmanızdaki hemen hemen tüm DNS sunucuları önbelleğe alınacaktır. Önbelleğe alma DNS sunucusu, birçok durum için iyi bir seçimdir. Barındırma sağlayıcınızın DNS sunucularına veya diğer genel DNS sunucularına güvenmek istemiyorsanız, kendi önbelleğe alma DNS sunucunuzu kurun. DNS sunucusundan istemci makinelere olan mesafe ne kadar kısa olursa, DNS sorguları için hizmet süresi o kadar kısa olur.

    DNS Sunucusunu Yönlendirme

    Bir istemcinin bakış açısından, yeniden yönlendiren bir DNS sunucusu, bir önbelleğe alma sunucusuyla neredeyse aynı görünecektir, ancak mekanizmalar ve iş yükü tamamen farklıdır.

    Yönlendirme yapan bir DNS sunucusu, önbelleğe alma sunucusuyla aynı avantajlara sahiptir. Ancak, aslında herhangi bir özyinelemeli sorgu yürütmez. Bunun yerine, tüm istekleri harici bir izin verilen sunucuya yönlendirir ve ardından sonraki istekler için sonuçları önbelleğe alır.

    Bu, yeniden yönlendirme sunucusunun özyinelemeli istekleri işlemeden istekleri önbelleğinden sunmasına olanak tanır. Bu nedenle, bu sunucu tüm özyineleme prosedürünü değil, yalnızca tek istekleri (yeniden yönlendirilen istemci istekleri) işler. Bu, harici bant genişliğinin sınırlı olduğu, önbelleğe alma sunucularının sık sık değiştirilmesinin gerektiği ve yerel isteklerin bir sunucuya ve harici isteklerin bir başka sunucuya yeniden yönlendirildiği durumlarda avantajlı olabilir.

    Adım 1 - Bir DNS Sunucusuna Bind Kurulumu

    Bind paketi resmi Ubuntu deposunda bulunabilir. Paket dizinini güncelleyin ve apt yöneticisini kullanarak Bind'i yükleyin. Ayrıca birkaç bağımlılık yüklemeniz gerekir.

    sudo apt-get güncellemesi
    sudo apt-get yükleme bind9 bind9utils bind9-doc

    Bundan sonra, sunucuyu yapılandırmaya başlayabilirsiniz. Bir yönlendirme sunucusunu yapılandırmak için bir şablon olarak önbelleğe alma sunucusu yapılandırmasını kullanabilirsiniz, bu nedenle önce bir önbelleğe alma DNS sunucusunu yapılandırmanız gerekir.

    Adım 2 - önbelleğe alınan bir DNS sunucusunu yapılandırma

    Öncelikle, Bind'i önbelleğe alma DNS sunucusu olarak yapılandırmanız gerekir. Bu yapılandırma, sunucunun diğer DNS sunucularındaki istemci sorgularına yanıtları yinelemeli olarak aramasına neden olur. Bir yanıt bulana kadar tüm ilgili DNS sunucularını sırayla yoklayacaktır.

    Bind yapılandırma dosyaları / etc / bind dizininde saklanır.

    Dosyaların çoğunun düzenlenmesi gerekmez. Ana yapılandırma dosyasının adı adlandırılmıştır.conf (adlandırılmış ve bağlama, aynı uygulama için iki addır). Bu dosya, adlandırılmış.conf.options, adlandırılmış.conf.local ve adlandırılmış.conf.default-zones dosyalarına başvurur.

    Bir önbelleğe alma DNS sunucusunu yapılandırmak için yalnızca adlandırılmış.conf.options öğesini düzenlemeniz gerekir.

    sudo nano adlı.conf.options

    Bu dosya şöyle görünür (basitlik için yorumlar atlanmıştır):

    seçenekler (
    "/ var / önbellek / bağlama" dizini;
    dnssec doğrulama otomatik;

    v6'da dinle (herhangi biri;);
    };

    Bir önbelleğe alma sunucusu kurmak için bir erişim kontrol listesi veya ACL oluşturmanız gerekir.

    Saldırganlardan gelen yinelemeli sorguları işleyen DNS sunucusunu korumanız gerekir. DNS yükseltme saldırıları, sunucuyu dağıtılmış hizmet reddi saldırılarına dahil edebildikleri için özellikle tehlikelidir.

    DNS yükseltme saldırıları, sunucuları ve siteleri kapatmanın bir yoludur. Bunu yapmak için saldırganlar, özyinelemeli sorguları işleyen genel DNS sunucularını bulmaya çalışır. Kurbanın IP adresini taklit ederler ve DNS sunucusuna çok hacimli bir yanıt verecek bir istek gönderirler. Bu durumda, DNS sunucusu küçük bir isteğe yanıt olarak kurbanın sunucusuna çok fazla veri döndürür ve saldırganın kullanılabilir bant genişliğini artırır.

    Genel özyinelemeli bir DNS sunucusunu barındırmak, dikkatli yapılandırma ve yönetim gerektirir. Sunucunun güvenliğinin ihlal edilmesini önlemek için, sunucunun güvenebileceği bir IP adresleri veya ağ aralıkları listesi yapılandırın.

    Seçenekler bloğundan önce bir acl bloğu ekleyin. ACL grubu için bir etiket oluşturun (bu öğreticide gruba iyi istemciler adı verilir).

    acl iyi istemciler (
    };
    seçenekler (
    . . .

    Bu blokta, bu DNS sunucusuna erişimi olacak IP adreslerini veya ağları listeleyin. Sunucu ve istemci bir / 24 alt ağında çalıştığından, o alt ağa erişimi kısıtlayabilirsiniz. Ayrıca, otomatik olarak bağlanan yerel ana bilgisayar ve yerel ağların engellemesini kaldırmanız gerekir.

    acl iyi istemciler (
    192.0.2.0/24;
    yerel ana bilgisayar;
    yerel ağlar;
    };
    seçenekler (
    . . .

    Artık güvenli bir istemci ACL'niz var. Seçenekler bloğunda istek çözümlemesini yapılandırmaya başlayabilirsiniz. Üzerine şu satırları ekleyin:

    seçenekler (
    "/ var / önbellek / bağlama" dizini;
    özyineleme evet;

    . . .

    Seçenekler bloğu, özyinelemeyi açıkça etkinleştirir ve ardından izin verilen sorgu parametresini ACL'yi kullanacak şekilde yapılandırır. Bir ACL grubuna başvurmak için izin-özyineleme gibi başka bir parametre de kullanabilirsiniz. Özyineleme etkinleştirildiğinde, özyinelemeye izin verme, özyinelemeli hizmetleri kullanabilen istemcilerin bir listesini tanımlayacaktır.

    Ancak, özyinelemeye izin ver parametresi ayarlanmazsa, Bind, izin verilen sorgu önbellek listesine, ardından izin verilen sorgu listesine ve son olarak da varsayılan yerel ağlar ve yerel ana bilgisayar listelerine geri döner. Yalnızca önbelleğe alma sunucusunu yapılandırdığımız için (kendi bölgeleri yoktur ve istekleri iletmez), izin verilen sorgu listesi her zaman yalnızca özyineleme için geçerli olacaktır. Bu, ACL'leri tanımlamanın en yaygın yoludur.

    Dosyayı kaydedin ve kapatın.

    Bunlar, önbelleğe alma DNS sunucusu yapılandırma dosyasına eklenmesi gereken tüm ayarlardır.

    Not: Yalnızca bu tür DNS kullanmak istiyorsanız, yapılandırmaları kontrol edin, hizmeti yeniden başlatın ve istemcinizi yapılandırın.

    Adım 3 - Bir Yönlendirme DNS Sunucusu Ayarlama

    Bir DNS yönlendirme sunucusu altyapınız için daha uygunsa, ayarı biraz değiştirmek isteyebilirsiniz.

    Şu anda adlandırılmış.conf.options dosyası şöyle görünür:

    acl iyi istemciler (
    192.0.2.0/24;
    yerel ana bilgisayar;
    yerel ağlar;
    };
    seçenekler (
    "/ var / önbellek / bağlama" dizini;
    özyineleme evet;
    sorguya izin ver (iyi istemciler;);
    dnssec doğrulama otomatik;
    auth-nxdomain no; # RFC1035'e uygun
    v6'da dinle (herhangi biri;);
    };

    DNS sunucusunu belirli bir istemci listesiyle kısıtlamak için aynı ACL'yi kullanabilirsiniz. Ancak bu, sunucunun artık özyinelemeli sorguları yürütmeye çalışmaması için bazı yapılandırma değişiklikleri gerektirir.

    Özyinelemeyi hayır olarak değiştirmeyin. Yönlendirme sunucusu özyinelemeli hizmetleri destekler. Bir yönlendirme sunucusu kurmak için, istekleri ileteceği önbelleğe alma sunucularının bir listesini oluşturmanız gerekir.

    Bu, options () bloğunda yapılır. İlk olarak, istekleri yönlendirmek istediğiniz özyinelemeli ad sunucularının IP adreslerini depolayacak yeni bir ileticiler bloğu oluşturmanız gerekir. Bu durumda, bunlar Google'ın DNS sunucuları olacaktır (8.8.8.8 ve 8.8.4.4):

    . . .
    seçenekler (
    "/ var / önbellek / bağlama" dizini;
    özyineleme evet;
    sorguya izin ver (iyi istemciler;);
    ileticiler (

    8.8.8.8;

    8.8.4.4;

    };
    . . .

    Sonuç olarak, yapılandırma şöyle görünür:

    acl iyi istemciler (
    192.0.2.0/24;
    yerel ana bilgisayar;
    yerel ağlar;
    };
    seçenekler (
    "/ var / önbellek / bağlama" dizini;
    özyineleme evet;
    sorguya izin ver (iyi istemciler;);
    ileticiler (
    8.8.8.8;
    8.8.4.4;
    };
    sadece ileri;
    dnssec doğrulama otomatik;
    auth-nxdomain no; # RFC1035'e uygun
    v6'da dinle (herhangi biri;);
    };

    Son değişiklik, dnssec parametresiyle ilgilidir. Mevcut yapılandırmayla ve isteklerin yönlendirildiği DNS sunucularının ayarlarına bağlı olarak, günlüklerde aşağıdaki hatalar görünebilir:

    25 Haziran 15:03:29 önbellek adlı: "in-addr.arpa/DS/IN" çözümleme hatası (DS sunucularını takip edin): 8.8.8.8 # 53
    25 Haziran 15:03:29 önbellek adında: hata (geçerli DS yok) "111.111.111.111.in-addr.arpa/PTR/IN" çözümleniyor: 8.8.4.4 # 53

    Bunları önlemek için, dnssec-validation parametresini yes olarak değiştirin ve dnssec'i açıkça etkinleştirin.

    . . .
    sadece ileri;
    dnssec-etkinleştir evet;
    dnssec doğrulaması evet;
    auth-nxdomain no; # RFC1035'e uygun
    . . .

    Dosyayı kaydedin ve kapatın. Yönlendirme DNS sunucusu artık yapılandırılmıştır.

    4. Adım: Ayarları Kontrol Etme ve Bağlantıyı Yeniden Başlatma

    Şimdi ayarların beklendiği gibi çalıştığından emin olmanız gerekiyor.

    Yapılandırma dosyalarının sözdizimini kontrol etmek için şunu girin:

    sudo adlı-checkconf

    Dosyalarda herhangi bir hata yoksa, komut satırı herhangi bir çıktı göstermez.

    Bir hata alırsanız düzeltin ve tekrar kontrol edin.

    Ardından ayarları güncellemek için Bind arka plan programını yeniden başlatabilirsiniz.

    sudo hizmeti bind9 yeniden başlatma

    Ardından sunucu günlüklerini kontrol etmeniz gerekir. Komutu sunucuda çalıştırın:

    sudo tail -f / var / log / syslog

    Şimdi yeni bir terminal açın ve istemci makinesini yapılandırmaya devam edin.

    5: istemci kurulumu

    İstemci makinede oturum açın. İstemcinin, yapılandırılmış DNS sunucusunun ACL grubunda listelendiğinden emin olun. Aksi takdirde, DNS sunucusu bu istemcinin isteklerini yerine getirmeyi reddedecektir.

    Sunucuyu ad sunucusuna yönlendirmek için /etc/resolv.conf dosyasını düzenleyin.

    Burada yapılan değişiklikler yalnızca yeniden başlatılıncaya kadar devam eder, bu da test için harikadır. Test kurulumunun sonuçlarından memnunsanız bu ayarları kalıcı hale getirebilirsiniz.

    Dosyayı sudo ile bir metin düzenleyicide açın:

    sudo nano /etc/resolv.conf

    Dosya, istekleri çözmek için kullanılacak DNS sunucularını listelemelidir. Bunu yapmak için ad sunucusu yönergesini kullanın. Mevcut tüm girişleri yorumlayın ve DNS sunucunuzu gösteren bir ad sunucusu satırı ekleyin:

    ad sunucusu 192.0.2.1
    # ad sunucusu 8.8.4.4
    # ad sunucusu 8.8.8.8
    # ad sunucusu 209.244.0.3

    Dosyayı kaydedin ve kapatın.

    Artık doğru şekilde çözüldüğünü doğrulamak için bir test isteği gönderebilirsiniz.

    Bunu yapmak için ping kullanabilirsiniz:

    ping -c 1 google.com
    PING google.com (173.194.33.1) 56 (84) bayt veri.
    sea09s01-in-f1.1e100.net'ten 64 bayt (173.194.33.1): icmp_seq = 1 ttl = 55 zaman = 63,8 ms
    --- google.com ping istatistikleri ---
    1 paket iletildi, 1 paket alındı, %0 paket kaybı, zaman 0ms
    rtt min / ortalama / maks / mdev = 63.807 / 63.807 / 63.807 / 0.000 ms

    Her yıl İnternetin hızı - hem son mil hem de ana kanallar - artıyor. Değişmeyen tek bir şey var - gecikme, fiziksel sınırlamalara karşı çoktan doldu: fiberdeki ışığın hızı saniyede yaklaşık 200 bin kilometredir ve buna bağlı olarak, Atlantik Okyanusu boyunca sunucudan ~ 150 ms'den daha hızlı bir yanıt alınmayacaktır. öngörülebilir gelecekte (elbette hava çekirdekli fiber veya radyo röle iletişimi gibi zevkler olsa da, bu sadece ölümlüler için pek mümkün değildir).

    Örneğin, Rusya'dan ABD'de bulunan bir web sitesini açmaya çalıştığımızda (NS sunucuları muhtemelen aynı yerdedir) ve alan adı sağlayıcınızın DNS önbelleğinde bulunmadığında, bir süre beklememiz gerekecek. bir gigabit İnternet'te bile uzun süre, hatta belki bir saniye bile: okyanusun ötesindeyken, etki alanının NS sunucularının adlarını alacağız, IP'lerini keserken, gerçek DNS isteğini gönderip alacağız . ..

    Birkaç yıl önce Google, kendi genel DNS sunucularını başlattı ve bunlara geçişi hızlandırmak için, gezinme geçmişinizde DNS testleri yapan ve Google DNS'nin ISS'nizin DNS sunucusundan ne kadar daha hızlı olduğunu gösteren NameBench yardımcı programını geliştirdiler.

    Ancak Google Public DNS'den daha hızlı çalışan kendi DNS sunucumu yapmayı başardım ve bu kısa notta sonuçları paylaşmak istiyorum.

    PDNSD

    pdnsd- DNS proxy'sini önbelleğe alma. DNS isteklerinin banal önbelleğe alınmasına ek olarak (asgari TTL'yi katı bir şekilde ayarlama yeteneği ile - çok kötü bir İnternet'te gerekli olabilir), aynı anda birkaç "ana" DNS sunucusuna bir istek gönderebilir ve istemci ilk yanıt döndürüldü.

    Bize hızdaki ana avantajı sağlayan paralel yoklamanın dahil edilmesidir. dan beri sağlayıcılardan herhangi birinin önbelleğinde sonuç bulunduğunda sonucu çok hızlı bir şekilde alıyoruz ve ilk sağlayıcının önbellekte yanıt vermemesi durumunda tam ve yavaş çözünürlük beklemiyoruz.

    Ubuntu'ya kurulur - banal apt-get.

    Yapılandırmada birkaç nokta

    global (perm_cache = 10240; // Kilobayt cinsinden maksimum önbellek boyutu. // Varsayılan olarak 1024 idi, tüm kayıtlara müdahale edilmedi. cache_dir = "/ var / cache / pdnsd"; [...] min_ttl = 60m; // Bir girişi önbelleğe kaydetmek için minimum süre. // TTL 60 dakikadan daha kısa sürede ulaşsa bile, 60 dakika olacaktır max_ttl = 1w; // Bir girişi önbelleğe kaydetmek için maksimum süre neg_ttl = 5m; // Olumsuz yanıtları önbelleğe alma süresi (yani etki alanı bulunamazsa) [..] par_queries = 3; // Eşzamanlı olarak yoklanan "üst" DNS sunucularının sayısı) sunucu (etiket = "ana"; ip = 85.21.192.5 // 4 sunucu var, eğer ilk 3 tanesi yanıt vermezse, 4 -th'e bir istek gönderilecek, 213.234.192.7 // İlk 2 sunucu sağlayıcınızın sunucusudur ve bazı komşu sunucuların, 8.8.4.4 // Bu Google Public DNS'dir - nadir bulunan her şeyi önbelleğe alırlar ve hızlı bir şekilde çözülürler, 8.8.8.8; [.. ])

    Prensip olarak, önbelleğe alma daha az agresif hale getirilebilir (örneğin min_ttl = 1m), ancak çalışma yılı boyunca özel bir sorun yaşanmadı. Sorun olması durumunda - dilerseniz önbellekten bir girişi silebilirsiniz:
    sudo pdnsd-ctl kaydı 3.14.sil veya hepsini bir kerede:
    sudo pdnsd-ctl boş önbellek

    NameBench'teki test sonuçları



    İsteklerin %50'si için 10 ms'den daha kısa sürede, Google Public DNS'den %85 daha hızlı yanıt aldığımızı ve ardından sonuçların doğal olarak Google ile örtüştüğünü görüyoruz.

    Test sonuçlarına dayanarak, NameBench bizi mutlu bir şekilde bilgilendirir:

    8.8.8.8 SYS-192.167.0.98'in daha yavaş kopyası 8.8.4.4 SYS-192.167.0.98'in daha yavaş kopyası

    Böylece, paralel isteklere sahip akıllı bir önbelleğe alma DNS proxy'si, 100 megabit İnternet'i bile hızlandırabilir. Ve yüksek gecikme ve paket kaybı olan yavaş (radyo) bağlantılar için, fark cennet ve dünya arasındaki gibi olabilir.