TCP/IP ve Protokoller
İ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.
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.
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 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.
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.
Internet
ü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 servisi 25 numaralı TCP portunu kullanır.
|
Not:
Sisteminizin kullandığı port numaraları ve bunların
isimlerini /etc/services
dosyasından görebilirsiniz.
|
Ağ ayar dosyaları
Linux
işletim sisteminde tüm ayarlar metin dosyalarında saklanmaktadır.
Bu sayede yapılması gereken ayarlar belirli dosyaların
düzenlenmesi ile kolayca yapılmaktadır.
Linux
işletim sisteminde ağ ayarları da dosyalarda tutulmaktadır.
İstenildiği takdirde bu dosyalar düzenlenerek, istenildiği
takdirde ise grafik arayüzlü programlar kullanılarak ağ
ayarlarının yapılamsı mümkündür.
Linux'ta
ağ ayarları ile ilgili dosyalar ve dizinler aşağıdaki gibidir :
- /etc/sysconfig/network dosyası
- /etc/sysconfig/network-scripts dizini
- /etc/hosts
- /etc/resolv.conf
- /etc/nsswitch.conf
- /etc/services
/etc/sysconfig/network Dosyası
Bu
dosya genel ağ ayarları için kullanılan dosyadır. Bu dosya
içinde sistemin ağ desteği olup olmadığı, gateway tanımı,
makine ismi gibi bilgiler bulunur. Bu dosyada çoğunlukla kullanılan
terimler aşağıdaki gibidir :
·
NETWORKING : Sistemin ağ desteği
olup olmadığını belirtir. Bu parametre "yes" olarak
tanımlanmamış ise sistemde ağ ayarları yapılmaz.
·
HOSTNAME : Sistemin ismini belirtir.
· GATEWAY
: Sistemin gateway'ini belirtir
/etc/sysconfig/network-scripts Dizini
Bu
dizin sistemde bulunan ağ arayüzleri için gerekli tanımların
bulunduğu dizindir. Her arayüz için bir adet konfigürasyon
dosyası bulunmaktadır. Konfigürasyon dosyalarının dışında
arayüzlerin aktif ve pasif hale getirilmeleri için gerekli program
parçalarını da içeren dosyalar da bu dizin içinde bulunmaktadır.
Arayüzlerin
konfigürasyon dosyları ifcfg-arayüz isimine sahiptir. Bu dosyalar
düzenlenerek her arayüz için gerekli ayarlar yapılmaktadır.
Konfigürasyon dosyalarında kullanılan temel terimler aşağıdaki
gibidir :
·
DEVICE : Arayüzün sahip olduğu
aygıt ismini belirtir.
·
ONBOOT : Sistem açılırken
arayüzün aktif hale getirilip getirilmeyeceğini belirtir. Sistem
açılırken arayüzün aktif hale geçirilmesi için bu parametrenin
değeri "yes"olmalıdır.
·
BOOTPROTO : Arayüzün ağ
ayarlarının yapılması için kullanılan protokolü
belirtir.Eğer ağ ayarları ağ ayarları bir DHCP sunucusu
üzerinden alınacak ise "dhcp" , ağ ayarları bir bootp
sunucusu üzerinden alınacak ise "bootp" değerini
içermelidir.
·
IPADDR : Arayüzün sahip olduğu IP
adresini belirtir.
·
NETMASK : Arayüzün sahip olduğu
alt ağ maskesini belirtir.
·
BROADCAST : Arayüzün broadcast
adresini belirtir.
|
Bir
linux makinasına network-script ile IP adresi verilmesi
RedHat
Linux’a /etc/sysconfig/network-scripts dizinindeki
ifcfg-eth0 ile eth0 için, ifcfg-eth1 ile
eth1 … şeklinde Ethernet kartları için IP verilir.
Aşağıda bunun için iki adet örnek konfigurasyon
görülmektedir. Bunlardan ilki Sabit IP adresi verme, diğeri ise
DHCP aracılığı ile otomatik IP adresi verdirmek içidir.
Sabit
IP Adresi verme
DHCP
ile IP adresi almak
|
/etc/hosts
Dosyası
/etc/hosts
dosyası DNS servisi
kullanılmadan önce geçerli olan metotur. Bu dosya içinde
makineler ile ilgili olarak makine ismi , makinenin IP adresi ve
makine için kısaltma bulunmaktadır. Her makine için ayrı bir
kayıt olmak zorundadır. Ağ üzerindeki bilgisayarların artmasıyla
birlikte bu dosyanın kullanılması imkansız hale gelmiş ve DNS
servisi geliştirilmiştir.
/etc/hosts
dosyasındaki satırlar
aşağıdaki formata sahiptir :
127.0.0.1
localhost.localdomain localhost
10.0.0.2
laptop.linuxegitim.com laptop
İlk
satırda loopback IP numarası ve buna karşılık gelen makina ismi
vardır. Bu satırı silmemelisiniz. İkinci satırda ise
laptop.linuxegitim.com makinasının IP numarasını 10.0.0.2 olarak
belirtilmiş ve bu bilgisayara laptop ismi ile de ulaşılabilmesi
sağlanmıştır.
DNS Sunucu
ayarları (/etc/resolv.conf )
Linux
işletim sisteminde diğer Unix türevi işletim sistemlerinde olduğu
gibi DNS ayarları için kullanılan dosya /etc/resolv.conf
dosyasıdır. En basit şekilde DNS ayarlarının yapılması için
/etc/resolv.conf
dosyası aşağıdaki şekilde düzenlenmelidir.
nameserver
DNS_sunucusunun_IP_Adresi
nameserver
160.75.2.20
İsim çözümleme
sırasını belirleme (/etc/nsswitch.conf)
Linux
işletim sisteminde makine ismi - IP adresi , IP adresi - makine ismi
dönüşümleri için birden fazla metot kullanılmaktadır. Bu
metotlar aşağıdaki gibidir :
- /etc/hosts dosyasının kullanımı
- DNS sunucu kullanımı
- NIS sunucu kullanımı
Yukardaki
metotlardan hagilerinin , hangi sırada kullanılması gerektiği
/etc/nsswitch.conf dosyasında tanımlanmaktadır. Bu dosyada hosts
ile başlayan satırda bulunan bilgiler kullanılacak metotları ve
sırayı belirler.
#hosts:
files
nis
dns
Yukarıdaki
satırda belirtilen 3 metodunda kullanılabileceği belirtilmiştir.
Ilk olarak /Etc/hosts dosyası , eğer bulunamaz ise NIS sunucusu ,
yine bulunamaz ise DNS sunucusunun kullanılacağı belirtilmiştir.
Servis portları
(/etc/services)
Bu
dosya her bir servis için port eşleştirmeleri bilgisini tutar. Bu
dosyanın ilk birkaç satırı aşağıda görülmektedir, bu dosya
yüzlerce satır içerebilir.
#
#
This
file
contains
port
numbers
for
well-known
services
defined
by
IANA
#
#
Format:
#
#
<service
name>
<port
number>/<protocol>
[aliases...]
[#<comment>]
#
echo
7/tcp
echo
7/udp
discard
9/tcp
sink
null
discard
9/udp
sink
null
systat
11/tcp
users
#Active
users
systat
11/tcp
users
#Active
users
daytime
13/tcp
daytime
13/udp
qotd
17/tcp
quote
#Quote
of
the
day
qotd
17/udp
quote
#Quote
of
the
day
chargen
19/tcp
ttytst
source
#Character
generator
chargen
19/udp
ttytst
source
#Character
generator
ftp-data
20/tcp
#FTP,
data
ftp
21/tcp
#FTP.
control
telnet
23/tcp
smtp
25/tcp
mail
#Simple
Mail
Transfer
Protocol
time
37/tcp
timserver
time
37/udp
timserver
Ağ Ayarlarının
Etkin Kılınması
Linux
işletim sisteminde ağ desteği de bir servis olarak çalışmaktadır.
Red Hat Linux sistemlerde servislerin çalıştırılması ile ilgili
scriptler /etc/rc.d/init.d dizini
içinde bulunmaktadır. Ağ ayarlarının aktif hale getirilmesi veya
ayarların aktif halden çıkarılması için bu dizin içinde
bulunan network scripti
kullanılmaktadır
Bu
scriptin temel kullanım şekli aşağıdaki gibidir :
service
network
{start|stop|restart|reload|status}
Scripte
start parametresi
gönderildiği takdirde ağ servisi başlatılır. “Stop “
parametresi gönderilir ise ağ servisi kapatılır. “Restart” ve
“reload” parametreleri ile değiştirilen ayarların aktif hale
geçmesi sağlanabilir. Dikkat edilmesi gereken nokta bu işlem için
ilk olarak ağ servisinin durdurulacağı ve yeniden aktif hale
geçeceğidir. Bu yüzden tüm ağ bağlantıları kopacaktır.
“status” parametresi ile ağ arayüzlerinin durumu kontrol
edilmektedir.
IP adresi bilgilerini öğrenme (ifconfig)
Network
scriptinin temel de yaptığı iş ayar dosyalarını okuyup gerekli
komutları çalıştırmaktır. Linux işletim sisteminde ağ
ayarlarının yapılmasında kullanılan temel komut
#
ifconfig
Komutudur.
Ifconfig
komutu ağ arayüzünün IP ayarlarını yapmakta kullanılmaktadır.
Bu ayarlar arasında aşağıdaki parametreler bulunur :
- IP adresi : IP ayarlarının temel öğesidir. Bu parametrenin mutlaka verilmesi gerekmektedir.
- Ağ maskesi : Makinenin sahip olduğu alt ağı belirlemek için kullanılan maskedir.
- Yayın Adresi : Gönderilen paketin ağ üzerinde bulunan tüm makinelere ulaşması gerektiğinde paketin gönderilmesi gereken IP adresidir.
ifconfig
komutuna hiç bir parametre gönderilmediği takdirde , aktif olan
arayüzler ile ilgili bilgi gösterilecektir.
[root@seawolf
/root]# ifconfig
eth0
Link
encap:Ethernet
HWaddr
00:10:5A:AC:4F:66
inet
addr:160.75.100.40 Bcast:160.75.100.255 Mask:255.255.255.0
UP
BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX
packets:669410 errors:0 dropped:0 overruns:0 frame:0
TX
packets:141875 errors:0 dropped:0 overruns:0 carrier:0
collisions:0
txqueuelen:100
Interrupt:10
Base address:0xfc00
lo
Link encap:Local Loopback
inet
addr:127.0.0.1 Mask:255.0.0.0
UP
LOOPBACK
RUNNING
MTU:16436
Metric:1
RX
packets:13647 errors:0 dropped:0 overruns:0 frame:0
TX
packets:13647 errors:0 dropped:0 overruns:0 carrier:0
collisions:0
txqueuelen:0
Ifconfig
komutunun temel yapısı aşağıdaki gibidir :
ifconfig
arayüz_ismi
IP_adresi
[
netmask
ağ_maskesi
broadcast
yayın_adresi]
*
Bir Linux makinesına ifconfig komutu ile IP adresi verme
ifconfig
eth0 192.168.2.33 netmask 255.255.255.0 up
*
Bir linux makinasında ethernet kartını “disable(down)” konuma
getirme
ifconfig
eth0 down
*
Bir linux makinasında ethernet kartını aktif hale getirme
ifconfig
eth0 up
|
Not:
ifconfig komutu ile verilen IP adresi bir yere kaydedilmez. sistem
restart edince kaybolur
|
Ağ geçiti adresi belirleme (route)
route
komutu makinenin yönlendirme ile
ilgili ayarlarını yapmak için kullanılan komuttur. Bu komut
sayesinde makinenin yönlendirme tablosu oluşturulur. Makinenin ağ
üzerinde tam anlamıyla çalışabilmesi için yönlendirme
tablosunun doğru olarak yapılandırılması şarttır. Yönlendirme
tablosu giden paketlerin hangi arayüz üzerinden, hangi makineye
gideceği bilgilerini içerir.
route
komutuna hiç bir parametre
gönderilmez ise mevcut olan yönlendirme tablosu gösterilir.
[root@seawolf
/root]# route
Kernel
IP routing table
Destination
Gateway Genmask Flags Metric Ref Use Iface
160.75.100.0
* 255.255.255.0 U 0 0 0 eth0
127.0.0.0
* 255.0.0.0 U 0 0 0 lo
default
160.75.100.254
0.0.0.0 UG 0 0 0 eth0
*
Bir Linux makinasına Default Gateway (varsayılan ağ geçiti)
adresi verme
route
add default gw 192.168.2.1
Bir Ağ kartına birden çok IP adresi verme
Bir
network kartına birden fazla IP adresi ataması yapılabilmektedir.
Örneğin birinci Ethernet kartı için ikinci bir IP numarası
vermek gerektiğinde eth0:0 adı ile gösterilen ve eth0
cihazının alt-arayüzü (sub-interface) aygıtı (alias) olan sanal
karta IP adresi verilir.
Bu
işlem için öncelikle:
- öncelikle asıl arayüz aygıtının (eth0) çalıştığından emin olmalısınız.
- eth0:0 için kullanacağınız IP adresinin başka bir aygıt tarafından kullanılmadığına emin olmalısınız.
- ifconfig komutu ile sanal IP numarası verme işlemini aşağıdaki gibi yapabilirsiniz.
# ifconfig eth0:0
192.168.1.99 netmask 255.255.255.0 up
|
Not:
Bu işlemleri system-config-network aracı ile daha kolay
gerçekleştirebilirsiniz.
|
ALINTIDIR
KAYNAK:www.belgeler.org