Windows Server

Windows Server 2008 Core üzerine DNS Servisinin Kurulması ve Yapılandırılması

Microsoft’un daha az kaynak tüketen, aynı zamanda maliyet açısından daha uygun olan Windows Server 2008 işletim sisteminin Core sürümü, kullanımı biraz zahmetli olsa da oldukça başarılı hizmetler sunmakta. Bu çekirdek hizmetlerden biri olan DNS servisinin, yazımızın sonunda da görüleceği gibi bir hayli kullanışlı olduğu anlaşılıyor.

Bu makalede Dns servisinin Windows Server 2008 Core sürümü üzerine kurulumu ve konfigürasyonu anlatmaya çalışacağım. Dilerseniz hemen kurulum işlemine geçelim…

Windows Server 2008 işletim sisteminde herhangi bir servis için kurulum diskine ihtiyaç bulunmadığından direkt olarak command-line arayüzünden kurulumu başlatabiliriz. Dns kurulumu için gerekli olan ip konfigürasyonunu yapmakla başlayalım. Bunun için netsh komutunu Resim 1’deki parametreler yardımı ile kullanacağız.

image001

Resim 1

İlk komutu network interface’lerin id’lerini görmek için, ikinci komutu statik ip adresi vermek için, ve son komutu da dns server olarak kendi server’ımızı tanımlamak için kullanıyoruz. 

image002

Resim 2

Ip Konfigürasyonumuzu tamamladıktan sonra dns kurulum işlemine başlayabilriz. Bunun için Resim 2’de görüldüğü gibi start /w ocsetup DNS-Server-Core-Role komutu kullanacağız. Burada Start komutu Windows bileşenlerini kurmak için kullanılan ocsetup komutunu çalıştırmak için kullandık. /w parametresi kurulumun bitimine kadar bir başka işlem yapamamamıza neden oluyor. Eğer bu parametreyi kullanmasaydık kurulum arka planda gerçekleşecek ve o esnada başka işlemler de yapabilecek durumda olacaktık.

Burada önemli bir noktaya değinmek isterim; ocsetup komutu ile birlikte kurulması istenilen bileşenin adı tam ve büyük-küçük harflere dikkat edilerek yazılmalıdır. Dns servisi için bileşen ismi ise DNS-Server-Core-Role olmak durumundadır (Resim 2).

 

image003

Resim 3

Kurulumdan hemen sonra servisimiz çalışmaya başlayacaktır. Dilerseniz Dns Servisinin  çalıştığını teyit etmek için sc query dns komut ve parametrelerini kullanabiliriz (Resim 3).

 

image004

Resim 4

Servisin kurulumunu gerçekleştirdikten sonra sorgulara yanıt vermek amacı ile kullanılacak kayıtların tutulacağı bir zone yaratma işlemine geçelim. Öncelikle, yetkili (Authoritative) bir dns server’ın tutması gereken zone tipini yani primary zone’u yaratalım. Bunun için dnscmd komutunu Resim 4’te görüldüğü şekilde kullanıyoruz. Burada /zoneadd parametresi yeni bir zone eklemek için, /primary parametresi anlaşılacağı üzere primary zone oluşturmak için, /file parametresi ise oluşturacağımız zone’un hangi isimde saklanacağını belirtmek için kullanılır. Oluşturacağımız zone’un ismi test.com ve saklayacağımız dosyanın ismi de test.zone.com olacaktır (Resim 4). /primary parametresi yerine /dsprimary parametresi kullanarak Active Directory Integrated Zone da oluşturabiliriz.

image005

Resim 5

Primary zone yarattıktan sonra içeriğini notepad yardımı ile Resim 5’teki komutları yazarak görebiliriz. Henüz herhangi bir kayıt oluşturmadığımız için sadece SOA değerlerini ve NS kaydının var olduğunu görebiliyoruz.

 

image006

Resim 6

Primary Zone içerisine yeni kayıtlar oluşturmak için dnscmd komutuna Resim 6’da görülen parametreleri ekleyerek çalıştırıyoruz. Buradaki /recordadd parametresi yeni bir kayıt eklemek için, A yardımcı parametresi bir Host kaydını oluşturmak için kullanılır. Oluşturacağımız bu yeni kaydın adını www ve ip adresini 10.4.10.121 olarak tanımlıyoruz.

 

image007

Resim 7

Bir başka kayıt oluşturmak için Resim 7’deki komut ve parametrelerini kullanıyoruz. Bu defa oluşturacağımız kayıt bir ALIAS yani bir HOST kaydına verilen takma bir isim. Kullanılan yardımcı parametre ise adından da anlaşılacağı üzere CNAME olacaktır. Az önce oluşturduğumuz A kaydına (www) vereceğimiz yeni isim web olacaktır.

 

image008

Resim 8

Benzer şekilde MX (Mail Exchanger) kaydını oluşturmak için Resim 8’de görülen komut ve parametrelerini kullanabiliriz. Burada farklı olarak  10 sayısını görmekteyiz ki bu sayı MX kaydının kullanım önceliğidir.

 

image009

Resim 9

Oluşturduğumuz kayıtları yine dnscmd komutu ile görebiliriz. /enumrecord Parametresi isteğimize karşılık verecektir. Tabi hangi zone için ne tür bilgi istediğimizi de belirtmek şartıyla… Komutun sonuna koyduğumuz . (nokta) zone’a ait tüm kayıtların listelenmesini sağlayacaktır. (Resim 9).

 

 

image010

Resim 10

Dilersek aynı bilgileri notepad yardımı ile zone dosyasını açarak da görebiliriz. Hatta buradan yeni kayıtlar da ekleme imkanımız bulunmaktadir (Resim 10)

 

image011

Resim 11

Primary Zone için gerekli kayıtları da oluşturduktan sonra nslookup arayüzünü kullanarak Resim 11’deki testlerimizi yapabiliriz. Gayet başarılı görünüyor…

 

image012

Resim 12

Oluşturduğumuz Primary Zone’un diğer DNS server’lar tarafından kopyalanabilir olmasını sağlamak için Zone Transferine izin vermemiz gereklidir. Bu işlemi Resim 12’de görülen komut ve parametreleri ile gerçekleştirebiliyoruz.  /zoneresetsecondaries parametresi amacımıza ulaşmamazı sağlayan parametremizdir. /nonsecure parametresi ise isteyen her server’ın bu zone’dan bir kopya almasını sağlamak için kullanılır.

 

image013

Resim 13

Tabi ki güvenliğin önemi nedeni ile her isteyen server’a bu hakkı vermek istemeyebilirsiniz. Bu işlemi belirli server’ların gerçekleştirmesini sağlamak için Resim 13’te görülen komut ve parametrelerini kullanmamız gerekecektir. /securelist parametresi ile ip adresini tanımladığımız server’a bu hakkı tanımış olacağız.

 

image014

Resim 13

Zone’daki değişikliklerin algılanmasını sağlamak amacı ile Zone Transferine izin verdiğimiz server için uyarı verilmesini de Resim 13’de görülen komut ve parametre ile sağlayabiliyoruz. /notifylist parametresi ile ip adresini tanımladığımız server’a bu hakkı tanımış olacağız.

 

image015

Resim 14

Primary Zone’dan sonra bir Primary Zone kopyası olan Seconrary Zone’u oluşturmak amacı ile Resim 14’te görülen komut ve parametrelerini kullanarak amacımıza ulaşabileceğiz. Buradaki /secondary parametresi ile adından da anlaşılacağı gibi oluşturmak istediğimiz Secondary zone için gerekli parametredir. Primary Zone’da olduğu gibi burada da bir zone ve bu zone için bir dosya ismi belirtmemiz gerekecektir. Primary Zone’dan farklı olarak Zone kopyasını almak istediğimiz Master Dns Server’ın ip adresini belirtmemiz gerekmektedir.

 

image016

Resim 15

Secondary Zone’u oluşturduktan sonra Master Dns’ten Primary Zone’daki kayıtların kopyasını transfer etmek amacı ile Resim 15’te görülen komut ve parametrelerini kullanmamız gerekecektir. Buradaki gerekli parametremiz ise /zonereload parametresidir. Eğer sadece değişikliklerin transfer edilmesi istenirse /zonerefresh parametresi ile bu işlemi gerçekleştirebiliriz. Zone kayıtlarının trasfer olduğundan emin olmak için notepad editörünü veya dnscmd komutu ile /enumrecord parametresini kullanabiliriz.

 

image017

Resim 16

Benzer şekilde Primary Zone’un kopyasını Stub Zone oluşturarak da alabiliriz. Bilindiği üzere Stub Zone ile birlikte gelen zone kayıtları Secondary Zone ile gelen kayıtlardan daha az olacaktır. Kullanım amacına göre Stub Zone tercih edilebilir. İşlemi gerçekleştirmek için kullanacağımız komut ve parametreleri Resim 16’daki gibi olacaktır. Secondary Zone oluşturmak için kullandığımız parametrelerden tek farkı /secondary yerine /stub parametresinin kullanılmasıdır.

 

image018

Resim 17

Stub Zone’un kayıtlarını Resim 17’deki komut ve parametre ile görebiliriz. Sadece SOA ve NS kayıtları geldiğine göre Stub Zone oluşturma amacımıza ulaşmış sayılıyoruz.

 

image019

Resim 18

Sıra geldi isim çözümleme servislerinin vazgeçilmezi olan Forwarder tanımlama işlemine. Herhangi bir domain için Zone barındırmak istenmiyorsa Resim 18’de görülen komut ve parametreleri kullanılarak Forwarder tanımlanabilir. Her ne kadar bir Zone’a benzemese de /zoneadd parametresi ile bu işlemi gerçekleştirmek durumundayız. Gerekli diğer parametre ise /forwarder parametresidir. Tabi ki hangi dns domaini için hangi ip adresine yönlendirme yapılacağını da belirtmek durumundayız. Bu tür forwarder’ların Conditional (Koşullu) Forwarder olarak adlandırıldığını hatırlattıktan sonra test işlemine geçebiliriz.

 

image020

Resim 19

Basit olarak tanımladığımız domain için ping komutunu kullanarak Dns servisimizin yönlendirme yaptığını teyit edebiliriz (Resim 19).

 

image021

Resim 20

Az önce belirttiğimiz gibi Conditional Forwarder sadece bir domain için belirtebileceğimiz bir yönlendirme türüdür. Dns Server’ımızın internetteki tüm domain’ler için gerekli çözümleyi yapması istenirse Traditional (Geleneksel) Forwarder kullanmamız gerekecektir. Bu forwarder sayesinde Dns Server’ımızın çözemediği her türlü sorgu istenilen adrese yönlendirilecektir. Örneğin ISP Dns server ip adresine… Resim 20’de Traditional Forwarder’ı oluşturmak için gerekli komut ve parametreleri görülmektedir.

 

image022

Resim 21

Resim 20’de ismini lokal olarak çözemeyeceğimiz bir domain’in çözümleme testini basitçe ping komutu ile başarmış bulunuyoruz.

Görüldüğü üzere Windows Server 2008 Core sürümü üzerinde DNS konfigürasyonu oldukça kolay olmakla birlikte çoğu zaman keyifli bile olabilmektedir. Daha az kaynak ve maliyet ile ihtiyaç duyduğumuz servislerin konfigürasyonu için zaman harcamaya değer olduğu, sanıyorum Microsoft’u doğrulamaktadır.

Bir başka makalede görüşmek dileği ile…

Seymen URAL

Kaynak: Microsoft Technet

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu