Üçünçü seviye "metu.edu" alan adlarının kullanımı için sunucu sistemlerde yapılması gerekli tanımlamalara ilişkin teknik not


1. Giriş

Üniversitemize tahsis edilen "metu.edu" alan adının altında yer alan üçüncü seviye alan adlarının İnternet servisleri için kullanılması amacıyla, bölüm/birim sunucu sistemleri üzerinde bazı temel tanımların yapılması gerekmektedir. Bu tanımlar bir sonraki bölümde açıklanmıştır. Bu bölümde yapılan tüm açıklamalar "odtu.edu.tr" alan adı için de aynen geçerlidir.

"Tanımlamalar" bölümünde sadece temel servislerin (dns, e-posta, web) unix türevi işletim sistemleri için ayarları hakkında bilgi verilmiştir. Bunun dışındaki platformlar için destek gereksinimi olduğunda lütfen ccnet@metu.edu.tr adresine yazınız.

Söz konusu tanımlar sadece, bölüm ve birimlerimizin kullanımında olan metu.edu.tr alan adlarına ilave olarak metu.edu (ve odtu.edu.tr) alan adlarının da kullanılması istendiğinde yapılacaktır. metu.edu.tr alt alan adları üzerinden verilmekte olan servislerin sürdürülmesi için herhangi bir ek tanıma gerek yoktur.

"Tanımlamalar" bölümünde belirtilenlerin yapılması durumunda aşağıda belirtilen ek olanaklardan bölüm ve biriminizin faydalanması mümkün olacaktır (örnek üçüncü seviye alan adı olarak "cc.metu.edu" kullanılmıştır).


2. Tanımlamalar

2.a. Alan Adı (DNS):
Aşağıda anlatılan alan adı sunucusu yapılandırmaları "bind 8.x" ve sonraki sürümleri içindir.

"bind" sunucu programının yapılandırma dosyası genellikle /etc dizini altında bulunur. "named.conf" isimli yapılandırma dosyası içerisinde aşağıdaki gibi bir tanım bulunuyor olmalıdır;

zone "eee.metu.edu.tr" {
        type master;
        file "db.eee-metu-edu-tr";
        allow-update {none;};
};

Alan adı sunucusunun, yeni alan adları (eee.odtu.edu.tr ve eee.metu.edu) için de yetkin olarak cevap vermesi için "named.conf" dosyası içerisine yeni "master zone" tanımları eklenmelidir;

zone "eee.metu.edu.tr" {
        type master;
        file "db.eee-metu-edu-tr";
        allow-update {none;};
};

zone "eee.odtu.edu.tr" {
         type master;
         file "db.eee-metu-edu-tr";
         allow-update {none;};
};

zone "eee.metu.edu" {
         type master;
         file "db.eee-metu-edu-tr";
         allow-update {none;};
};


Yukarıdaki tanımlarda, her üç alan adı için de aynı veri dosyası (db.eee-metu-edu-tr) kullanıldığına dikkat ediniz. Bu, eee.metu.edu.tr alan adı altında tanımlı olan tüm kayıtların (A, NS, CNAME, TXT, MX, SOA) yeni alan adları için de kullanılmasını sağlayacaktır.

Ancak bunun için "db.eee-metu-edu-tr" dosyasının içerisinde yer alan ve sonu "." ile biten kesin ifadeler gözden geçirilmelidir. Örneğin dosyanın başında yer alan "$origin eee.metu.edu.tr." ifadesi tamamen kaldırılmalıdır. Ayrıca;

@ IN SOA ns1.eee.metu.edu.tr. root.metu.edu.tr. (
satırı şu şekilde değiştirilmelidir;
@ IN SOA ns1 root (
Sunucu sorgulamalara cevap verirken bu dosya içerisinde yer alan ve sonunda nokta olmayan tüm alan adı ifadelerinin arkasına eee.metu.edu (ve diğer iki alan adını) ekleyerek cevap verecektir. Aşağıda örnek bir zone dosyası sunulmuştur;

$TTL 86400
@      IN      SOA      ns1      root      (
                                         2002082901
                                         43200   ;
                                         3600 ;
                                         604800 ;
                                        
86400) ;
                        IN       NS      ns1
                        IN       NS      ns2
                        
IN       A       144.122.166.17
                        IN       MX 10   mail
                        IN       TXT     "EEE Bolumu - ODTU"
;
ns1                     IN       A       144.122.166.11
ns2                     IN       A       144.122.166.12
;
sunucu1                 IN       A       144.122.166.17
sunucu2                 IN       A       144.122.166.18
;
www                     IN       CNAME   sunucu1
mail                    IN       CNAME   sunucu2


2.b. E-posta:

Aşağıda anlatılan e-posta yapılandırmaları "sendmail" programı içindir. "Sendmail" sunucusunun yapılandırma dosyaları genellikle /etc/mail dizini altında bulunur. Bu dizin altında bulunan "sendmail.cf" yapılandırma dosyasına baktığımızda "Cw" ile başlayan satır(lar) görürüz. Eğer birden fazla alan adınıza gelen e-postaların sendmail tarafından kabul edilmesini istiyorsanız, her bir alan adının başına Cw ekleyerek sendmail.cf dosyasına yazınız. Örneğin "ahmet" adında bir kullanıcınız ve eee.metu.edu.tr, eee.metu.edu ve eee.odtu.edu.tr şeklinde üç alan adınız var. ahmet@eee.metu.edu.tr, ahmet@eee.metu.edu ve ahmet@eee.odtu.edu.tr adreslerine gelen e-postaların ahmet kullanıcısına ulaşmasını istiyorsanız, sendmail.cf dosyasına;

Cwlocalhost #(bu her durumda gerekli)
Cweee.metu.edu.tr
Cweee.odtu.edu.tr
Cweee.metu.edu

yazmanız yeterlidir. Bunu başka şekilde ve daha modüler biçimde de yapabiliriz. Bunun için yine sendmail.cf dosyasına;
Cwlocalhost Fw/etc/mail/local-host-names
yazınız ve /etc/mail dizini altında local-host-names isminde bir dosya oluşturarak içine kabul edeceğiniz her alan adını tek bir satıra gelecek şekilde yazınız:
eee.metu.edu.tr
eee.odtu.edu.tr
eee.metu.edu

Yapılan değişikliklerin etkin hale geçmesi için sendmail programını öldürüp, tekrar çalıştırmanız gereklidir.


2.c. Web:
Aşağıda anlatılan web yapılandırmaları "apache" sunucu programı içindir.

Aşağıda açıklanan tanımlamalar sunucu sistem üzerinde birden fazla isim tabanlı sanal web sunucusu (name based virtual web server) olduğunu varsaymaktadır.

Sunucu sistem üzerinde çalışan sanal web sunucusu tanımı yoksa ve alan adı eee.odtu.edu.tr sunucusunda tanımlanan tüm web sunucusu isimleri (örneğin www.eee.metu.edu.tr ve www.eee.metu.edu aynı sunucuyu işaret ediyorsa) girildiğinde aynı sayfaya ulaşmak isteniyorsa (örneğin: istemci tarayıcısına http://www.eee.metu.edu.tr ve http://www.eee.metu.edu adresleri girdiğinde aynı ana sayfaya ulaşması isteniyorsa), aşağıdaki tanımları yapmaya gerek yoktur. Alan adı sunucusu üzerinde yapılacak tanımlamalar yeterli olacaktır.

Apache programının "/usr/local/apache" dizini altında kurulu olduğunu varsayalım. Bu web sunucunun yapılandırma dosyaları "conf" dizini altındadır. Conf dizini altındaki "httpd.conf" dosyası içinde "VirtualHost" tanımlamaları vardır (eğer yoksa önceki paragrafı tekrar inceleyiniz). Örnek verecek olursak, www.eee.metu.edu.tr için;

<VirtualHost www.eee.metu.edu.tr>
ServerAdmin webadmin@metu.eee.edu.tr
DocumentRoot /www/htdocs
ServerName www.eee.metu.edu.tr
ServerAlias www.eee.odtu.edu.tr
ServerAlias www.eee.metu.edu

ScriptAlias /www/cgi-bin/
CustomLog /www/logs/Access_Log/www.eee.metu.edu.tr combined
</VirtualHost>

Örnekte görüldüğü gibi www.eee.metu.edu alan adını bir VirtualHost tanımı içinde "ServerAlias" olarak verebileceğiniz gibi, başka bir VirtualHost tanımı olarak yapmak da mümkündür;

<VirtualHost www.eee.metu.edu>
ServerAdmin webadmin@metu.eee.edu
DocumentRoot /www/htdocs-eee-metu-edu
ServerName www.eee.metu.edu
ScriptAlias /www/cgi-bin/
CustomLog /www/logs/Access_Log/www.eee.metu.edu combined
</VirtualHost>


Aynı şekilde eee.odtu.edu.tr için:

<VirtualHost www.eee.odtu.edu.tr>
ServerAdmin webadmin@eee.odtu.edu.tr
DocumentRoot /www/htdocs-eee-odtu-edu-tr
ServerName www.eee.odtu.edu.tr
ScriptAlias /www/cgi-bin/ CustomLog /www/logs/Access_Log/www.eee.odtu.edu.tr combined
</VirtualHost>

Yapılan değişikliklerin etkin hale geçmesi için apache programını öldürüp, tekrar çalıştırmanız gereklidir.