Linux İşletim Sistemlerinde DNS ve DHCP Sunucu Yapılandırması

LinuxAllBu makalemizde “Linux İşletim Sistemlerinde DNS ve DHCP Sunucu Yapılandırması” konusunu inceleyeceğiz.

DNS Nedir ?

DNS (Domain Name System) internet uzayını bölümlemeye, bölümleri adlandırmaya ve bölümler arası iletişimi organize etmeye yarayan bir sistemdir. İnternet ağını oluşturan her birim sadece kendine ait bir IP adresine sahiptir. Bu IP adresleri kullanıcıların kullanımı için www.siteismi.com gibi kolay hatırlanır adreslere karşılık düşürülür. DNS sunucuları, internet adreslerinin IP adresi karşılığını kayıtlı tutmakta ve çözümlemektedir.

DHCP Nedir ?

DHCP (Dynamic Host Configuration Protocol), basit olarak sistemdeki bilgisayarlara IP adreslerini ve buna ek olarak değişik parametreleri atamak için kullanılan servistir. DHCP’nin temel özelliği sistemi kuran kişilerin tek tek tüm makineleri gezip aynı veya benzer parametreleri defalarca eliyle girmesini engellemek,böylece zaman kazanmak ve sistem yöneticisinin işini kolaylaştırmaktır. DHCP sunucusu aracılığı ile sadece IP Adresi değil “Zaman Sunucususu” (NTP Server) “Varsayılan Ağ Geçidi” (Default Gateway) vb. parametreleride atayabilir.

Kurulum için “Oracle Enterprise Linux” işletim sistemini kullanacağız. Bu makaledeki adımlar benzer işletim sistemleri (Red Hat, CentOS ve türevi) ile uyumludur.

Kurulum işlemlerimizi “DNS Sunucu Yapılandırması” ve “DHCP Sunucu Yapılandırması” isimli iki başlıkta inceleyeceğiz.

Öncelikle işletim sistemimizi daha önceki “Oracle Enterprise Linux 6.x Kurulumu” makalemizde anlatıldığı gibi kuruyoruz.

Sunucumuzda “Firewall” ve “SELinux” servislerimizi devre dışı bırakıyoruz. Eğer “Firewall” ve “SELinux” servislerimiz aktif olacaksa servislerimizin kullanacağı portlara izin vermemiz gerekiyor.

# vim /etc/selinux/config
-- Dosyasını açıyoruz ve aşağıdaki satırı "disabled" olarak ayarlıyoruz.

SELINUX=disabled

-- Firewall servisimizi durdurup kapatıyoruz.

# service iptables stop
# chkconfig iptables off
  • DNS Sunucu Yapılandırması (BIND DNS)

1. İşletim sistemimizde kullanacağımız “BIND DNS” paketlerini kuruyoruz.

# yum -y install bind*

2. Sunucumuzda Dns yapılandırma dosyamız “/etc/named.conf” içerisinde DNS Sunucu adresimizi ve isim çözümleyemediği durumlarda yönlendireceği DNS adreslerimizi düzenliyoruz.

# vim /etc/named.conf
-- Dosyasında aşağıdaki satırları düzenliyoruz. 

options {
        listen-on port 53 { 127.0.0.1; 192.168.2.120; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        forwarders    { 8.8.8.8; 8.8.4.4; };
        allow-query    { localhost; any; };
        recursion yes;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

zone "koraykey.net" IN {
        type master;
        file "koraykey.forward";
        allow-update { 192.168.2.0/24; };
};

zone "2.168.192.in-addr.arpa." IN {
        type master;
        file "koraykey.reverse";
        allow-update { 192.168.2.0/24; };
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
include "/etc/rndc.key";

3. Sunucumuzda “Forward” DNS kayıtlarımızı yapabilmek için “/var/named/localdomain.zone” dosyasında gerekli düzenlemeleri yapıyoruz.

# vim /var/named/koraykey.forward

-- Dosyamızı açıyoruz ve aşağıdaki gibi düzenliyoruz.
Burada ortamımızda bulunan bilgisayar isimleri ve IP Adresilerini giriyoruz.

$TTL    86400

@               IN SOA  koraykey-srv.koraykey.net.     hostmaster.koraykey.net. (               
                                        42              ; serial
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum
                IN NS   koraykey-srv
localhost       IN A    127.0.0.1
koraykey-srv	IN A	192.168.2.120
kryrac1         IN A    192.168.2.121
kryrac2         IN A    192.168.2.122
kryrac1-priv    IN A    192.168.117.141
kryrac2-priv    IN A    192.168.117.142
kryrac1-priv2   IN A    192.168.117.143
kryrac2-priv2   IN A    192.168.117.144
kryrac1-vip     IN A    192.168.2.131
kryrac2-vip     IN A    192.168.2.132
kryrac-scan     IN A    192.168.2.125
kryrac-scan     IN A    192.168.2.126
kryrac-scan     IN A    192.168.2.127

4. Sunucumuzda Reverse DNS kayıtlarımızı yapabilmek için “/var/named/0.168.192.in-addr.arpa” dosyasında gerekli düzenlemeleri yapıyoruz.

# vim /var/named/koraykey.reverse

-- Dosyamızı açıyoruz ve aşağıdaki gibi düzenliyoruz.
Burada "reverse" kayıtlarını oluştururken atamış olduğumuz
IP adreslerinin son rakamlarını yazıyoruz. Diğer kısmını "DNS
Reverse" özelliği tamamlayacaktır.

$ORIGIN 2.168.192.in-addr.arpa.

$TTL 1H

@       IN      SOA     koraykey.net.     hostmaster.koraykey.net. ( 2
                                                3H
                                                1H
                                                1W
                                                1H )
2.168.192.in-addr.arpa.         IN NS      root.koraykey.net.
120     IN PTR  koraykey-srv.koraykey.net
121     IN PTR  kryrac1.koraykey.net
122     IN PTR  kryrac2.koraykey.net
131     IN PTR  kryrac1-vip.koraykey.net
132     IN PTR  kryrac2-vip.koraykey.net
125     IN PTR  kryrac-scan.koraykey.net
126     IN PTR  kryrac-scan.koraykey.net
127     IN PTR  kryrac-scan.koraykey.net

5. Sunucumuzda işlemleri tamamladıktan sonra servisimizi başlatıyoruz ve sunucumuz başladığında otomatik açılması için gerekli yapılandırmaları yapıyoruz.

-- Bu aşamada sunucumuzda "securedns" için rndc.key oluşuyor.
-- Bu işlem biraz zaman alabilir.

# service named start
Generating /etc/rndc.key:[  OK  ]
Starting named: [  OK  ]

-- Sunucumuzda servisimizin açılırken otomatik başlaması için
gerekli ayarı yapıyoruz.

# chkconfig named on

6. Sunucumuzda DNS yapılandırmamız tamamladı. Şimdi isim çözümleyecek sunucularımız veya bilgisayarlarımız üzerinde “/etc/resolv.conf” dosyasına yapılandırdığımız bu sunucumuzun adresini giriyoruz.

# vim /etc/resolv.conf
-- Dosyasını açıp aşağıdaki düzenlemeleri
yapıyoruz.

search koraykey.net
nameserver 192.168.2.120

7. Yapmış olduğumuz ayarları kontrol ediyoruz ve çalıştığından emin oluyoruz.

# rndc status

version: 9.8.2rc1-RedHat-9.8.2-0.17.rc1.0.2.el6_4.4
CPUs found: 2
worker threads: 2
number of zones: 18
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
recursive clients: 0/0/1000
tcp clients: 0/100
server is up and running

# nslookup koraykey-srv.koraykey.net

Server:         192.168.2.120
Address:        192.168.2.120#53

Name:   koraykey-srv.koraykey.net
Address: 192.168.2.120

# nslookup kryrac-scan.koraykey.net

Server:         192.168.2.120
Address:        192.168.2.120#53

Name:   kryrac-scan.koraykey.net
Address: 192.168.2.126
Name:   kryrac-scan.koraykey.net
Address: 192.168.2.127
Name:   kryrac-scan.koraykey.net
Address: 192.168.2.125

# nslookup www.google.com.tr

# nslookup www.google.com.tr
Server:         192.168.2.120
Address:        192.168.2.120#53

Non-authoritative answer:
Name:   www.google.com.tr
Address: 173.194.44.31
Name:   www.google.com.tr
Address: 173.194.44.23
Name:   www.google.com.tr
Address: 173.194.44.24

DNS Sunucu yapılandırmamız tamamlandı. Bir sonraki adımımız olan “DHCP Sunucu” yapılandırmamıza geçebiliriz.

  • DHCP Sunucu Yapılandırması

1. İşletim sistemimizde kullanacağımız “DHCP Sunucu” paketimizi kuruyoruz.

# yum install dhcp

2. Sunucumuzda “DHCP Server” yapılandırma için kullanacağımız “/etc/dhcp/dhcpd.conf” dosyasında dağıtacağı IP aralığına göre aşağıdaki örnekte olduğu gibi düzenliyoruz.

# vim /etc/dhcp/dhcpd.conf
-- Dosyamızı açıyoruz ve aşağıdaki gibi yapılandırıyoruz.
"option" olan bölümde bilgisayarlarımıza dağıtacağımız
seçenekleride yazabiliriz.

Allow booting;
Allow bootp;
Allow client-updates;
authoritative;

subnet 192.168.2.0 netmask 255.255.255.0 {
  option routers               192.168.2.1;
  option subnet-mask           255.255.255.0;
  option domain-name           "koraykey.net";
  option domain-name-servers   192.168.2.120;
  option ntp-servers           192.168.2.120;
  default-lease-time           21600;
  max-lease-time               43200;
  range dynamic-bootp 192.168.2.100 192.168.2.253;
}

3. Sunucumuzda “DHCP Server” servisini yaptığımız ayarlarla başlatıyoruz ve sunucumuz yeniden başladığında otomatik açılması için gerekli ayarımızı yapıyoruz.

# service dhcpd start

-- Sunucumuzda servisimizin açılırken otomatik başlaması için
gerekli ayarı yapıyoruz.

# chkconfig dhcpd on

DHCP Sunucu yapılandırmamız tamamlandı. Artık ağ ortamımızda bulunan bilgisayarlarımız yapılandırdığımız sunucumuzdan IP Adresi ve diğer seçenekleri alabilir.

Bu makalemizde “Linux İşletim Sistemlerinde DNS ve DHCP Sunucu Yapılandırmasını” inceledik. Ağ ortamlarımızda bulunan sunucularımız DHCP Sunucumuzdan IP Adresi alabilir DNS Sunucumuzla adres çözümleyebilir durumdadır. Burada uygulanan adımlar “Oracle Enterprise Linux 6.4″ işletim sistemi üzerinde test edilmiştir. Diğer Linux dağıtımlarıylada uyumludur.

Başka bir makalede görüşmek üzere…

Bu yazı Unix / Linux kategorisine gönderilmiş ve , , , , , , , , ile etiketlenmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.