avatar
Tarih: 14:34, 05-12-08 14:34 Sitemize Hoşgeldiniz. (Oturum AçKayıt Ol)

Bu Konuyu Görüntüleyenler
Bu Konuyu görüntüleyenler: 1 Ziyaretçi

Konuyu Gönder  Mesaj Önizleme 
İnternete Bağlanma
19:36, 22-02-08 19:36
Mesaj: #1
İnternete 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 yapılandırma işlemlerine geçilebilir.

Ağ Yapılandırması
Bu bölümde anlatılan rc.* yapılandırma 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 yapılandırmayı gerçekleştirebilirsiniz.

Linux, açılırken bazı dosyalara bakarak düzgün çalışması için gerekli yapılandırmayı 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, yapılandırmayı gerçekleştiren /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 yapılandırılmasını 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



cclub.metu.edu.tr makinasının ifconfig bilgisi yukarıdaki şekildedir. Bu makina üzerinde tek ethernet kartı olup, ifconfig bilgisinde ikinci sırada yeralıyor. Kartla ilgili ayrıntılı 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:


cclub:~# 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ı yapılandırır.


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 ...



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.


cclub:~# 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.


cclub:~# 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.appl18 ESTABLISHED
tcp 0 0 cclub.metu.edu.tr:1943 despair.thebandit.c:ftp ESTABLISHED
tcp 0 0 cclub.metu.edu.tr:1424 despair.thebandit.co18 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.25318 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ı
Yapılandırmayı 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 yapılandırma 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 ayrıntılı 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) man 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.

Gayret Et Güzelim...
Bu kullanıcının gönderdiği tüm mesajları bul
Bu mesajı bir cevapta alıntı yap
00:03, 24-02-08 00:03
Mesaj: #2
Cvp: İnternete Bağlanma
Paylaşım İçin Teşekkürler

[Resim: uyari.gif]Uyarı: İndirmeye başlamadan önce lütfen linklerin hepsini kontrol ediniz.
[Resim: istek.gif]İstek Yapmadan Önce Forumda Sadece Üyeler Linkleri Görebilir. Üye Olmak İçin TIKLAYIN Yapınız!
[Resim: saygi.gif]Verilen emeğe lütfen saygı gösteriniz. En azından bir teşekkür edebilirsiniz.


Her Türlü Sorununuzda Bana Ulaşın.
Zamanın Durduğu Kaliteli İnsanların Paylaşım Mekanı

Sadece Üyeler Linkleri Görebilir. Üye Olmak İçin TIKLAYIN

Hedefimiz En Büyük ve En İyi Olmaktır
Kullanıcının websitesini ziyaret et Bu kullanıcının gönderdiği tüm mesajları bul
Bu mesajı bir cevapta alıntı yap
Konuyu Gönder  Mesaj Önizleme 


Foruma Git:

FrmHits.CoM - helllife.org - ForumEvreN.oRG