ana sayfa : araştırma : internet : linuxun iss olarak ayarlanması [ 5 / 6 ] |
|
GERİ | |
BÖLÜM
5
LINUX’UN
ISS OLARAK AYARLANMASI
5.1
Erişim sunucu Olarak Konfigürasyonu
Linux
işletim sistemine sahip bir bilgisayar eğer doğru konfigüre edilmiş ise
yönlendirici ve PPP server olarak kullanılabilir. Zaten bir internet
servis sağlayıcının en temel görevi yönlendirme ve dial up hizmet
vermedir. Ancak uygulamada routerlık bilgisayara değil yönlendiricilere
yaptırılmaktadır. Linux
işletim sisteminde PPP protokolü şu bölümlerden oluşur: ·
Fiziki
Interface:Çeşitli
alanlar ve modemin içinde bulunduğu bölümdür. ·
Kernel(Çekirdek):
PPP kuralları ve network arayüzü. ·
Daemon:
Hattın işlemlerini kontrol eden bir daemon. (pppd) PPP’ nin Kernel ara yüzünü
ayarlamak için çekirdek derlemesi sırasında Ppp (point to
point) support (CONFİG_PPP) [Y/M/N/?]
Y Y olarak cevaplanmalıdır. Eğer PPP düzgün
olarak tanıtılmış ve konfigüre edilmiş ise komut satırına ppp yada
pppd yazıldığında ~=FF)#=C0!}!}!}
}7}!}$}%}=DC#}%}%} gibi
anlamsız bazı işaretler görünecek ve yaklaşık bir dakika sonra tekrar
komut satırına geri dönecektir. Aksi taktirde pppd’nin şu anda
bulunmadığını söyleyen bir mesaj ile karşılaşılır. Komut satırında görülen anlamsız işaretler Kernelin PPP için hazır
olduğu anlamına gelir. Yaklaşık olarak bir dakika sonra komut yazma
kontrolü geri verecektir. Eğer hata mesajı ile karşılaşırsak o zaman
Kernel ayarlamalarını yeniden gözden geçirmemiz gerekecektir. pppd-PPP, kontrol daemonu linux sistemdeki pppd.ppp daemonu ile kontrol
edilir ve linux çekirdeğinde bulunan ppp kodu arabirimini etkin kale
getirmenize olanak sağlar. Bunu da iki yolla yapar. PPP SERVER ve PPP
CLIENT olarak. Linux sistemde PPP konfigürasyon dosyaları: ·
Options(seçenekler) ·
Options.* ·
chap-secrets ·
pap-secrets ·
ip-up ·
ip-down ·
ppp-on-dialer Aşağıdaki dosyalar PPP’ yi /usr/sbin klasöründe
oluşturmak için kullanılır. ·
ppp-on ·
ppp-off Aşağıdaki dosya PPP' yi her kullanıcının ana
klasöründe oluşturmak için kullanılır ·
.ppprc 5.1.1
Options(seçenekler), Options.* ve .ppprc
Bu dosyalar pppd için ana kurulumu içerir. Options dosyası tüm
kurulumlar da okunur. Optios.device dosyası bir öneri sağlayacağı zaman
okunur. Bu işlemler şu sıra ile olur: 1.
pppd
/etc/ppp/options dosyasını okur daha sonra 2.
pppd
.ppprc dosyasını kullanıcının ana klâsöründen okur daha sonra Pppd
kendi komut satırından okur. Son olarak ta pppd /etc/ppp/options.device
dosyasını okur. Bu düzen önemlidir. Bir kural olarak bu
dosyalardaki bilgi sisteminizdeki herhangi bir kullanıcı tarafından görülebilir
ama sadece sistem yöneticisi onların içine yazabilir. Bu dosyalar üzerinde izinler verme için şu
komutlar kullanılabilir: Chown
root:root /etc/ppp/options* Chmod
644 /etc/ppp/options* Normal bir işlemde pppd setuid ile çalışır.
PPP root olarak çalışır. Konfigürasyonu kullanıcılardan korumak için
şu komut verilebilir: Chmod
600 /etc/ppp/options Bu komut options dosyasını sadece rootun okuyup
yazabileceği anlamına gelir. PPP yi kullanıcılara paylaştırmak için
iki yol vardır. Birisi “defoultroute” diğeri ise “proxyarp” tır. Eğer dosya seçeneklerinde defoultroute yada
proxyarp seçilmişse bunlar komut satırında ppprc gibi satırlara da etki
edebilir. .ppprc
dosyası sizin ppp linkini kullanabilmesini istediğiniz her kullanıcı için
geçerlidir ve her kullanıcı kendi özel ihtiyaçlarına göre .ppprc
dosyalarını kendine uydurabilir. Options dosyasının bir yedeği linux
ile birlikte kurulum sırasında oluşturulur. Bu dosyanın ayrıca her satırı
detaylarıyla açıklayan satırları da vardır. Eğer options dosyasını Modify etmek istiyorsanız
bir kopyasını aldıktan sonra Modify etmek en akıllıcası olur. Bunun için Options.save
komutu
kullanılır. Aşağıdaki alt bölümler
modify etmenin açıklamalarıdır: 5.1.2
Yetkilendirme etme seçenekleri
Options dosyası size PPP seçeneklerinin kontrol
etmeniz sağlar. ·
auth-
Bu seçenek pppd ye serverla beraber client da kurulmuşsa bunları
yetkilendirmesini söyler. ·
+chap-Eğer
yetkilendirme istenmiş ise bu yetki CHAP tarafından istenir. ·
-chap-
Bir yetkiyi yasaklamak için CHAP kullanılır Eğer kendinizi bir server a
yetkilendirmek istiyorsanız PAP kullanılır. ·
login-
Linux sisteminizin şifre dosyasını /etc/passwd
PAP ile kullanır. ·
name-
pppd nin kendi kendine tanımladığı örnek için name’i ayarlatır. Eğer
pppd bir client olarak çalışıyorsa yetkilendirmek için bir ppp
sunucusuna geçecektir. Eğer zaten server olarak çalışıyorsa bu onu
client’e dönüştürür ve serveri arar. Diyelim ki makinemizin adı loki.ornek
olsun fakat ISP bizi example olarak tanımlıyor. Bu durumda ppp davranışını
adımızı yeniden ayarlamak için name seçeneği ile kullanmak gerekir.
PAP ve CHAP bu seçeneği gizli dosyalar için kullanır. Bu dosyalar pap-secrets
ve chap secrets dosyalarıdır. ·
+pap-
Eğer yetkilendirme isteniyorsa bu PAP tarafından yapılır bu seçenek bağlantının
kurulması için yetkilendirme kontrolünde yardımcı olur. Eğer
yetkilendirme için bir yöntemi diğerinden çok daha kuvvetli tercih
ediyorsanız out seçeneği veya +pap yada +chap seçenekleri size istediğinizi
verecektir. ·
-pap-
pap tarafından bir yetkilendirmenin yasaklanması: Bu seçenek, bağlantının
kullandığı yetkilendirme tipini kontrol etmede kullanılır. Eğer
kendinizi bir sever olarak yetkilendirmişseniz bu seçeneği kullanarak
chap yetkilendirmesini kuvvetlendirirsiniz. ·
remotename-
chap ve pap yetkilendirmeleri için severın adını kurun. 5.1.3
Seri port modem ve Akış kontrol seçenekleri
Şu seçenekler sizi modem
yada seri port yada akış
kontrolü yönetiminde kullanılır. ·
crtscts-
Yazılımdan
çok donanımda kullanılır. Ulusal semiconductor 16500 uart yi kullanmadıkça
bu seçeneği her zaman kullanın. Bu
seçenek diald deamon’u tarafından kullanılır. ·
-crtscts-
Donanım akış kontrolünde kullanılmaması içindir. ·
local-
Eğer null modem kablo alanı ile iki workstation’u
doğrudan bağlıyorsanız bu seçeneği kullanın. Bu seçenek CD(Carry
detected) kullanmaz. ·
lock-
UUCP-style
kilitlemede kullanılır. Bu seçenekle pppd seri portu kontrol ettiğinde
bir kilit dosyası yaratılır. Bu alanı kullanma birçok kabule
izin verir. (Örneğin minicom ) Başka hiçbir programın bu alanı
kullandığına emin olmadıkça her zaman bu seçeneği kullanın. ·
modem-
Modem
aracılığıyla diğer bir sisteme bağlanıyorsanız bu seçeneği kullanın.
Bir bağlantıyı kurmadan önce bu seçenek CD(carrier detect)’i bir çok
hatta kullanır ve bağlantı kesildiğinde modemi resetlemek için
DTR (data terminal ready) düşer. Bu seçenek CRTSCTS seçeneğinin
de ayrıca kullanılmış olduğunu gösterir. Bu diald deamonu tarafından
kontrol edilir. ·
xonxoff-
Yazılım
akış kontrol kullanır. (xonxof karakterleri) 5.1.4
Network konfigürasyon seçenekleri
Şu seçenekler
network konfigürasyonunda pppd
‘ye yardımcı olur: ·
defaultroute-pppd: Bir pppd ara yüzünü aktivite eder ve genellikle
ppp0 olarak adlandırılır. defaultroute pppd ye kernelin yönlendirme
tablosuna girmesini emreder. ·
-defaultroute:
pppd nin
arayüzünü yasaklar. ·
-ip:
Bazı
ISP’ ler bir IP adresini gözetir ve bu statik IP adresi olarak adlandırılır.
Çoğunlukla bir ISP bir IP adresini bir çevirmeli kullanıcıya bir bağlantı
kurmaya çalışırken gösterir. O zamanda dinamik IP adresi olarak adlandırılır.
Eğer –ip kurulmuşsa ip adresini tanımlamanız gerekir. Bunu ya komut
satırında yada bir options dosyasında gösterirsiniz. Bunun için şu yazın
kullanılır: LocalIP ISP’
nin sunucunuzda gösterdiği ip adresidir. RemoteIP ise ISP’ nin IP
adresidir. Eğer diğer adres tanımlanmamışsa yada hiçbir adres tanımlanmamışsa
bu bağlantı sağlanamaz. ·
+ip-protocol:
Bu seçenek
IP’ nin PPP bağlatıcı üzerinde kullanılmasını sağlar. ·
-ip-protocol:
Bu seçenek
IP nin PPP bağlantısı üzerinde kullanılmaması içindir. Eğer IPX
networku üzerinde çalışmak istiyorsanız yalnızca o zaman kullanılır. ·
ipcp-accept-local:
Eğer
kullanım için bir adres belirlemiş iseniz kendi bölgesel adresinizin IP’
si kabul edilir. Normal olarak siz bu seçeneği kullanmalısınız. ·
ipcp-accept-remote:
Uzaktaki
sunucu için bir adres belirlemiş iseniz onu kabul eder. ·
ipx-protocol:
IPX’
in parametrelerinin peer ile bağlantısının rahatça geçmesini sağlar.
Bu seçeneği yalnızca pppd ile bir nowell networkune bağlanmak için
kullanırsınız. ·
-ipx-protocol:
IPX’
in parametrelerinin peer ile bağlantısının rahatça geçememesini sağlar.
Bu seçeneği yalnızca pppd ile bir nowell networkune bağlamamak
için kullanırsınız. ·
noipdefault:
Eğer İSP’niz dinamik olarak sisteminizdeki IP adresini gösteriyorsa
noipdefault seçeneğini bu varsayımında kullanmalısınız aksi taktirde
bağlantı kurulamaz. ·
proxyarp:
Bu seçenek
ara yüz aracılığıyla uzaktaki host
için bir ARP tablosu kurar. ·
-proxyarp:
Bu seçenekte bir ARP tablosu oluşturmaz. PPP arayüzü aracılığıyla
bir ARP tablosu oluşturmak tehlikeli olabilir. 5.1.5
chapsecrets ve papsecrets dosyaları
CHAP ve PAP
protokolleri aracılığıyla bir PPP bağlantısını sağlayan şifreleri
içerir. Şu bölümlere ayrılabilir. ·
İstemci
Kimliği(The Client Identifier) ·
Sunucu
Kimliği(The Server Identifier) ·
Sırlar(Secrets) ·
Bir
veya birkaç seçimlik ip adresi(One ore more optional IP address) İstemci Kimliği: Sunucunun kendi kendini yetkilendirmesidir. Sunucu Kimliği: Yetkilendirme isteyen sunucudur. Sunucuyu tanımlar. Sırlar:
İstemcinin sunucuya kendini tanıtmak için kullandığı şifredir. Bir veya birkaç seçimlik IP adresi: Nihayet
dördüncü ve sonradan ortaya çıkan alanlar ip adresini tutar “*”
karakterini sunucu veya istemci kimlik belirleyici için kullanılır. Bu işaret
edilen isimlerin uzantılarını göstermese kullanılır. Örneğin geniş
bir ISP’ de bir çok modem bulunabilir. Bu durumda sadece tek bir
“*”, server kimlik belirleyici için kullanılır. Bu da diğer uzantılarını
göstermiş olur. CHAP yada PAP,
bir yetkilendirmede kullanılırken sunucu ve istemci kombinasyonları arasında,
bir gizliliğe bakar. Eğer client yada server kimlik belirleyicileri için
bir “*” kullanılmışsa bu alan azalacaktır. Linux'un Ağ yönetimi
ile ilgili diğer dosyaları şunlardır: ·
hosts:
Sistemlerin
IP adreslerini , sistem adlarını ve sistem lakaplarını(aliases) içerir.
Ağ uygulama protokolleri DNS kullanılmadığı zaman
sistem adreslerini buradan bulur. ·
network:
Ağların isimlerini ağ numaralarını ve takma
adlarını tutar. ·
protocols:
Bu dosya
IP’ce kullanılır; gönderilecek olan paketlerin hangi üst düzey
protokolüne ait olduğunu belirtir. Paket başlığından protokol numarasını
alır ve bu tabloyu karşı düşen protokolü bulur. ·
ftpusers:
Sistemde FTP yapmasına izin verilmeyen kullanıcı kimliklerini tutar; FTP
yapılırken sunucu bu dosyaya bakar ve orada tanımlıysa izin vermez. ·
.netrc:
Kullanıcılar
bu dosyanın içine kullanıcı kimliklerini ve şifrelerini yarlarsa, ftp
yaparken bu bilgiler sorulmaz; doğrudan bağlanır. Bu dosya kullanıcının
kendi Home alanlarında bulunur. Eğer kullanıcı bu dosyaya sadece kullanıcı
adını yazarsa sadece şifre sorulur. Eğer sadece şifresini yazarsa
sadece kullanıcı adı sorulur. Eğer bu dosya yoksa yada içi boşsa
kullanıcıya hem kullanıcı adı hem
de şifresi sorulur. 5.1.6
Örnek bir Erişim Sunucu Konfigürasyonu
Diyelim ki iş
yerinizden zaten İnternete bağlısınız ve iş yerinizdeki bilgisayarı
akşam açık bırakıp evden onun üzerinden internete bağlanmayı
istediniz. Bunun için işi yerinizdeki bilgisayarınızı Linux ile konfigüre
edip evden rahatça bağlantınızı
kurarsınız. İş yerinizdeki makinenizin nasıl konfigüre edildiğine geçmeden
önce belirtmeliyim ki bu her makinede çalışmayabilir. Genel bir örnektir.
Farklı makineler için farklı konfigürasyon gerekebilir. /etc/ppp/options
dosyasına: asyncmap
0 proxyarp
netmask
255.255.255.0 lock
crtscts modem -detach
Netmask olarak
kendi sisteminizde kullandığınız netmask'ı verin. Yine aynı
dizinde options.ttySX isimli bir dosya yaratın. Burada X modemin bağlı
bulunduğu cua numarasıdır. Bu dosyanın içine Sunucu
makinenin IP nosu:İstemci makineye verilecek IP nosu Bu satır ile
her tty'dan gelen kullanıcıya bir IP numarası verilmiş olur... Kendi
Sunucunuzun IP’ si ile, komşudan aldığınız ikinci geçerli IP nosunu
arka, arkaya; araya yalnızca bir ":" koyarak yazın.
inittab dosyasında
dial up bağlantı için hazırlanmış, önünde # işareti olan agetty'lı
satırlardan birisini bularak, # işaretini silin. Komutu aşağıdaki biçime
getirin: SX:12345:respawn:/sbin/agetty
-h -w -m -I "AT&FE0S0=2\015" 115200,38400,19200,9600,2400
ttySX vt100 SX, daha önce
modem ve options.ttySX de kullandığınız modeminizin bağlı olduğu
portun numarasından gelen bir isim. -h -w -m -I seçeneklerine
dokunmayın. Özel koşullarınızdan etkilenecek seçenekler değildirler. AT
ile başlayan bölüm modeminizi PPP bağlantısı için hazırlayan bölümdür.
AT modeme komut gönderen ön komuttur. &F modemi fabrika ayarlarına döndürür.
Modeminizin kitapçığına bakın bir kaç fabrika ayarı olabilir. O zaman
uygun olanını seçersiniz ve F1 veya F2 gibi uygun biçimini eklersiniz.
E0 modeme giden komutların echosunu engelleyerek, seri bağlantının
paketlere kalmasına yardımcı olur. Veri bağlantısının kalitesinin
artması için "Q1&D2&C1" komutlarının olması öneriliyor.
Ancak zaten bir çok modemin fabrika ayarı zaten bu seçeneklere uygun...
Modeminizin el kitabına bakıp, yukarıdaki komutlara karşılık gelen özel
AT komut seti var mı diye kontrol edin. Bazılarında Q1 yeterli iken, bazılarında
&Q1 gerekiyor. En kolay çözüm, en basit olanı; yalnız
"AT&FE0S0=2" büyük olasılıkla işinizi görecektir... En
sonda yer alan S0=2 ise 2 kez çaldıktan sonra hattı aç anlamındadır. 0
veya istediğiniz bir sayı olabilir. Komutun sonundaki "\015"i
unutmayın. Verdiğiniz komutların modeme ulaştırılmasını sağlayacak
enter tuşunun yerini tutar Arkadan gelen
rakamlar seri portun veri akım hızıdır. eğer modeminiz 56K ise 115200,
57600; 28 veya 33K ise 38400, 14.4K ise 19200 üzerindeki rakamlara gerek
yoktur. agetty "-m" seçeneği ile çalıştırıldığından bağlantının
kalitesine göre listedeki bir uygun hızı kullanacaktır. Hat ne kadar iyi
olsa da modeminizden hızlı bir iletişime olanak tanımayacağı için
ilgili rakamlar yeterlidir. Ancak bazı modemler değişen hızları kabul
etmiyorlar. Eğer modeminiz telefona yanıt vermez ise komuttaki
"-m" seçeneğini kaldırın ve bir tek hız seçin. 56K modemler
için 57600 ve 38400, 33K modemler için 38400, 19200, 14.4K modemler için
ise 19200 uygun tek seçenek olabilir. inittab dosyasında gerekli değişiklikleri
yapıp kaydedin. init q komutunu vererek aktifleştirdikten sonra modemin bağlı
olduğu telefonu arayıp yanıt verip, vermediğini bir kaç kez kontrol
edin. Her modem aynı hız ve yapılandırma ile çalışmıyor... Modeminizin
kitapçığından veri sıkıştırma ile ilgili komutları dikkatle
inceleyip, iki modeminize de uygun veri sıkıştırma seçeneğini bu
komutun içinde aktive edersiniz. En son yazılan
vt100 terminal olarak bağlanan istemciye, terminal tipi içindir ve değiştirmeniz
gerekmez. Artık inittab
dosyamızı kaydedip, init q ile aktive edebiliriz. İşte basit
bir PPP sunucuyu hazırlamış olduk artık evden işyerimize rahatça bir
dial up bağlantı yapıp internete ulaşabiliriz. 5.2
WWW Sunucu olarak konfigürasyonu
Linux’un
Web sunucusu olarak çalışabilmesi için httpd daemonunun çalışıyor
olması gerekir. Bu yazılım genellikle işletim sistemi açılırken çalışarak
arka plana atılır. Diğer kullanıcıların
sorumlu oldukları Linux üzerindeki dosyalara WWW üzerinden erişebilmelerini
sağlamak için sadece birkaç dakikaya ihtiyaç var. Halen Linux için sıkça
kullanılan APACHE, NCSA ve ya CERN, gibi http sunucularından birinin
kurulması gereklidir. Bu bölümde ve diğer bölümde kullanılacak IP
adresleri örnektir. Gerçekle ilgisi yoktur. Yapılacak konfigürasyonlarda
bu bölümlere ilgili makinelere ait IP bilgileri girilmelidir. Httpd paketi
Linux’un kurulum aşamasında ya da sonradan çekirdek derlenerek kurulduğunda
birkaç alt dizin oluşur. Bunlardan en önemli olanları: conf : http konfigürasyon dosyaları cgi-bin : Örnek CGI (Common
Gateway Interface) programları cgi-src : CGI kaynak programları logs : Sunucuların sistem kayıtları Sunucunun
çalışabilmesi için conf dizini içindeki dosyaların düzenlenmesi
gerekir. Bu düzenlemeler: httpd.conf
dosyasına : #Server
nasıl çalışacak? Server
type standalone #Çalışacağı
Port Port
80 Hostname
Lookups on #http’yi
kim çalıştıracak? User
wwwadmin #Server
Adminin email adresi Server
Admin wwwadmin@ornek.com.tr #ServerRoot:
Konfigürasyon, web sayfaları, logların
tutulacağı dizin ServerRoot
/var/lib/httpd #ErrorLog:
Hata dosyası ErrorLog
logs/error_log #TransferLog:
makineye erişim bilgilarinin tutulduğu dosya TransferLog
logs/access_log #PidFile PidFile
logs/httpd.pid #ScoreBoardFile ScoreBoardFile
logs/apache_status #Serverin
Adı ServerName
ornek.com.tr #Timeout:
Sayfalara ne kadar erişim olmadığında iletişimi keseceğini
bildirir.(bur da 400ms) Timeout
400 #KeepAlive
Canlı Tutulacak bağlantı sayısı KeepAlive
5 #KeepAliveTimeout:İkinci
isteğin gelemsine kadar beklenecek süre KeepAliveTimeout
15 MinSpareServers
5 MaxSpareServers 10 #Server
Çalıştığında kaç Pid çalışacak? SatartServers
5 #Aynı
anda kaç kişi bağlanabilir? MaxClients
150 MaxRequestPerChild
30 Bilgileri
amaca göre girilir. Srm.conf
dosyasına: #Server
web sayfalarını nereden alacak? Document
Root /var/lib/httpd/htdocs #Kullanıcılar
özel sayfalarını hangi alt dizin altına kayacak? UserDir
public_html #Server
İlk olarak hangi dosyaya bakacak DirectoryIndex
index.html FancyIndexing
on #Bilinen
dosya tipleri için icon eklenir AddIconByType(TXT
./icons/text.gif) text/* AddIconByType(IMG
./icons/image2.gif) image/* AddIconByType(SND
./icons/sound2.gif) audio/* AddIconByType(VID
./icons/movie.gif) video/* AddIcon
/icons/binary.gif .bin .exe AddIcon
/icons/binhex.gif .hqx AddIcon
/icons/tar.gif .tar AddIcon
/icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv AddIcon
/icons/compressed.gif .Z .z .tgz .gz .zip AddIcon
/icons/ a.gif .ps .ai .eps AddIcon
/icons/ layout.gif .html .shtml .htm .pdf AddIcon
/icons/text.gif .txt AddIcon
/icons/ c.gif .c AddIcon
/icons/p.gif .pl .py AddIcon
/icons/f.gif .for AddIcon
/icons/ dvi.gif .dvi AddIcon
/icons/ uuencodded.gif .uu AddIcon
/icons/ script.gif .conf .sh .shar .csh .ksh .tcl AddIcon
/icons/ tex.gif .tex AddIcon
/icons/bomb.gif core AddIcon
/icons/back.gif .. AddIcon
/icons/ hand.right.gif README AddIcon
/icons/ folder.gif ^^DIRECTORY^^ AddIcon
/icons/blank.gif ^^BLANICON^^ #Bilinmeyen
tipler için kullanılan icon DefoultIcon
/icons/unknown.gif ReadmeName
README HeaderName
HEADER IndexIgnore
*/.??* *~*# /HEADER* */README* */RCS #İstemediğimiz
kimselerin sayfaya girmesini engellemek için kullanılacak dosya AccesFileName
.htacces DefaultType
text/plain #Sıkışmış
dosyaları açmakta kullanılan programlar ve kullandıkları uzantılar AddEncoding
x-compress Z AddEncoding
x-gzip gz #kullanacağımız
ülke kodları AddLanguage
tr .tr AddLanguage
en .en AddLanguage
fr .fr AddLanguage
de .de AddLanguage
da .da AddLanguage
el .el AddLanguage
it .it #Dillerin
öncelik sırası Language
Priority tr en fr de #
Alias takma isim ve karşılığı (kısa yol) Alias
/icons/ /var/lib/httpd/icons/ #Script
Alias ScriptAlias /cgi-bin/ /var/lib/httpd/cgi-bin/ Bilgileri amaca göre girilir. Httpd
programını başlatmak için /etc/rc.d/rc.inet2 dosyasının içinde httpd
ile ilgili satırın başından varsa “#”
karakteri kaldırılır.
Eğer böyle bir satır yoksa şu satır eklenir: httpd
–f<konfigurasyon_dosyasi> “konfigurasyon_dosyasi”
kısmına httpd.conf dosyasının nerede olduğu girilir. (örneğin /home/lib/httpd/htdocs/conf/httpd.conf) Web
dosyalarını hazırlamak, gerekli düzenlemeleri yapabilmek için ayrı bir
kullanıcı tanımlanabilir. Örneğin wwwadmin diye bir hesap açılarak
/var/lib/httpd/htdocs alt dizinin sahibi yapılabilir. Böylece bu kullanıcının
bu dosyaları sürekli güncellemesi sağlanmış olur. 5.3
FTP Sunucu olarak konfigürasyonu
Linux’un
tüm sürümleri FTP sunuculuğunu desteklemektedir. Fakat FTP sunucu yüklenmişse
ve çalışmıyorsa; /etc/inetd.conf
içine ftp
steam tcp nowait root
/usr/sbin/tcpd wu.ftpd satırını
yada benzeri bir satırı eleyip inetd daemonunu killall
–HUP inetd komutunu verip baştan çalıştırmak gerekecektir.
FTP sunucu için önemli olan üç dosya vardır. ftpaccess:ftp
sunucusunun birçok erişim ayarlarının yapıldığı dosya. ftpconversions:
FTP sunucusunun dosya aktarımında kullanacağı programları belirleyen
dosya. ftpusers:
FTP’ ye hangi kullanıcıların giremeyeceğini belirleyen dosyadır. Bu
dosya daha çok sistem güvenliği ile ilgilidir. 5.3.1
ftpaccess Dosyası
Bir
örnek FTP sunucunun ftpaccess dosyası
şöyledir: #En
çok iki hatalı giriş yapılabilir. loginfails
2 class
local real,guest,anonymous *.domain 0.0.0.0 class
remote real,guest,anonymous * #Makine
ve dışarısı için sınırlama limit
local 10 Any
/etc/msgs/msg.toomany limit
remote 20 SaSu|Any 1800-0600 /etc/msgs/msg.toomany limit
remote 20 Any
/etc/msgs/msg.toomany #Biri
Makineye bağlanırken göreceği mesajlar readme
README* login readme
README* cwd=* messge
/welcome.msg login messge
.message cwd=* compress
yes local remote tar
yes local remote #Özel
grup ve site şifrelerine izin verilsin mi? private
yes #rfc822’ye
göre şifre kontrolü passwd-check
rfc822 warn log
commands real log
transfers anonymous,real inbound,outbound shotdown
/etc/shutmsg #Dosya
erişim hakları nasıl olacak? Adı geçemeye n tüm yetkiler mevcuttur. delete
no guest,anonymous
#delete permission? overwrite
no guest,anonymous
#overwrite permission? rename
no no
guest,anonymous chmod
no anonymous
#chmod permission? umask
no anonymous
#umask permission? #upload
yapılmasına izin verilen alt dizinler upload
/home/ftp * no upload
/home/ftp /incoming
yes root
deamon 0600
dirs upload
/home/ftp /bin
no upload
/home/ftp /esc no #ftp
serverde kullanılan kısa yolar alias
inc: /incoming #cdpath cdpath
/incoming cdpath
/pub cdpath
/ #path-filter path-filter
anonymous /etc/pathmsg [-A-Za-z0-9_\.]*$
\. ^- path-filter
anonymous /etc/pathmsg [-A-Za-z0-9_\.]*$
^- guestgroup
ftponly email root@ornek.com.tr 5.4
DNS Sunucusu olarak konfigürasyonu
5.4.1
BIND konfigürasyonu
Bind, Linux dağıtımlarının
hepsi ile gelen ve alan adı sorgulularına yanıt veren yazılım
paketidir. Açılımı Berkley Internet Domain Name şeklindedir. Doğrudan
Linux kurulu olan bir sunucu üzerindeki BIND konfigürasyonuna geçmeden
DNS ile ilgili birkaç konudan bahsetmekte yarar ver. DNS ile ilgili yazlımlar
istemci ve sunucu olarak ikiye ayrılır. Sunucu
istemciden gelen sorgulara yanıt veren ve sürekli çalışan bir işlem
olup BIND paketinden çıkan “named” yazılımı bu işi görür. İstemcilerse
Linux dağıtımlarıyla gelen host,nslookup, vb.. programlar olup sorgu
yapan yazılımlardır. Bununla birlikte BIND konfigürasyonunda sıklıkla
karşımızı çıkacak olan birkaç kavram aşağıda açıklanmaktadır.
Yeri geldikçe de diğer kavramlara değinilecektir. 5.4.1.1 primary name server
O
alana ait bütün bilgilerin bulunacağı sunucu olup bu amaçla konfigüre
edilmiş sunucudur. “primary name server” bir alan için ancak bir tane
olabilir. “primary name server” tanımlanırken, named.hosts, named.boot,
named.rev ve named.cahe gibi dosyalara ihtiyaç vardır. 5.4.1.2 Secondary name server
O
alana ait veri tabanındaki bilgileri “primary name server” dan belirli
aralıklarla alan sunucusudur. Belirli aralıklarla transfer edilen bu
dosyalara zone-file adı verilir. “primary name server” dan da alınabilecek
yanıtların aynısı “secondary name server”dan da doğru bir şekilde
alınabilir. 5.4.1.3 Caching only name server
Bu
şekilde konfigüre edilen DNS sunucuları, yapılan sorguları “cache”
de tutup bir sonraki sorgu için bir önceki aynı sorguya kullanılan yanıtı
kullanır. Bir çok DNS sunucu bu şekilde konfigüre ediliyor olmasına rağmen
“caching only” sunucular her
zaman doğru yanıt vermeyebilir. 5.4.2
BIND konfigürasyonunda kullanılan Dosyalar
BIND yazılımın
görevini “named” adı verilen bir sunucu yazılımı yerine
getirmektedir. “named” konfigürasyonu ile ilgili dosyalar ve işlevleri
şöyledir: named.boot :
Genel named parametrelerini ve olana ait veri tabanı bilgilerinin nerede
olacağı belirtilir. named.cache :
İnternet üzerindeki root domain sunucularının listesini içerir. named.local :
loopback adresine ait tanımları içerir. named.hosts :
O domaine ait makine adreslerine karşılık gelen IP numaralarının
bulunduğu dosya. named.reserve
: IP adresine karşılık gelen
isimlerin listesinin tutulduğu dosya. Bu dosya
lardan named.boot dışındaki dosya isimleri genelde karşılaşılan
isimler olduğu için kullanılmıştır. Bu dosya isimleri istenilen şekilde
değiştirilebilir. named.boot :
named.boot dosyası named programı çalıştığı zaman baktığı ilk
konfigürasyon dosyasıdır. Ve /etc dizini altındadır. named konfigürasyon
dosyası ile diğer dosyalara veya DNS tanımlarının tutulduğu diğer
dosyalara nasıl ulaşılacağını öğrenir. Örnek bir named.boot dosyasını
inceleyim: ; ; Örnek named.boot dosyası ; directory /etc/named.data ;type
domain source
host/file backup file cache
root.cache primary ornek.com.tr
db.tef primary 0.0.127.IN-ADDR.ARPA
named.local primary 11.11.194.IN-ADDR.ARPA
named.rev forwarders 193.140.83.9
144.122.199.20 named.boot
dosyasındaki satırları açıklayacak olursak, directory :
named.boot dosyasında belirtilen diğer dosyaları named programının
hangi dizin altında arayacağını belirtir. cache : cache
dosyasını belirtir. primary :
primary’den hemen sonra gelen alanın primary name server olduğunu
bildirir ve ilgili bilgileri de alan adından hemen sonra verilen dosya içerisinde
tutar. Bu satır birden fazla olabilir, bu durumda ise konfigüre edilen
sunucu birden fazla alan için primary name server olarak görev yapar. forwarders :
Sorgularına yanıt veremediği istekleri yönlendireceği sunucuların listelendiği satır. slave : Yukarıdaki
konfigürasyon dosyasında olmayan fakat başka bir yerde karşımıza çıkabilecek
olan slave eklendiği zaman name server sorgulara yanıt vermek için sadece
ve sadece forwarders satırında belirtilen sunucuları kullanabilir. Yukarıdaki
satırları named.boot dosyasına yazılması yetmiyor. Bilgisayar_adi.ornek.com.tr
sunucusunun ornek.com.tr için primary olduğunu Türkiye için root sunucu
olan knidos.cc.metu.edu.tr sunucusunun da bilmesi gerekiyor. Bunu www.metu.edu.tr/~dnsadmin
sayfasından yapabiliriz. knidos.cc.metu.edu.tr
sunucusunda aşağıdaki satırların girilmesi şarttır. ornek.com.tr IN
NS Bilgisayar_adi.ornek.com.tr Bilgisayar_adi.ornek.com.tr
IN NS
194.11.11.2 primary 0.0.127.IN-ADDR.ARPA
named.local satırıyla
ornek.com.tr makinesinde 127.0.0.1 IP adresine karşılık gelen loopback
isminin tanımlarının yer alacağı dosya adı verilmişti. Bazı
programların reserve tanımlarını kullanıyor olması nedeniyle (örneğin
tcpd) bu tür tanımların girilmesi önemlidir. Bir veya daha fazla C sınıfı
şeklinde adres IP adres blokları aldığınız zaman IP adresi aldığınız
kurumdan, bu adres aralığının reserve tanımlarını sizin alan adı
sunucunuza yönlendirmesini isteyebilirsiniz. Bir C sınıfından az sayıdaki
IP adresleri içinse yine IP adresini aldığınız kurum gerekli reserve
tanımlarını sizin için yapmak zorundadır. named
Konfigürasyon dosyası: named konfigürasyon
dosyalarında (named.hosts,named.local, named.cache,named.rev ) karşılaşılan
konfigürasyon parametreleri ve açıklamaları aşağıda verilmiştir. SOA(Start of
authory) : İlgili dosyanın ne kadar zaman arayla yineleneceği bilgilerini
içerir. NS(Name Server)
: Alan adı sınıcısı olduğunu belirtir. A(Address) :
Makine ismini IP adresine çevirir. PTR(Pointer) :
IP adresini makine ismine çevirir. MX(Mail
Exchanche) : O alana ait maillerin hangi makine tarafından dağıtılacağını
belirtir. CNAME(Canonical
Name) : Bir makineye verilen isimler birden fazla ise bu isimleri
belirtirken kullanılır. HINFO(Host
Information) : Belirtilen sunucunun işletim sistemi ve ya donanımı
konusunda bilgi verir. named.hosts,
named.local, vb. dosyalara girilen standart bir DNS kaydı aşağıdaki yapıda
karşımıza çıkar. [name] [ttl]
IN type data [ ]içerisindeki
değerler isteğe bağlıdır. Gerekmediği durumlarda yazılmayabilir. name : Bu kısma
tam domain isimi, makine isimi yazılabilir. ttl : Burada
belirilen sayı kadar saniye cache tutulabileceğini ifade eder. Eğer her
hangi bir süre kullanılmamış ise SOA kısmındaki süre kullanılır. IN : Girilen
kaydın DNS kaydı olduğunu belirtir. type : Yukarıdaki
bahsettiğimiz kısaltmalardan ilgili olanı yazılır. data : Bu kısma
IP adresi yazılır. Şimdide bu kısaltmaların
bulunduğu named.cache, maned.hosts, named.local gibi dosyaların içeriklerine
göz atalım. “root.cache”
dosyası dünyadaki name serverların listesini tutar. Süregelen değişiklikler
doğrultusunda bu dosyadaki kayıtlar güncellenir. Sürekli güncel tutmak
için de adresinden dosyanın en yeni halini sık aralıklarla almakta da
fayda vardır. ttl
süresi de olabildiğince uzun tutularak root sunucuların her hangi
bir şekilde cache’den silinmesi engellenmiş olur. named.local
dosyasının içeriği ise: ; ; @(#)named.local
1.1 ; $ORIGIN 0.0.127.IN-ADDR.ARPA.IN
SOA Bilgisayar_adi.ornek.com.tr root.Bilgisayar_adi.ornek.com.tr (
97120902 ; Serial
10800 ;
Refresh 3600
;Retry
1 hours 604800
;Expire 1 week 86400
;minimum 24 hours )
IN NS
Bilgisayar_adi.ornek.com.tr
IN NS
Bilgisayar_adi2.ornek2.com.tr
IN NS
Bilgisayar_adi3.ornek2.com.tr
IN NS
knidos.cc.metu.edu.tr 1
IN PTR
localhost IN SOA ile başlayan
satırda Bilgisayar_adi.ornek.com.tr adresi ile ilgili bilgisayarda sorun çıktığında
ulaşılacak kişinin root@Bilgisayar_adi.ornek.com.tr
e-posta adresine sahip kişi olduğu tanımlanıyor. Diğer
bilgilerdeyse sırasıyla ornek.com.tr’nin primary name server olduğunu
ve 127.0.0.1 IP adresine local isminin karşılık geldiğini belirtir. named.hosts
dosyası ise: ; ; @(#)db.ornek 1.2 ; $ORIGIN
tef.gazi.edu.tr @IN SOA
Bilgisayar_adi.ornek.com.tr root.Bilgisayar_adi.ornek.com.tr (
9826056 ;serial
10800 ;refresh 3600
;retry 604800
;Expire 86400
;minimum )
IN NS
Bilgisayar_adi.ornek.com.tr
IN MX
10 Bilgisayar_adi.ornek.com.tr
IN NS
Bilgisayar_adi2.ornek.com.tr
IN MX
20 Bilgisayar_adi2.ornek.com.tr
HINFO “Linux” “Pentium III” Bilgisayar_adi
IN A
194.11.11.2 Bilgisayarin_diger_isimi
IN CHNAME
Bilgisayar_adi Ag_gecidi_adi
IN A
194.11.11.1 Lan_routerin_adi IN
A
194.11.11.3 ns
IN CHNAME
Bilgisayar_adi ftp
IN CHNAME
Bilgisayar_adi www
IN CHNAME
Bilgisayar_adi irc
IN CHNEM
Bilgisayar_adi Burada diğer
named.local dosyasından farklı olarak makine ismi IP adresi eşleştirilmesi
yapılmış olup MX ve CNAME deyimleri kullanılmıştır. MX’in
bulunduğu satırda ornek.com.tr için e-posta alabilecek sunucu olarak
Bilgisayar_adi.ornek.com.tr tanımlanmış; 10 sayısı ise Bilgisayar_adi.ornek.com.tr’nin
ornek.com.tr olarak gelmesi gereken mesajlardaki önceliği belirtir. Sayı
ne kadar küçükse öncelik o kadar fazladır. Örneğin 20 sayısı
girilmiş olan Bilgisayar_adi2 makinesi Bilgisayar_adi makinesinde bir sorun
çıkarsa maillerin geri dönmemesi içindir. Bilgisayar_adi2 makinesi sorun
düzelene kadar mailleri kendi üzerinde tutar. HINFO tanımının
bulunduğu satır Bilgisayar_adi.ornek.com.tr’nin donanım, işletim
sistemi bilgilerini tutuyor. CNAME geçen
satırlar ise Bilgisayar_adi makinesinin olması düşünülen diğer
isimlerini tanımlamak için kullanıldı. Örneğin www.ornek.com.tr
ile Bilgisayar_adi.ornek.com.tr aynı sunuculardır. Bütün bu
konfigürasyon işlemleri bittikten sonra, bir de /etc/resolv.conf dosyasının
içine: domain ornek.com.tr nameserver 194.11.11.2 nameserver 194.11.16.7 nameserver 144.122.199.20 eklenmelidir.
Bu dosya sırasıyla hangi makinelerden isim alacağını belirtir. Bu
makineler sırasıyla Bilgisayar_adi, Bilgisayar_adi2, knidos makineleridir. Namedin çalışıp çalışmadığını
kontrol için komut satırına $named
|