BIND/Guide

From Gentoo Wiki
< BIND
Jump to:navigation Jump to:search
This page is a translated version of the page BIND/Guide and the translation is 67% complete.
Outdated translations are marked like this.

Bu makalede alan adınız ve ağınız için BIND'i kurma ve ayarlama anlatılmaktadır.

Giriş

Bu makalede internetin en çok kullanılan DNS sunucusu olan BIND'in nasıl kurulacağı ve yapılandırılacağı anlatılmakta. Alan adınız için bind'i iki şekilde yapılandıracağız; yerel ağınız ve ağınızın dışı için.

  1. View of the internal zone (the local network).
  2. View for the external zone (rest of the world).

Örneklerde kullanılacak veri

Anahtar kelime Tanım Örnek
ALAN_ADINIZ Sahip olduğunuz alan adı gentoo.org
DIŞ_IP İnternet servis sağlayıcınızın size verdiği IP 204.74.99.100
YEREL_IP Yerel ağdaki IP adresiniz 192.168.1.5
YEREL_AĞ Yerel ağınız 192.168.1.0/24
İKİNCİL_DNS Alan adınız için ikincil DNS sunucusunun IP adresi 209.177.148.228
ADMIN DNS sunucu yöneticisinin adı root
DÜZENLEME Rakam eklenmiş olarak alan dosyasının düzenlenme tarihi 2009062901

BIND'i Yapılandırma

Kurulum

Öncelikle net-dns/bind paketini kuralım.

root #emerge --ask net-dns/bind

/etc/bind/named.conf dosyasını düzenleme

İlk düzenleyeceğimiz dosya /etc/bind/named.conf. İlk yapacaklarımız bind'in kök dizinini, dinleyeceği IP ve portlarla, PID dosyasının yerini belirlemek ve IPv6 için bir satır eklemek.

Dosya /etc/bind/named.confoptions bölümü
options {
        directory "/var/bind";
  
        listen-on-v6 { none; };
        listen-on port 53 { 127.0.0.1; YOUR_LOCAL_IP; };
  
        pid-file "/var/run/named/named.pid";
};

named.conf'un ikinci bölümü yerel ağ ile ilgili.

Dosya /etc/bind/named.confYerel ayarları
view "internal" {
        match-clients { YOUR_LOCAL_NETWORK; localhost; };
        recursion yes;
  
        zone "YOUR_DOMAIN" {
                type master;
                file "pri/YOUR_DOMAIN.internal";
                allow-transfer { any; };
        };
};

named.conf'un sonraki bölümü de ağımızın dışından alan adımızı veya DNS sunucumuzu kullanarak diğer alan adlarını çözümlemek isteyenler için.

Dosya /etc/bind/named.confDış ağ
view "external" {
        match-clients { any; };
        recursion no;
  
        zone "." IN {
                type hint;
                file "named.ca";
        };
  
        zone "127.in-addr.arpa" IN {
                type master;
                file "pri/127.zone";
                allow-update { none; };
                notify no;
        };
  
        zone "YOUR_DOMAIN" {
                type master;
                file "pri/YOUR_DOMAIN.external";
                allow-query { any; };
                allow-transfer { SLAVE_DNS_SERVER; };
        };
};

En son bölüm de kayıtlar ile ilgili.

Dosya /etc/bind/named.confKayıtlar
logging {
        channel default_syslog {
                file "/var/log/named/named.log" versions 3 size 5m;
                severity debug;
                print-time yes;
                print-severity yes;
                print-category yes;
        };
       category default { default_syslog; };
};

/var/log/named/ dizini var olmalı ve named kullanıcısının sahipliğinde olmalı:

root #mkdir -p /var/log/named/
root #chmod 770 /var/log/named/
root #touch /var/log/named/named.log
root #chmod 660 /var/log/named/named.log
root #chown -R named /var/log/named/
root #chgrp -R named /var/log/named/

Dahili alan dosyasını oluşturmak

Ağımızın tanımını yapmak için host isimleri ve IP adreslerini kullanacağız. Nerdeyse tüm alan adlarının nokta ile bittiğine dikkat edin.

Dosya /var/bind/pri/YOUR_DOMAIN.internal
$TTL 2d
@	IN SOA	ns.YOUR_DOMAIN.	ADMIN.YOUR_DOMAIN. (
	MODIFICATION	; serial
	3h	; refresh
	1h	; retry
	1w	; expiry
	1d )	; minimum
  
YOUR_DOMAIN.		IN MX	0 mail.YOUR_DOMAIN.
YOUR_DOMAIN.		IN TXT	"v=spf1 ip4:YOUR_PUBLIC_IP/32 mx ptr mx:mail.YOUR_DOMAIN ~all"
YOUR_DOMAIN.		IN NS	ns.YOUR_DOMAIN.
YOUR_DOMAIN.		IN NS	SLAVE_DNS_SERVER
www.YOUR_DOMAIN.	IN A	192.168.1.3
ns.YOUR_DOMAIN.		IN A	192.168.1.5
mail.YOUR_DOMAIN.	IN A	192.168.1.3
router.YOUR_DOMAIN.	IN A	192.168.1.1
hell.YOUR_DOMAIN.	IN A	192.168.1.3
heaven.YOUR_DOMAIN.	IN A	192.168.1.5
desktop.YOUR_DOMAIN.	IN A	192.168.1.4

Harici alan dosyasını oluşturmak

Burada da sadece dışarıdan erişen istemcilerin kullanacağı alt domainleri listeliyoruz (www, mail ve ns).

Dosya /var/bind/pri/YOUR_DOMAIN.external
$TTL 2d
@	IN SOA	ns.YOUR_DOMAIN.	ADMIN.YOUR_DOMAIN. (
	MODIFICATION	;serial
	3h	;refresh
	1h	;retry
	1w	;expiry
	1d )	;minimum
  
YOUR_DOMAIN.		IN MX	0 mail.YOUR_DOMAIN.
YOUR_DOMAIN.		IN TXT	"v=spf1 ip4:YOUR_PUBLIC_IP/32 mx ptr mx:mail.YOUR_DOMAIN ~all"
YOUR_DOMAIN.		IN NS	ns.YOUR_DOMAIN.
YOUR_DOMAIN.		IN NS	SLAVE_DNS_SERVER
www.YOUR_DOMAIN.	IN A	YOUR_PUBLIC_IP
ns.YOUR_DOMAIN.		IN A	YOUR_PUBLIC_IP
mail.YOUR_DOMAIN.	IN A	YOUR_PUBLIC_IP

Yapılandırmayı tamamlama

named servisini default çalışma seviyesine eklemelisiniz:

root #rc-update add named default

İstemcileri yapılandırma

Artık alan adlarını çözümlemek için DNS sunucunuzu kullanabilirsiniz. /etc/resolv.conf dosyasını düzenlediğniz bilgisayarlarda kullanılacaktır.

Dosya /etc/resolv.conf
search YOUR_DOMAIN
nameserver YOUR_DNS_SERVER_IP

Note that YOUR_DNS_SERVER_IP is the same as YOUR_LOCAL_IP we used in this document. In the picture the example is 192.168.1.5.

Testing

We are able to test our new DNS server. First, we need to start the service.

root #/etc/init.d/named start

Now, we are going to make some host commands to some domains. We can use any computer of our local network to do this test. If you don't have net-dns/host installed you can use ping instead. Otherwise, first run emerge host .

user $host www.gentoo.org
www.gentoo.org has address 209.177.148.228
www.gentoo.org has address 209.177.148.229
user $host hell
hell.YOUR_DOMAIN has address 192.168.1.3
user $host router
router.YOUR_DOMAIN has address 192.168.1.1

Protecting the server with iptables

When running the DNS service, iptables can be configured with these rules for added protection:

CODE Iptables rules
iptables -A INPUT -p udp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT

This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Vicente Olivert Riera, nightmorph
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.