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 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 "hostwin.net" IN {
type master;
file "hostwin.forward";
allow-update { 192.168.2.0/24; };
};
zone "2.168.192.in-addr.arpa." IN {
type master;
file "hostwin.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/hostwin.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 hostwin-srv.hostwin.net. hostmaster.hostwin.net. (
42 ; serial
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS hostwin-srv
localhost IN A 127.0.0.1
hostwin-srv IN A 192.168.2.120
server1 IN A 192.168.2.121
server2 IN A 192.168.2.122
server1-priv IN A 192.168.117.141
server2-priv IN A 192.168.117.142
server1-priv2 IN A 192.168.117.143
server2-priv2 IN A 192.168.117.144
server1-vip IN A 192.168.2.131
server2-vip IN A 192.168.2.132
server-scan IN A 192.168.2.125
server-scan IN A 192.168.2.126
server-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/hostwin.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 hostwin.net. hostmaster.hostwin.net. ( 2
3H
1H
1W
1H )
2.168.192.in-addr.arpa. IN NS root.hostwin.net.
120 IN PTR hostwin-srv.hostwin.net
121 IN PTR server1.hostwin.net
122 IN PTR server2.hostwin.net
131 IN PTR server1-vip.hostwin.net
132 IN PTR server2-vip.hostwin.net
125 IN PTR server-scan.hostwin.net
126 IN PTR server-scan.hostwin.net
127 IN PTR server-scan.hostwin.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 hostwin.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 hostwin-srv.hostwin.net
Server: 192.168.2.120
Address: 192.168.2.120#53
Name: hostwin-srv.hostwin.net
Address: 192.168.2.120
# nslookup server-scan.hostwin.net
Server: 192.168.2.120
Address: 192.168.2.120#53
Name: server-scan.hostwin.net
Address: 192.168.2.126
Name: server-scan.hostwin.net
Address: 192.168.2.127
Name: server-scan.hostwin.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 "hostwin.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.
1606 Okundu
1396 Okundu
1296 Okundu
1674 Okundu
1942 Okundu
1353 Okundu
1206 Okundu
1497 Okundu
1898 Okundu
1293 Okundu
1293 Okundu