Bu 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…