pcbilim

bilgisayar, oyun, donanım, yazılım
 
AnasayfaHOŞGELDİNİZAramaKayıt OlGiriş yap

Paylaş | 
 

 TCP/IP.....

Aşağa gitmek 
YazarMesaj
kings
Administrator
Administrator
avatar

Mesaj Sayısı : 209
Kayıt tarihi : 15/07/09

MesajKonu: TCP/IP.....   Cuma Ağus. 07, 2009 9:02 pm

TCP/IP, ilk defa ABD'de ARPANet (Advanced Research Projects Agency Network) adı altında, askeri bir proje olarak geliştirildi. Önceleri askeri amaçlı düşünülen proje önce ünivesiteler tarafından kullanılmaya başlandı. Ardından ABD'nin dört bir yanında birbirinden bağımsız geliştirilen ağlar, tek bir omurga altında NSFNet olarak adlandırıldı ve ulusal boyutu aşarak dünyaya yayıldı. İnternet'in doğuşu da bu tarihe denk gelir. Bir sokak üzerinde yeralan evlerin adresleri gibi, İnternet'e bağlı olan her makinanın da bir adresi vardır. Bu adres sayesinde bir bilgisayardan diğerine ulaşmak mümkün olur. İnternet adresi 4 bayttan (32 bit) ibaret olup yazılırken her bayt arasına bir nokta konulur. En çok kullanılan bu gösterim şekline örnek olarak, ODTÜ'deki bir sunucunun adresi olan 144.122.199.20'yi verebiliriz.

Bununla beraber, 4 baytlık numaraların kolayca hatırlanmasının mümkün olmadığından, İnternet üzerindeki makinalara
alfanümerik adlar da verilebilir. Yukarıda örneğini verdiğim adresin ismi, knidos.cc.metu.edu.tr'dır. ilk noktaya kadar olan
kelime, makina adıdır(yukarıdaki örnekte knidos), bundan sonraki noktayla ayrılmış bölümler özelden genele doğru
makinanın ait olduğu kurum, kurumun tipi ve ülke gibi bilgiler içerir. Bu adlandırma yöntemiyle ilgili ayrıntılı bilgiyi Alan İsimlendirme Sisteminin (Domain Name System - DNS) anlatıldığı bölümde bulabilirsiniz.


İnternet Adresleri

İnternet üzerinde 3 sınıf adres vardır. Avrupa'da RIPE (Réseaux IP Européens) tarafından dağıtılan bu adresler daha sonra
o yerin ağ yöneticisi tarafından uygun şekilde bölünebilir. Bu bölümlendirmeye ``subnetting '' işlemi adı verilir. Bu sayede ağlar
gruplanarak herbirisinin yönetimi bağımsız hale getirilmiş, aynı zamanda da kısıtlı olan IP adresleri daha verimli bir şekilde
kullanılmış olur.

Üç çeşit İnternet adresi şunlardır :

A sınıfı İnternet adresi: Adresin ilk baytı 1 ile 126 arasında bir sayıdır. Bu adrese verilen yetkiyle toplam 2^24
makina adreslenebilir. Dünya üzerinde 126 tane A sınıfı adres vardır.
B sınıfı İnternet adresi: Adresin ilk baytı 128 ile 192 arasında bir sayıdan oluşur. Bu adresin subnetlere
bölünmesiyle 65534 farklı makina adreslenebilir.
C sınıfı İnternet adresi: Adresin ilk baytı 192 ile 223 arasındadır. C sınıfı bir adresi blokuyla bağlı 254
bilgisayar adreslenebilir.

A ve B sınıfı adreslerin hepsi dağıtılmış ve şu anda intenet C sınıfı adreslerde de sıkıntı çekilmektedir. Adres
yetersizliğine çözüm getirmek amacıyla IPv6 ya da IPNG adlarıyla daha uzun İnternet adresleri kullanan protokoller
geliştirilme ve test aşamasındadır.

Bir İnternet adresi iki kısımdan meydana gelir: ağ adresi ve düğüm adresi . Her makina, bir ağ üzerinde bulunur ve bu adres
``ağ adresi'' olarak adlandırılır. Üç sınıf (A, B ve C) İnternet adresinin ağ ve düğüm adresleri farklı farklıdır. A sınıfı
İnternet adreslerinde ağ adresini 1 bayt tayin eder. Örnek olarak hayali yazılan 74.198.59.33 makinasını tanımlayan ağ
adresi 74'tür. Ağ adresi uzun halde yazıldığı zaman kalan 3 baytın yerine 0 konur. Bu durumda yukarıda adı geçen
makinaya ait ağ adresi 74.0.0.0 olacaktır.

Ağ adresinden geriye kalan düğüm adresi , bir makinanın İnternet sınıfına göre 1,2 veya 3 bayttan ibaret olabilir. Örnek
olarak,

195.12.288.3 makinasının (C sınıfı) ağ adresi 195.12.288.0, düğüm adresi 3'tür.

130.11.195.62 makinasının (B sınıfı) ağ adresi 130.11.0.0, düğüm adresi 195.62'dir.

Düğüm adresleri yerine 4 baytı da kullanmak da olası. Yukarıdaki iki örnek için düğüm adreslerini sırasıyla 195.12.288.3 ve
130.11.195.62 olarak kabul edebiliriz.

Yukarıda sözedilen subnetting (alt ağlara ayırma ), çok sıkça kullanılan bir yöntem olup getirdiği birtakım kolaylıklar
vardır. Büyük bir iletişim ağı alt ağlara ayrılırsa, kontrol edilmesi daha kolaylaşır.

Bir kuruluş, kendine ait olan B sınıfı adresi subnetlere bölmek isteyebilir. Gerekli düzenlemeleri yaparak bir B sınıfı adresi
(örneğin) 255 adet alt adrese ayırabilir. ODTÜ'nün NIC'den aldığı 144.122.0.0 ağı, 254 parçaya bölünmüş, bu parçalardan
144.122.71.0 alt ağı Bilgisayar Mühendisliği bölümüne, 144.122.34.0 alt ağı Kimya Mühendisliği bölümüne verilmiştir.
Bundan sonra her bölüm kendi ağı ve üzerindeki makinalardan sorumlu olur.


Protokoller

İnternet protokollerinin yaygınlaşmasındaki en önemli etkenlerden biri herhangi bir ağ donanımına ya da firmaya özel
olmamalarıdır. Bilgisayarınız, işletim sistemiz ya da ağ bağlanma yönteminiz ne olursa olsun intenete bağlamanız mümkündür.
İnternet protokolleri RFC adı verilen dokümanlarda açıklanır, bu dokümanlar herkese açıktır ve ücretsizdir. RFC'lere
ftp://nic.ddn.mil/rfc/NIC ya da ftp://ftp.metu.edu.tr/pub/documents/rfc/ODTÜ'deki yansısından erişebilirsiniz.

İnternet protokollerinin temeli Internet Protocol (IP)'dir. İnternet üzerinde yönlendirme(routing) gibi temel ağ işlemlerinin
gerçekleştirildiği protokol katmanıdır. IP paketlerinin her biri kendi başlarına aradaki ağ cihazları tarafından yönlendirilen
paket içinde belirtilen adrese ulaştırılır. Bu sırada fiziksel ağ farklılıklarından kaynaklanan paket
parçalanmaları(fragmentation) ve bunların yeniden birleştirilmeleri aradaki ağ cihazlarının aşırı yüklenmelerini önlemek gibi
görevler de IP katmanı tarafından gerçekleştirilir.IP bağlantı temelli(connection oriented) bir ağ protokolü değildir. Bunun
yanı sıra IP paketlerin içeriklerinin doğruluğunu da garanti etmez. IP katmanı sadece başlık kısmında oluşan hataları bulur
ve düzeltir. İnternet üzerinde yönlendirme, yukarıda sözü edilen adreslerden yararlanılarak yapılır.

Kullanıcı uygulamalarının IP katmanına doğrudan ulaşımları yoktur. IP ve uygulama programları arasındaki bağlantıyı
sağlayan iki protokol vardır: Transmission Control Protocol (TCP ) ve User Datagram Protocol (UDP ). TCP, İnternet
protokolleri arasındaki en önemli protokollerden biridir (İnternet protokol ailesi bu nedenle TCP/IP diye adlandırılır.). TCP,
IP katmanının sağlamadığı bağlantı temelli, güvenilir servisi sağlar. TCP kullanarak ağ üzerinden veri aktaran programlar, bir
dosyadan okuyormuş ya da yazıyormuş gibi güvenle ağ bağlantısını kullanabilirler. Arada oluşan hatalar TCP tarafından
onarılır. IP protokol katmanına uygulama programları doğrudan erişemediklerinden, hata kontrolü ve bağlantı gerektirmeyen
ya da bu işlemleri kendileri gerçekleştirmek isteyen uygulamalar UDP kullanarak ağ üzerinden iletişim sağlarlar.

Yukarıdaki protokollerin yanı sıra İnternet standardı olmuş birçok uygulama protokolü de vardır. Bunlar arasında,
TELNET, FTP, SMTP ve HTTP gösterilebilir.

İnternet üzerinde paketler son makinaya ulaştıktan sonra, ilgili uygulama programına ulaşabilmesi için port adı verilen sanal
numaralar kullanılır. Servis veren uygulamalar, önceden belirlenmiş standart port numraları kullanırlar. Örnek olarak SMTP
25 numaralı TCP portunu, talk ise 518 numaralı UDP portunu kullanır. Sisteminizin kullandığı port numaraları ve bunların
isimlerini /etc/services dosyasından görebilirsiniz.


İnternet'e Bağlanma

Linux'u İnternet'e bağlamak ilk aşamada biraz zor görünse de biraz teori, biraz pratik yardımıyla mantık kolayca
anlaşılabiliyor. Ağlar, bilgisayar sistemlerinde hata olma olasılığı en yüksek, en çok sorunun çıktığı alandır. Bu bölüm,
özelde bir ethernet kartı ile bağlantı yapıldığı varsayılarak anlatılmıştır. Ancak anlatılan birçok kavram herhangi bir
yapıdaki İnternet bağlantısı için geçerli olacaktır.

Öncelikle çekirdeği -daha önce yapmamışsanız- ağ bağlantısına destek verecek şekilde tekrar derleyin. Bunun için gerekli
birkaç soruya "y" cevabı vermek yeterli olacaktır :

CONFIG NET ? [Y/n] y
...
TCP/IP networking (CONFIG_INET) [Y/n/?] y
...
Network device support (CONFIG_NETDEVICES) [Y/n/?]
...
Ethernet (10 or 100Mbit) (CONFIG_NET_ETHERNET) [N/y/?] y
...
Other ISA cards (CONFIG_NET_ISA) [N/y/?] y
...
NE2000/NE1000 support (CONFIG_NE2000) [N/y/m/?] y

Yukarıdaki örnekte ethernet kartınızın ne2000/ne1000 ya da uyumlu bir kart olduğu var sayılıyor. Kartınızın
marka/modeline uygun seçeneneğe `y' cevabı vermelisiniz. Ethernet kartlarının dışında bağlanma yönteminize bağlı olarak
çekirdeği PPP, SLIP, Token Ring gibi bir destekle derlemeniz gerekebilir. Bunları modül olarak derlemeniz de mümkün.
Çekirdek derlemek konusunda daha ayrıntılı bilgiyi bu kitabın ilgili bölümünde bulabilirsiniz.

Tabi ki çekirdeği derlemek yetmiyor, derleme aşamasından sonra ağ desteğine sahip olan çekirdek ile makinanın açılması
gerekir.

Bağlantıyı gerçekleştirmek için ağ sorumlusundan bazı önemli bilgileri almalısınız. Makinanızın IP adresi bunların başında
gelir. Diğer gerekli bilgiler de subnet mask ve broadcast adresidir.

DNS adres çözümleyici olarak çalışan DNS makinası ve makinanızı İnternet'e bağlayacak olan yönlendiricinin IP adreslerini
de biliyor olmalısınız.

Bu aşamadan sonra konfigürasyon işlemlerine geçilebilir.


Ağ Konfigürasyonu

Bu bölümde anlatılan rc.* konfigürasyon dosyaları Slackware dağıtımına özeldir. Diğer dağıtımlarda da açılışta çalışan
benzeri rc dosyaları değiştirilerek, ya da sistemle birlikte gelen sistem yönetim araçları kullanılarak istediğiniz konfigürasyonu
yapabilirsiniz.

Linux, açılırken bazı dosyalara bakarak düzgün çalışması için gerekli konfigürasyonu yapar ve bazı yazılımları çalıştırır.
Bu dosyalar /etc/rc.d dizini altında yeralır. İnternet bağlantısı için sadece iki dosyaya gerek duyulur. Slackware
dağıtımı içinde bunlar, konfigürasyonu yapan /etc/rc.d/rc.inet1 ve temel ağ programlarını çalıştıran
/etc/rc.d/rc.inet2 dosyalarıdır.

Bu dosyadaki değerleri gerektiği şekilde düzenleyerek İnternet'e bağlanacağız. Öncelikle rc.inet1 dosyasının içeriğine göz
atalım:

HOSTNAME=`cat /etc/HOSTNAME`

/sbin/ifconfig lo 127.0.0.1
/sbin/route add -net 127.0.0.0

IPADDR="144.122.71.55"
NETMASK="255.255.255.0"
NETWORK="144.122.71.0"
BROADCAST="144.122.71.255"
GATEWAY="144.122.71.1"

/sbin/ifconfig eth0 $IPADDR broadcast $BROADCAST netmask $NETMASK
/sbin/route add -net $NETWORK netmask $NETMASK
/sbin/route add default gw $GATEWAY metric 1

ifconfig komutu, ağ bağlantısı yapan kartın belirli parametreler ile konfigürasyonunun sağlar. Kart kimliğini bilgisayara
tanıtmak için bu komut kullanılır.

İlk satırdaki ifconfig programı, makinanın kendisiyle haberleşmesini sağlamak amacıyla kendi ağ adresini (loopback device )
127.0.0.1 olarak tanıtmıştır. İnternet üzerindeki her makinanın loopback adresi 127.0.0.1 'dir. 127 ile başlayan hiç bir
adres, İnternet üzerinde gerçek bir adres olarak kullanılamaz.

Her paket, gönderileceği adrese gitmeden önce bir tabloya bakar. Bu tablo, paketin muhtemel rotasını içerir. route komutu
yardımıyla bu tablo oluşturulur veya kontrol edilir. Genellikle bir kart için bir ifconfig kullanılırken, paketin yollanacağı
birden fazla rotanın olması durumunda rc.inet1 dosyasında birden fazla route komut girdisi yapılacaktır.

Kullanılan her ağ kartının bir veya birden fazla internet adresi olabilir. Linux'a takılan birinci kart eth0 ismini alırken ikinci
karta eth1, üçüncüye eth2 ... denir. Loopback cihazının ismi lo dur. ifconfig komutunu parametre vermeden kullanırsanız,
Linux'a tanıtılan çevresel birimlerin listesi ekrana gelir.

$ ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0
UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1
RX packets:493 errors:0 dropped:0 overruns:0
TX packets:493 errors:0 dropped:0 overruns:0

eth0 Link encap:10Mbps Ethernet HWaddr 48:54:33:00:E8:3A
inet addr:144.122.71.55 Bcast:144.122.71.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:171956 errors:0 dropped:0 overruns:0
TX packets:113212 errors:3 dropped:0 overruns:0
Interrupt:3 Base address:0x300

ODTÜ'deki bir Linux makinasının makinasının ifconfig bilgisi yukarıdaki şekildedir. Bu makina üzerinde tek ethernet kartı
olup, ifconfig bilgisinde ikinci sırada yeralıyor. Kartla ilgili detaylı bilgi (her kart özgü donanım numarası, alınan ve verilen
paket sayısı gibi) ifconfig çıktısında var.

route komutunun genel kullanımı şu şekildedir:

route [add || del] [-net || -host] varis_adresi [gw yonlendirici] secenekler...

host: paketin gideceği yer başka bir makina
net: paketin gideceği yer başka bir ağ
varış_adresi: paketin gideceği yer
yönlendirici: bu paketin gidebilmesi için geçmesi gereken yönlendirici
add: tabloya ekle
del: tablodan sil

Tablonun genel durumunu kontrol etmek için route komutuna parametre vermeden komut satırından yazın:

$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
localnet * 255.255.255.0 U 0 0 67 eth0
loopback * 255.0.0.0 U 0 0 3 lo
default router71.ceng.m 0.0.0.0 UG 1 0 404 eth0

Örnek tabloda üç ayrı yönlendirme girişi vardır. Birincisi, makinanın kendisi ile haberleşmesini sağlayacak olan loopback.
İkinci satırda, yerel ağa gidecek olan tüm paketlerin yönlendiriciye verilmeden ağa yönlendirilmesi söylenmiş. Son sırada ise
(default) paket ilk iki satırda yeralan varış adresinden farklı bir adrese gidecekse, önce yönlendiriciden geçip sonra dış
dünyaya açılacağından yönlendiricinin IP adresi yazılmıştır.

ifconfig, biraz karmaşık bir komuttur. Sistem yöneticisinden öğrenmeniz gereken subnet maskesi, broadcast adresi ve IP
adresini kullanıp kartların konfigüre eder.

ifconfig eth0 144.122.71.55 netmask 255.255.255.0 broadcast 144.122.71.255

Yukarıda ifconfig yardımıyla eth0 kartına hem bir IP adresi verilmiş, hem de bilgisayarın bulunduğu ağın özellikleri
tanıtılmıştır.

Bu andan sonra istendiği kadar route komutu ile makinadan çıkacak paketler için yeni yollar tanımlanabilir.

route add -net ...
route add -host ...

_________________
Sayfa başına dön Aşağa gitmek
http://pcbilim.allgoo.net
kings
Administrator
Administrator
avatar

Mesaj Sayısı : 209
Kayıt tarihi : 15/07/09

MesajKonu: Geri: TCP/IP.....   Cuma Ağus. 07, 2009 9:02 pm

Dosyanın içeriğini sistem görevlisinin verdiği bilgiler doğrultusunda değiştirdikten sonra komut satırından çalıştırmanız,
İnternet'e bağlantı için yeterli olacaktır.

# /etc/rc.d/rc.inet1

Bağlantıyı kontrol etmek İnternet adresini bilip çalıştığından emin olduğunuz bir makinaya telnet ile bağlantı yapmaya
çalışın :

$ telnet orca.cc.metu.edu.tr
Connected to orca.cc.metu.edu.tr
Escape character is ^]

Ethernet kartının bağlantısını yazılım yoluyla kesmenin yolu ifconfig 'in down seçeneğidir. Örneğin tek ethernet kartı
üzerinden İnternet bağlantınız var ve bunu hemen kesmek için aşağıdaki satırı yazın.

# ifconfig eth0 down

ethernet bağlantısını yeniden açmak için

# ifconfig eth0 up

komutunu girmelisiniz. Bu işlem sonrasında yönlendirme bilgilerini yeniden girmeniz gerekebilir.

ping komutu, bağlantıları ve aynı zamanda bağlantı hızını ölçmek için kullanılan bir komuttur. Ping, ICMP protokolü
yardımıyla hedef makinaya belirli uzunlukta paketler gönderir. Karşıdaki makina bunları aldığı anda bekletmeden geri yollar.
Arada geçen zaman farklı, iki makina arasındaki bağlantı hızı hakkında fikir verir.

# ping knidos.cc.metu.edu.tr
PING knidos.cc.metu.edu.tr (144.122.199.20): 56 data bytes
64 bytes from 144.122.199.20: icmp_seq=0 ttl=253 time=34.0 ms
64 bytes from 144.122.199.20: icmp_seq=1 ttl=253 time=487.7 ms
64 bytes from 144.122.199.20: icmp_seq=2 ttl=253 time=3.6 ms

--- knidos.cc.metu.edu.tr ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 3.6/175.1/487.7 ms

netstat komutu, makinanın ağ kartı üzerinden yapılan bağlantıların dökümünü çıkarır.

# netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 cclub.metu.edu.tr:1947 ftp02.quicktime.appl:20 ESTABLISHED
tcp 0 0 cclub.metu.edu.tr:1943 despair.thebandit.c:ftp ESTABLISHED
tcp 0 0 cclub.metu.edu.tr:1424 despair.thebandit.co:20 ESTABLISHED
tcp 0 0 cclub.metu.edu.tr:1932 ftp02.quicktime.app:ftp ESTABLISHED
tcp 0 0 cclub.metu.edu.tr:1407 165.113.58.253:20 ESTABLISHED
tcp 0 0 cclub.metu.edu.tr:1392 165.113.58.253:ftp ESTABLISHED
tcp 0 0 cclub.metu.edu.tr:1377 ppp23.cc.metu.ed:telnet ESTABLISHED
tcp 0 0 cclub.metu.edu.t:telnet pclabI_23.feas.met:7075 ESTABLISHED
tcp 1 0 cclub.metu.edu.t:telnet ppp23.cc.metu.edu.:1054 TIME_WAIT
tcp 0 0 cclub.metu.edu.t:telnet labmonitor.feas.m:10345 ESTABLISHED
tcp 0 9495 cclub.metu.edu.t:telnet a5-03-asy27.bil-ro:1026 ESTABLISHED
tcp 0 0 cclub.metu.edu.t:telnet pclabI_14.feas.me:15694 ESTABLISHED
tcp 0 0 cclub.metu.edu.t:telnet stu21.math.metu.e:16158 ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 1 [ ] STREAM CONNECTED 232
unix 1 [ ] STREAM CONNECTED 299
unix 1 [ ] STREAM CONNECTED 327
unix 1 [ ] STREAM 591

İkinci önemli dosya olan /etc/rc.d/rc.inet2, belli başlı tüm İnternet sunucularını çalıştırır. Aşağıda bu dosyanın bir
kısmı görülüyor.

#!/bin/sh

NET="/usr/sbin"
IN_SERV="lpd"
LPSPOOL="/var/spool/lpd"

echo -n "Starting daemons:"

# inetd calistiriliyor.
if [ -f ${NET}/inetd ]; then
echo -n " inetd"
${NET}/inetd
else
echo "no INETD found. INET cancelled!"
exit 1
fi

# degisik internet servisleri sirasiyla calistiriliyor.
for server in ${IN_SERV} ; do
if [ -f ${NET}/${server} ]; then
echo -n " ${server}"
${NET}/${server}
fi
done

Bu açılış dosyası, ağ üzerinden servs veren bir dizi sunucu programı çalıştırıyor ve hataları engellemek için programların
yerinde olup olmadığına da bakıyor.


Kontrol Dosyaları

Konfigürasyonu tamamlamak için /etc dizini altında yeralan bazı dosyaların elden geçirilmesi gerekir. Bu dosyalar sistemin
daha güvenli ve verimli çalışmasına yardım eder. Bu dosyaların belli başlı olanları ve ne işe yaradıklarını görelim.

/etc/hosts dosyasında makinaların IP numaraları ve İnternet adresleri yazılır. Buraya sürekli kullanılan belli başlı önemli
makinaların girişi yapılabilir. Her makinanın uzun isimleri yerine kısa bir kelime yazılarak sözkonusu makinaya ulaşılabilir.
Örnek bir /etc/hosts dosyası :

127.0.0.1 localhost
144.122.199.20 knidos.cc.metu.edu.tr knidos

İlk satırda loopback IP numarası ve buna karşılık gelen makina ismi vardır. Bu satırı silmemelisiniz. İkinci satırda ise
knidos.cc.metu.edu.tr makinasının IP numarasını 144.122.199.20 olarak belirtilmiş ve bu bilgisayara "knidos" ismi ile de
ulaşılabilmesi sağlanmıştır.

/etc/hosts.allow ve /etc/hosts.deny konfigürasyon dosyaları, başka bir makinadan Linux'unuza yapılan bağlantıları
denetler. /etc/hosts.deny içine, sınırlandırılma getirmek istediğiniz İnternet servislerini ve hangi makinalar için
sınırlandırma istediğinizi yazabilirsiniz.

$ cat /etc/hosts.deny
#

in.fingerd: ALL except localhost, localhost : echo "request from %d@%h" >> /tmp/req;
in.telnetd : .net.tr

Yukarıdaki hosts.deny dosyasında dışarıdan gelebilecek finger istekleri filtreleniyor ve bu istekler hakkında detaylı bilgi
(hangi kullanıcı, hangi makinadan) /tmp/req dosyasına ekleniyor.

Sonraki satır in.telnetd yazılımını çalıştıran isteklerin *.net.tr adreslerinden gelmesi halinde bunların gözardı edileceğini
belirtir.

hosts.allow dosyasında, genellikle hosts.deny dosyasına gruplanan makina isimlerinin sınırlandırma istenmeyen bir veya
birkaç tanesi yazılır. Eğer bir makina ismi ve karşılık gelen İnternet adresi her iki dosyada da varsa, sözkonusu servise izin
verilir.

Daha fazla bilgiyi hosts_access(5) kılavuz sayfalarından bulabilirsiniz.

/etc/resolv.conf dosyasında alan adı ve alan adı sunucusunun IP numarası yazılır.

$ cat /etc/resolv.conf
domain linux.org.tr
nameserver 144.122.199.20

Yukarıdaki satırlardan üzerinde bulunduğum makinanın alan adının (domain name) linux.org.tr, alan adı sunucusunun ise
144.122.199.20 IP numaralı knidos makinası olduğu anlaşılıyor.


Yönlendirme

Daha önce de belirtildiği gibi birden fazla ağa fiziksel bağlantısı bulunan ve ağlar arası bilgi paketlerinin geçişine olanak
tanıyan araçlara yönlendirici (router ) adı verilir.

İki ayrı ağda yeralan makinaların haberleşmesine imkan tanıyan yönlendiriciler, kendilerine gönderilen paketleri bir ağdan
diğerine iletirler.

Herhangi bir ağ içerisinde yer alan makinalar aynı IP ağ içerisinde bulunan makinalarla (ağ konfigürasyonları doğru olduğu
sürece) haberleşebilirler. Başka adreslere ulaşabilmek için bulunulan ağ dışındaki ağlarla bağlantısı olan ve o ağ üzerinde
bulunan bir makina ile haberleşmeleri gereklidir. Bu makina bilgisayar tanımlarında gateway (yönlendirici, arabirim, arayol)
olarak verilir.

Minimum yönlendirme, bir ağa bağlı olmayan makinalarda, ifconfig yardımıyla yapılan yönlendirmedir. En çok kullanılan
statik yönlendirme çeşidinde, az sayıda arayol ile dışarıya bağlı olan bir makinada, route komutuyla yapılır. Aynı adrese
ulaşan birden fazla arayol olması durumunda ise, kendi yönlendirme tablosunu ağın durumuna göre değiştirebilen dinamik
yönlendirmeye başvurulabilir.

Linux'un yönlendirici olarak kullanılmasına bir örnek verilebilir. Elimizde var olduğunu bildiğimiz iki ağ olsun. Bu ağlardan
birincisini, 144.122.71.0 ağı, diğeri de 144.122.1.0 ağı olarak kabul edelim. 144.122.71.0 ağının İnternet'e bağlanabilmesi
için 144.122.1.0 ağına ulaşması gereklidir. Yönlendirici olarak kullanılacak makinayı 71.0 ağında kurup gerekli yönlendirme
talimatları verildiği anda bu ağa bağlı olan diğer makinalar da İnternet'e açılabilecektir.

Örnek olarak 144.122.71.0 ağı üzerindeki bir makina için ifconfig satırı

ifconfig eth0 144.122.71.1 broadcast 144.122.71.255 netmask 255.255.255.0

olarak görünüyor. Bu makinanın yönlendirici görevi yapabilmesi için route komutu kullanılır. Bu sayede bu bilgisayar,
diğerlerine ulaşacaktır.

route add -net 144.122.71.0 netmask 255.255.255.0 dev eth0

Bu, 144.122.71.0 ağında olan makinaların eth0 kartı üzerinden erişilebileceğini gösterir. Diğer adreslere erişebilmek için ise
bir çıkışa (gateway) ihtiyaç duyulmaktadır.

route add default gw 144.122.71.1 dev eth0

Bu satır sayesinde eldeki tablo yardımıyla çözümlenemeyen adreslere gitmesi gereken tüm paketler 144.122.71.1 üzerinden
gönderilmektedir. Bu durumda bu makinanın paketleri nereye göndereceğini bildiği varsayılmaktadır.

Bu makina içinde iki adet ethernet bağlantısı bulunmaktadır. Bunlardan biri yönlendiriciyi 144.122.71.0 ağına bağlarken
diğeri 144.122.1.0 ağına bağlamaktadır. İlk olarak bu iki kart için gereken tanımlamalar /etc/rc.d/rc.inet1 içerisinde
aşağıdakine benzer şekilde tanımlanmıştır.

ifconfig eth0 144.122.71.1 broadcast 144.122.71.255 netmask 255.255.255.0
ifconfig eth1 144.122.1.200 broadcast 144.122.71.255 netmask 255.255.255.0

Birinci ethernet kartı için eth0, ikinci ethernet kartı için de eth1 kısaltmaları kullanılabilir. Doğal olarak her iki ağ için bir
'route' satırı gerekmekte :

route add -net 144.122.71.0 netmask 255.255.255.0 dev eth0
route add -net 144.122.1.0 netmask 255.255.255.0 dev eth1

Bu sayede diğer makinalardan farklı olarak yönlendirici hem 144.122.1.0 ağı, hem de 144.122.71.0 ağı üzerindeki adreslere
doğrudan ulaşabilmektedir. Diğer adreslere ulaşabilmek için benzer bir yöntem ile 144.122.1.0 ağı üzerindeki arayola
(gateway) yönlendirme yapılır.

route add default gw 144.122.1.200 dev eth1

Bu çeşit yönlendirmeye statik yönlendirme adı verilir. Burada tüm bağlantılar bir tablo halinde verilmiştir. Birbiri arkasına
ağ eklendiği zaman statik yönlendirme basitlik avantajını kaybetmeye başlar. Bu amaçla yönlendiricilerin kendi aralarında
bildikleri yolları (yönlendirme bilgilerini) birbirlerine aktardıkları dinamik yönlendirme kullanılır.


Birden Fazla Ethernet Kartının Tanıtılması

Yukarıda örneğini verdiğimiz Linux yönlendirici üzerinde iki ethernet kartı bulunuyor. Bu sayede Linux makinası iki ethernet
ağı arasında bir yönlendirici olarak kullanılabilmektedir. Bir Linux'a birden fazla ethernet kartı takmak mümkündür. Bu
kartları takarken aşağıdaki maddelere dikkat etmek gerekir:

1. Çekirdek içerisinde her iki kart için destek bulunmalıdır.
2. Ethernet kartları sistemdeki diğer IO ve IRQ ayarlarını çakışmayacak şekilde ve farklı değerlerde olmalıdır.

Birden fazla ethernet kartı (ya da gibi herhangi iki veya daha fazla PPP, SLIP gibi ağ bağlantısı) olan makina bir yönlendirici
olarak kullanılacaksa, çekirdek IP FORWARDING desteğiyle derlenmelidir. Bunun yanı sıra Linux'unuzun birinci görevi
yönlendiricilik olacaksa optimize as router sorusuna da `y' yanıtı vermeniz yararlı olacaktır.

IP: forwarding/gatewaying (CONFIG_IP_FORWARD) [N/y/?] y
...
IP: optimize as router not host (CONFIG_IP_ROUTER) [N/y/?] y

Linux açılırken çekirdek tanıdığı donanımları teker teker arayarak bulmaya çalışır (probing). Birden fazla ethernet kartı
kullanımına sık raslanmadığından Linux ilk ethernet kartını bulduktan sonra ikinci ve daha fazla ethernet kartı aramadığı
için iki kartınız bile olsa Linux sadece birini görecektir. Çekirdeğe ethernet kartı ile ilgili parametreler vererek birden fazla
ethernet kartının açılışta bulunması sağlanabilir. LILO kullanıldığı zaman /etc/lilo.conf içine

append="ether=0,0,eth1"

satırını eklerseniz bu parametre ile çekirdek ikinci bir ethernet kartını (eth1) da arayacaktır. Benzer şekilde arka arkaya
ether=.... parametreleri vererek varsa üçüncü, dördüncü ve daha fazla ethernet kartının aratılması da mümkündür.
Ethernet kartlarınızın adreslerini biliyorsanız, kartların yanlış sırayla bulunması tehlikesini de önlemek için,

append="ether=5,0x340,eth0 ether=15,0x300,eth1"

gibi bir satır eklenmesi yeterli olacaktır. Burada eth0 isimli bağlantı IRQ 5 ve IOBASE 0x340 ve diğer ethernet bağlantısı
eth1 IRQ 15 ve IOBASE 0x300 olacak şekilde ayarlanır, bu durumda çekirdek bir daha kartların hangi adres ve IRQ'da
olduğuna dair tahmin yürütmez, girilen değerlerde bulunan kartları bulmaya çalışır.

Sistem açıldıktan sonra gerçekten istenen kartların istenen adreste çalıştığına emin olmak için /var/adm/messages
dosyasına bakabilirsiniz, ya da dmesg komutuyla çekirdek mesajları nı görebilirsiniz.

Alıntı.....

_________________
Sayfa başına dön Aşağa gitmek
http://pcbilim.allgoo.net
 
TCP/IP.....
Sayfa başına dön 
1 sayfadaki 1 sayfası

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
pcbilim :: YAZILIM :: İşletim Sistemleri-
Buraya geçin: