IPv4 AĞLARININ IPv6 AĞLARINA ENTEGRASYONU PROJE NO

Transkript

IPv4 AĞLARININ IPv6 AĞLARINA ENTEGRASYONU PROJE NO
ÇANAKKALE ONSEKİZ MART
ÜNİVERSİTESİ
BİLİMSEL ARAŞTIRMA
PROJELERİ KOMİSYONU
IPv4 AĞLARININ IPv6 AĞLARINA
ENTEGRASYONU
IPv4 AĞLARININ IPv6 AĞLARINA
ENTEGRASYONU
PROJE NO: 2006 - 20
Yrd. Doç.Dr. İsmail KADAYIF
Arş.Gör. Olcay KABAL
Aralık, 2006
ÇANAKKALE
Bu proje, Çanakkale Onsekiz Mart Üniversitesi Bilimsel Araştırma Projeleri Komisyonu tarafından
desteklenmiştir.
İÇİNDEKİLER
Sayfa No
TEŞEKKÜR.............................................................................................................. i
TABLOLAR ...........................................................................................................ii
ŞEKİLLER .............................................................................................................iii
ÖZET ..................................................................................................................... vi
ABSTRACT .......................................................................................................... vii
1. GİRİŞ ................................................................................................................. 1
2. IPv4 ..................................................................................................................... 4
3. IPv6 ..................................................................................................................... 6
3.1. IPv6 Nedir?................................................................................................... 7
3.2. Adres Türleri................................................................................................. 9
3.2.1. Özel bir ön eki olmayan adresler............................................................ 9
3.2.2. Adresin ağ kısmı; önek (prefix) diye de bilinir ..................................... 10
3.2.3. Adres türleri (host kısmı) ..................................................................... 12
3.2.4. Yönlendirme için önek uzunlukları ..................................................... 13
3.3. IPv6 Hakkında Bilinmesi Gereken Kritik Noktalar...................................... 14
4. IPv4 AĞLARININ IPv6 AĞLARINA ENTEGRASYONU İÇİN YÖNTEM
VE TEKNİKLER ............................................................................................. 15
4.1. İkili Yığın (Dual Stack)............................................................................... 15
4.2. Yapılandırılmış Tünelleme ......................................................................... 15
4.3. Otomatik Tünelleme ................................................................................... 16
4.4. 6to4............................................................................................................. 16
4.5. Teredo......................................................................................................... 17
4.6. DJB AutoIPv6............................................................................................. 17
4.7. 6over4......................................................................................................... 17
5. İŞLETİM SİSTEMLERİNİN IPv6 DESTEKLERİNİN AÇILMASI ........... 19
5.1. Windows'ta IPv6 Desteğinin Açılması ........................................................ 19
5.2. Linux'ta IPv6 Desteğinin Açılması ............................................................. 21
5.2.1. Sistemin IPv6 Kullanımına Hazırlanması............................................. 21
5.2.1.1 Çekirdeğin IPv6'ya hazırlanması .................................................... 21
5.2.1.2 IPv6'ya hazır ağ yapılandırma araçları............................................ 22
5.2.1.3 IPv6'ya hazır deneme/hata ayıklama uygulamaları ......................... 22
5.2.2. Arabirimlerin Yapılandırması .............................................................. 24
5.2.2.1 Farklı ağ aygıtları........................................................................... 24
5.2.2.2 Arabirimlerin aktif/pasif hale getirilmesi........................................ 25
5.2.3. IPv6 Adreslerinin Yapılandırılması...................................................... 26
5.2.3.1 IPv6 Adreslerinin Görüntülenmesi ................................................. 26
5.2.3.2 Bir IPv6 Adresinin Eklenmesi........................................................ 27
5.2.3.3 IPv6 Adreslerini Kaldırmak ........................................................... 27
5.2.4. Normal IPv6 Rotalarının Yapılandırılması ........................................... 27
5.2.4.1 Varolan IPv6 rotalarının görüntülenmesi........................................ 27
5.2.4.2 Bir ağ geçidi üzerinden bir IPv6 rotası eklemek ............................. 28
5.2.4.3 Bir ağ geçidi üzerinden IPv6 rotası kaldırmak ................................ 28
5.2.4.4 Bir arabirim üzerinden IPv6 rotası eklemek.................................... 29
5.2.4.5 Bir arabirim üzerinden IPv6 rotası kaldırmak ................................. 29
5.2.5. Komşuların Araştırılması..................................................................... 29
5.2.5.1 ip kullanılarak komşuların görüntülenmesi..................................... 30
5.2.5.2 ip kullanılarak komşu tablosunun değiştirilmesi ............................. 30
5.2.6. IPv4 İçinde IPv6 Tüneli Yapılandırmak ............................................... 30
5.2.6.1 Tünel türleri ................................................................................... 30
5.2.6.2 Varolan tünellerin görüntülenmesi ................................................. 31
5.2.6.3 Noktadan-noktaya tünel yapılandırması ......................................... 31
5.2.6.4 6to4 tünellerin ayarları ................................................................... 32
5.2.7. Otomatik Yapılandırma ve Gezicilik.................................................... 34
5.2.8. Şifreleme ve Kimlik Denetimi ............................................................. 34
5.2.8.1 Şifreleme ve kimlik denetimi kipleri .............................................. 34
5.2.9. Servis Kalitesi (QoS) ........................................................................... 34
5.2.10. IPv6 Uyumlu Artalan Süreçleri İçin İpuçları ...................................... 34
5.2.10.1 Rota Bilgilendirme Sunucusu (radvd)........................................... 34
5.2.10.2 Dinamik Host Yapılandırma Protokolü v6 Sunucusu (dhcp6s) ..... 35
6. UYGULAMALAR............................................................................................ 37
6.1. İki bilgisayarlı ağdaki başlangıç v4 yapılandırması, v6 destekleri açılmış
haldeki yapılandırmaları ve aralarında iletişim kurulması................................... 37
6.2. İki bilgisayarın ÇOMÜ Network’üne bağlıyken ürettikleri otomatik adresler
ve aralarındaki bağlanabilirlik ............................................................................ 42
6.3. IPv4 altyapılı sistemde IPv6 destekli halde çalışan bilgisayarların uluslar arası
IPv6 ağlarına bağlanması için kullanılan yöntemler ve test sonuçları.................. 51
6.4. Örnek bir kurumun 6to4 tünelleme ile IPv6 Internet’ine erişimi için yapılması
gereken yapılandırma ayarları ............................................................................ 61
6.4.1. Gereksinimler ...................................................................................... 61
6.4.2. Kullanılan Bileşenler ........................................................................... 61
6.4.3. 6to4 Tünelinin Çalışma Mekanizması .................................................. 62
6.4.4. 6to4 Tünellerinin Kısıtlamaları ............................................................ 63
6.4.5. Tünelleme Senaryosu........................................................................... 63
6.4.6. Ağ Diyagramı ...................................................................................... 64
6.4.7. Yapılandırmalar ................................................................................... 64
6.5. Üniversitemizde mevcut IPv4 yapısının IPv6’ya entegrasyonu için yapılması
gerekenler .......................................................................................................... 70
6.5.1. Otomatik Yapılandırma........................................................................ 70
6.5.2. Tünel Yapılandırması .......................................................................... 71
6.5.3. BGP4+................................................................................................. 71
6.5.4. Statik Yönlendirme.............................................................................. 72
6. SONUÇ.............................................................................................................. 73
KAYNAKLAR ...................................................................................................... 74
TEŞEKKÜR
Projemize yardımlarından dolayı Arş.Gör. Davut AKÇİÇEK’e teşekkür ederiz.
i
TABLOLAR
Tablo No
Tablo Adı
Sayfa No
Tablo 6.1.1 Testlerde kullanılan bilgisayarların genel özellikleri................... 37
Tablo 6.2.1 PC1 ve PC2 makinelerinin ağ yapılandırma türleri...................... 42
Tablo 6.3.1 Testlerde kullanılan bilgisayarların genel özellikleri................... 51
Tablo 6.3.2 Bize tahsis edilen tünel hakkında ayrıntılı bilgi............................ 58
Tablo 6.4.1 Çözüm için kullanılan aygıtların tanımlamaları............................ 62
Tablo 6.4.2 192.168.99.1 adresinden C0A8:6301 v6 adres parçasının elde
edilişi................................................................................................................. 64
ii
ŞEKİLLER
Şekil No
Şekil Adı
Sayfa No
Şekil 3.1 IPv4 ve IPv6 paket yapıları.............................................................................. 7
Şekil 5.1 Yerel Ağ Bağlantısı özellikleri penceresinde Yükle seçeneğini seçiyoruz.... 19
Şekil 5.2 Ağ bileşeni türü olarak İletişim Kuralını seçip Ekle’ye basıyoruz................. 20
Şekil 5.3 Microsoft TCP/IP sürüm 6’yı seçerek Tamam diyoruz.................................. 20
Şekil 5.4 Yerel Ağ Bağlantısı özelliklerinde Microsoft TCP/IP sürüm 6 desteğinin
Varlığı............................................................................................................................. 21
Şekil 6.1.1 PC1’in başlangıç v4 yapılandırması............................................................ 37
Şekil 6.1.2 PC2’nin başlangıç v4 yapılandırması........................................................... 38
Şekil 6.1.3 PC1 makinesinden PC2’ye erişim................................................................ 38
Şekil 6.1.4 PC1 makinesinin v6 adres yapılandırması................................................... 39
Şekil 6.1.5 PC2 makinesinin v6 adres yapılandırması................................................... 39
Şekil 6.1.6 PC1 makinesinden PC2 makinesine IPv6 erişimi........................................ 40
Şekil 6.1.7 PC2 makinesinden PC1 makinesine IPv6 erişimi........................................ 41
Şekil 6.1.8 PC1 makinesinden PC2 link-local arayüzüne erişim için rota izleme
komutunun kullanılması................................................................................................. 41
Şekil 6.2.1 PC1 makinesinin sanal adrese sahip olması durumundaki ağ
yapılandırması................................................................................................................ 42
Şekil 6.2.2 PC2 makinesinin sanal adrese sahip olması durumundaki ağ
Yapılandırması............................................................................................................... 43
Şekil 6.2.3 PC1’in PC2’ye v4 erişebilirliğinin sınanması.............................................. 44
Şekil 6.2.4 PC1’in PC2’nin link-local adresine erişimi (kullanılan bölge kimliğine dikkat
ediniz)............................................................................................................................. 44
Şekil 6.2.5 PC2’nin PC1’in link-local adresine erişimi.................................................. 44
Şekil 6.2.6 PC1’in site-local adrese erişimi.................................................................... 45
Şekil 6.2.7 PC2’nin site-local adrese erişimi.................................................................. 45
iii
Şekil 6.2.8 PC1’den PC2’nin tünel bağdaştırıcı otomatik tünelleme sahte arayüzüne
erişim............................................................................................................................... 45
Şekil 6.2.9 PC2’den PC1’in tünel bağdaştırıcı otomatik tünelleme sahte arayüzüne
erişim............................................................................................................................... 46
Şekil 6.2.10 PC2 makinesinde gerçek IP varken v6 yapılandırması............................... 46
Şekil 6.2.11 PC1’den PC2’nin link-local, site-local ve otomatik tünelleme adreslerine
erişimler............................................................................................................................ 47
Şekil 6.2.12 PC1’den PC2’nin gerçek IP’sine erişim ve 6to4 adresine erişim denemesi. 47
Şekil 6.2.13 PC2’den PC1’in link-local, site-local ve otomatik tünelleme adreslerine
erişimler............................................................................................................................ 48
Şekil 6.2.14 PC1 makinesinde gerçek IP varken v6 yapılandırması................................ 49
Şekil 6.2.15 PC1’den PC2 için link-local, site-local ve otomatik tünelleme adreslerine
erişimler............................................................................................................................ 50
Şekil 6.2.16 PC1’den PC2’nin tünel bağdaştırıcı 6to4 tünelleme sahte arayüzü adresine
erişim................................................................................................................................ 50
Şekil 6.3.1 PC1’de IPv6 desteğinin açılması................................................................... 51
Şekil 6.3.2 PC2’de IPv6 desteğinin açılması.................................................................... 51
Şekil 6.3.3 PC1’in ağ yapılandırma bilgisi....................................................................... 52
Şekil 6.3.4 PC2’nin ağ yapılandırma bilgisi..................................................................... 52
Şekil 6.3.5 PC1’den PC2’nin v4 adresine erişim............................................................. 52
Şekil 6.3.6 PC1’den PC2 link-local adresine erişim........................................................ 53
Şekil 6.3.7 PC2’den PC1 link-local adresine erişim........................................................ 53
Şekil 6.3.8 PC2’den www.kame.net sitesine ping6 ile erişim denemesi........................ 54
Şekil 6.3.9 www.kame.net sitesine erişim ve bu erişimde izlenilen yolu görmek için
çalıştırılan “traceroute” komutu....................................................................................... 54
Şekil 6.3.10 Oluşturduğumuz tun6to4 arayüzü yapılandırması özellikleri..................... 55
Şekil 6.3.11 PC2’den www.kame.net sitesine ping6 ile erişim...................................... 55
Şekil 6.3.12 v6 ile www.kame.net ‘e erişirken paketlerin izlediği güzergah.................. 56
Şekil 6.3.13 Tarayıcıda v6 adres çağrımına örnek........................................................... 56
iv
Şekil 6.3.14 Ulakbim v6 ftp hizmeti sunucusuna erişim (sayısal adres çağrımı ile)....... 57
Şekil 6.3.15 Ulakbim v6 ftp hizmeti sunucusuna erişim................................................. 58
Şekil 6.3.16 Tünel oluşturulmadan önceki bir v6 adrese erişememe durumu................. 59
Şekil 6.3.17 sit arayüzlerinin tanımlanması..................................................................... 59
Şekil 6.3.18 İki uç nokta arasında tünel oluşturma ve gerekli yönlendirme ayarları...... 60
Şekil 6.3.19 Çeşitli v6 adreslerine başarılı erişimler....................................................... 60
Şekil 6.4.1 Örnek kurumun başlangıç IPv4 ağ topolojisi................................................ 62
Şekil 6.4.2 Kurumdan v6 omurgasına 6to4 tüneli........................................................... 64
v
IPv4 AĞLARININ IPv6 AĞLARINA ENTEGRASYONU
ÖZET
Günümüzün IPv4 temelli ağlarında belirginleşen başlıca sorunlardan biri yeni hostlar
için nerdeyse elde IP’nin kalmamasıdır. Bu iki nedenden kaynaklanır: Birinci neden, IP
uzayının verimli tasarlanmamış olmasıdır. İkincisi ise, internet öylesine etkileyici
büyümektedir ki bu dev ağa bağlanan bilgisayar sayısı inanılmaz şekilde artmaktadır. Bunun
yanında, kullanıcılar daha fazla, daha kaliteli hizmet istemekte ve IPv4 buna karşılık
verememektedir.IPv6 bu talepleri karşılamak için anahtar bir teknoloji olarak ortaya çıkmıştır.
İnternetin geleceğinin IPv6 protokolüne dayandığı ve internete bağlı hostların donanım ve
yazılımlarının buna göre şekilleneceği görülmektedir.
Projemizin konusu Internet Protocol version 4 kullanan bilgisayar ağlarının Internet
Protocol version 6 kullanan bilgisayar ağlarına dönüştürülmesi, entegrasyonudur. Yapılacak
çalışmada yeni nesil teknoloji IPv6 protokolünün uluslar arası standartları araştırılacak ve bu
protokolün IPv4’e göre tercih edilme sebeplerinin ayrıntıları belirtilecektir. IPv6 ağlarına
geçiş için gerekecek teknik alt yapının nasıl olması gerektiği önerilecektir. IPv6 protokolünü
kullanan bilgisayar ağlarının dünyadaki diğer IPv6 ya da IPv4 protokolünü kullanan
bilgisayar ağlarıyla etkileşiminin, bilgi iletişiminin sağlanabilmesi için yapılması gereken
yapılandırmaların ne olması nasıl olması gerektiği araştırılacak; çözüm önerileri sunulacaktır.
Araştırma çalışmalarımızın uygulanabilirliğini görmek, sonuçlarını almak için BAP desteği
ile alabileceğimiz bilgisayarlar üzerinde çeşitli yapılandırmalar yaparak uygulama ortaya
çıkartmayı hedeflemekteyiz.
Anahtar kelimeler: IPv6, IPv4, IP, protokol, bilgisayar ağları
vi
IPv4 NETWORK INTEGRATION TO IPv6 NETWORK
ABSTRACT
One of the major problems regarding today’s IPv4 based internet is that there is
virtually no IP left for new hosts. This mainly stems from two reasons. First, the IP space was
not designed efficiently. Second, internet has expanded so dramatically that each year an
unprecedented number of computers have been connected to internet. Besides, customers are
demanding for more quality of services (QoS), and IPv4 can not provide it.IPv6 has emerged
as a key technology to remedy these concerns. It seems that the future of internet relies on
IPv6 protocol and the hardware/software of hosts connected to internet will be re-shaped
accordingly.
Our project aims to convert and integrate an IPv4 based network to an IPv6 based
network. In our research, the new generation technology will be investigated, and the details
of the reasons of preferring this protocol to IPv4 will be given. To ensure its feasibility, IPv4
based network must be able to interactively and easily connect to other networks using either
IPv4 or IPv6. For this process, the required features of the technical infrastructure of IPv6
enabled network will be investigated and some suggestions regarding a practical integration
will be made. Moreover, in our project, we are to supply solutions for what the configurations
are to be for efficient communication. We plan to realize our project in practice and to get
results via the support of BAP.
Key words: IPv6, IPv4, IP, protocol, computer networks
vii
1. GİRİŞ
IETF (Internet Engineering Task Force) bilgisayar ağları mühendisliği ve geliştirmesi
konusunda olası problemlere çözüm sunmak amacıyla Internet Architecture Board (IAB)
tarafından 1986 yılında kurulan bir kuruluştur. IETF önderliğinde 1990'lı yılların başından
itibaren yeni bir adresleme sistemine geçiş ihtiyacının hissedildiği vurgulanmaya başlanmıştır.
1994 yılında bu organizasyon yeni nesil internet protokolü için bir takım önerilerde
bulunmuştur. Hedeflenen yeni protokolün taşıması gereken özellikler bir taslak olarak
belirlenmiş ve bu yeni protokole IPng (Internet Protocol next generation) veya IPv6 (Internet
Protocol version 6) denilmesi kararlaştırılmıştır (Bradner, 1995).
Bu önerilerin en önemli sebeplerinden biri internetin oldukça hızlı genişlemesi ve her
yıl internete eklenen host sayısının bir önceki yıla oranla çok fazla sayıda olmasıdır. Örneğin
Ocak 1999’da yaklaşık 45 milyon host varken bu sayı Mayıs 2000’de yaklaşık 80 milyona
ulaşmış, Mayıs 2001’de 120 milyonun üzerine çıkmıştır (Waddington, 2002).
IPv6’ya İhtiyacın Nedenleri
-Mevcut IPv4 protokolü servis kalitesine yeterince destek vermiyor (QoS). IPv6 protokolü ise
veri, görüntü, video ve ses taşımada IPv4'ten çok daha kalitelidir. Internet kullanıcılarının
sayısı da arttıkça daha kaliteli servis isteği talepleri çığ gibi büyümektedir.
-IPv6 ölçeklenebilir ve güvenli bir protokoldür. IPv4’te ise uluslararası güvenirlilik
standartlarına uyumluluk zor sağlanmaktadır veya yoktur.
-IPv4’te hizmetin gerçek zaman aralığında olacağına (haberleşmenin belirli zaman aralığında
olacağına) garanti yoktur.
-IPv4 adres uzayının 2005-2015 yılları arasında tükeneceği tahmin edilmektedir (Huang,
2003).
-IPv4 adreslemenin başlangıçta etkin bir şekilde organize edilememesi ve adaletli
dağıtılamaması sebebiyle bir çok ülke IPv4 adres ihtiyacını karşılayamamaktadır.
Kullanılabilen adres uzayının tükenmeden IPv6 sistemlerine geçişin hızlandırılması ihtiyacı
vardır.
-Bilgisayar ağlarında iletilen paketlerdeki adresleme sisteminde kullanılan başlık bilgilerinin
verimli bir biçimde organize edilememesi yol bulma işleminin yavaşlamasına sebep
olmaktadır. Bu duruma IPv6 sistemine geçiş ile gelecek çözüm başlık bilgilerinin daha esnek
hale getirilmesi; yani seçenekli kullanılabilmesi sayesinde CPU’nun daha verimli
çalışabilmesinin sağlanmasıdır. Başlıktaki esneklik, uygulama programının talep ettiği
servisin kalitesine göre başlık bilgisinin değişebilirliği anlamına gelmektedir; bu da mesajların
daha kısa sürede işlenmesi ve yönlendirilmesi imkanını sağlamaktadır (Tian ve diğ., 2001).
-IPv6, adres ataması işlemlerini otomatikleştirdiği için cihazların "Plug and Play" tak-çalıştır
mantığıyla internete bağlanmasına imkan verecektir (Zhang ve diğ., 2004).
Internetin bu denli hızlı yaygınlaşmasının önceden tahmininden dolayı 1995 yılında
IETF 32 bit temelli IPv4 protokolünün yerine 128 bit temelli IPv6 versiyonun geliştirilmesini
önermiştir. (IPv6 Forum), (IETF), (IPv6). Bu protokolün ayrıntılarını veren birçok yayın
vardır (Huitema, 1998), (Miller. 2000), (Hagen, 2002), (Hagino. 2004), (Davies. 2002),
(Loshin, 2003), (Niles, 1998), (Malone ve diğ., 2005).
IPv4 ile 2^32 host internete bağlanabiliyorken bu sayı IPv6 ile 2^128, o da yaklaşık
3.4x10^38 sayısına karşılık gelmektedir. Bu sayı gelecekte herhangi bir adres sıkıntısı
yaşanmasını önleyebilecek kadar çok büyük bir adres uzayını öngörmektedir.
1998 yılına kadar bu protokol bir öneriler taslağı olarak kalmıştır. Bu protokolün
pratiğe geçirilmesi ile ilgili çalışmalar ilk kez Çin'de 1998 yılında başlamıştır. 1999 yılında
IETF IPv6 çalışma grubu bu protokolün geliştirilmesinin tamamlandığını duyurdu. Japonya
tarafından Eylül 2000’de bu protokolün yayılmasına destek verildi. 2001 Şubatta Güney Kore
yine bu desteğini açıkladı. Nisan 2001’de Avrupa Komisyonu da bu protokolü benimsedi.
1
Dünyanın birçok ülkesinde IPv6 protokolünü kullanan bilgisayar ağları kurulmaya ve
geliştirilmeye başlanmıştır. Bu yöndeki çalışmalarda özellikle IP adres sıkıntısı çeken Çin,
Japonya, Tayvan gibi Asya ülkeleri başı çekmektedir. Bazı ülkelerin IP sıkıntısı çekmelerinin
temel sebebi IP'lerin ülkeler arasında adaletli bir şekilde dağıtılmayışıdır. Bu durum IPv6
temelli bilgisayar ağlarının geliştirilmesini tetiklemektedir.
Bu amaçla Telecommunications Advancement Organization (TAO) Japan Gigabit
Network (JGN) ağını IPv6 ile uyumlu hale getirdi (Kobayashi ve diğ., 2003). JGN bir dizi
araştırma merkezini, hükümet kurumlarını ve üniversiteleri birbirine bağlamaktadır.
Japonya’da JGN IPv6 Çalışma Grubu mevcut IPv4 temelli JGN'yi IPv6 ile uyumlu
hale getirebilmek için bir dizi probleme çözüm sunmaya çalıştı. Bunlardan bazıları aşağıda
verilmiştir (Kobayashi ve diğ., 2003):
- IPv4 ve IPv6 adreslerinin atanmasına yönelik yöntem önerdi.
- Sunucuların ve yönlendiricilerin güncellenmesi sağlandı.
- IPv6 uyumlu DNS sistemlerinin kurulumu gerçekleştirildi.
- IPv4 temelli düğümlerin IPv6 temelli düğümlere dönüşüm senaryoları oluşturuldu.
- Bütün bu internetin IPv6 temelli internete dönüşüm senaryosu oluşturuldu.
Dünyanın birçok ülkesinde olduğu gibi Çin’de de teknolojik gelişmelere paralel olarak
internet ve mobil cihaz kullanıcılarının sayısı hızla artmaktadır. Çin gibi gelişmekte olan
ülkeler kendi internet teknolojilerinin gelişmesi ve yaygınlaşması için IPv6 protokolünü bir
gereksinim olarak gördüler. Bu konudaki araştırmalar ve projeler başarıyla devam etmektedir.
Pratikte uygulanabilirlikleri görülmektedir.
Örneğin Çin’de Eğitim Bakanlığı tarafından yürütülen Çin Eğitim ve Araştırma Ağı
(China Education and Research Network –CERNET ) ile Çin Bilimler Akademisi (China
Academy of Sciences – CAS ) tarafından yürütülen Çin Bilim ve Teknoloji Ağı (China
Science and Technology Network – CSTNET ) projeleri ülkenin IPv6 geçiş sürecini
hızlandırmak için başlatılmış öncü projelerdir (Li ve diğ., 2003).
Türkiye’de Durum
Türkiye'de de aynı Çin'de olduğu gibi IP sıkıntısı vardır. Özellikle bu sıkıntı C sınıfı
IP'lere sahip üniversite veya kurumlarda ciddi boyutlardadır. Bu da C sınıfı ağların eğer ağ
parçalanmamış ise en fazla 255 hostu internete bağlayabilmesinden kaynaklanmaktadır.
Örnek olarak üniversitemizde (ÇOMÜ) C sınıfı IP bloğu (193.255.97.0) kullanılmaktadır.
Fakültelere tahsis edilen IP sayısı 10 gibi çok küçük bir rakamdır. Bu da IP tahsis edilmeyen
akademisyenlerin IP isteyen sitelere (kütüphaneler gibi) girişini engellemektedir. Bu ve
benzeri karşılaşılan sorunlar bilgisayar ağı kullanıcılarına gerçek IP’lerin atanmasıyla çözüme
kavuşacaktır. Bu da ancak IP adres uzayını arttıracak olan IPv6 teknolojisiyle mümkündür.
TÜBİTAK'a bağlı bir teknoloji merkezi olan ve Türkiye'nin akademik ağ (UlakNet) alt
yapısını yöneten ULAKBİM (Ulusal Akademik Ağ ve Bilgi Merkezi) bünyesinde yapılan
çalışmalarda IPv6 denemeleri yapılmış ve şu anda çalışan servislerin IPv6 üzerinde de
çalışması sağlanmıştır. UlakNet bünyesinde IPv6’ya geçis çalışmaları 2003 yılı başında,
Bölgesel Internet Tahsis Kurumu olan RIPE organizasyonundan UlakNet için 2001:A98::/32
IPv6 adres aralığı alınmasıyla başlamıstır. 2004 yılının başında, bu adres aralığı kullanılarak
UlakNet’e bağlı uçlara talepleri doğrultusunda IPv6 adresleri dağıtılmaya başlanmıştır.
UlakNet‘in global Internet’le IPv6 bağlantısı BGP4+ yönlendirme protokolü ile 1.5 senedir
Avrupa Akademik Ağı GEANT üzerinden mevcuttur, şu anda ULAKBİM’deki http, ftp,
rsync, dns, web önbellekleme servisleri IPv4 yanında IPv6 olarak da kullanıcılara
sunulmaktadır.
ULAKBİM tarafından IPv6’ya geçiş çalışmalarının Türkiye’de öncelikle tüm
üniversitelerde başlatılması istenmektedir. Bu kapsamda çalışmaların daha iyi organize
2
edilebilmesi, bilgi paylaşımı için UlakNet IPv6 Görev Gücü kurulmuştur (IPv6 Türkiye).
Türkiye’de 2006 Kasım itibariyle IPv6 adres bloklarını talep edip alan üniversiteler şunlardır:
* Orta Doğu Teknik Üniversitesi (Ocak 2004)
* Sabancı Üniversitesi (Ocak 2004)
* Çukurova Üniversitesi (Ocak 2004)
* Bahçeşehir Üniversitesi (Mart 2004)
* Selçuk Üniversitesi (Nisan 2004)
* Doğu Akdeniz Üniversitesi (Mayıs 2004)
* Uludağ Üniversitesi (Ocak 2005)
* Çanakkale Onsekiz Mart Üniversitesi (Ekim 2005)
Çalışmamızda amacımız IPv4 ağlarının IPv6 ağlarına entegrasyonu sürecinde
yapılması gerekenler üzerinedir. Bu kapsamda ilerleyen bölümlerde IPv4 ağlarının genel
özellikleri, IPv6 ağlarının ayrıntılı özellikleri, IPv6’ya geçişin getirileri, v4 ağlarından v6
ağlarına geçiş mekanizmaları, uluslararası IPv6 Internet’ine bağlanabilmek için yapılması
gerekenler, kurum veya kuruluşların v6’ya entegrasyonu için yapılacaklar ve üniversitemiz
için temel olarak yapılması gereken yapılandırmalar anlatılacak, yaptığımız uygulamalar
açıklanacaktır.
Çalışmamızın Çanakkale Onsekiz Mart Üniversitemizin, ülkemizin IPv6 teknolojisini
tanımasına ve bu teknolojiye geçişte üniversitemizin Türkiye’de öncü üniversitelerden biri
olmasını sağlayacağına inanıyoruz.
3
2. IPv4
Internet Protokolü (IP) (Postel, 1981), insanlığı bilgi çağına taşıyan Internet ağının
temel yapı taşıdır. Internet'e bağlı herhangi iki bilgisayar arasındaki iletişim bu protokol
aracılığıyla sağlanır. Bu açıdan IP'yi Internet'in ortak lisanı olarak da nitelendirebiliriz.
IP, ağ katmanlarına baktığımızda TCP ve UDP gibi taşıma katmanı protokollerinin
altında, Ethernet ve ATM gibi bağ katmanı protokollerinin de üzerinde yer alır. Temel görevi,
Internet'e bağlı bilgisayarların iletişim amacıyla adreslenebilmesi ve gönderilen veri
paketlerinin ağ içerisinde yönlendirilmesidir.
IP bundan yaklaşık 20 yılı aşkın bir süre önce geliştirilmiş bir teknoloji. İlk amacı çok
daha kısıtlı bir boyutta (askeri iletişim amaçlı) kullanım olmasına rağmen, geçtiğimiz 10 yıl
zarfında bu teknoloji dünya çapında kullanıma açılmıştır. Özel sektörün bu altyapıyı bir toplu
iletişim aracı olarak kullanmaya başlaması ve WWW'in gelişmesi IP'nin hızla
yaygınlaşmasını sağlayan faktörler olmuştur. Ama ne yazık ki, bu popülerliğin bir yan etkisi
de bu eski protokolün limitlerine ulaşması ve böylesine ağır bir yükün altından kalkamayacak
duruma gelmesidir.
Günümüz Internet'i IP protokolünün 4. sürümü (IPv4) üzerine kurulmuştur.
Bilgisayarların iletişim sırasında uçtan uca adreslenebilmesini sağlayan IPv4 adresleri 32
bitten ibarettir. Adresler birbirinden nokta ile ayrılmış dört oktetden oluşur. Bu sayılar 0 ile
255 arasında bir değer olabilir. Örnek bir IPv4 adresi 192.168.1.1’dir. IPv4 adresi ile alt ağ
maskesi değerini lojik AND işlemine tabii tutularak ağ adresi bulunur. Her bir IPv4 adres
sınıfı için bu alt ağ maskesi değeri farklıdır. IPv4 Adres sınıfları:
A Sınıfı Adresler: IPv4 adresindeki ilk oktet 0 ile 127 arasındadır ve varsayılan alt ağ
maskesi 255.0.0.0‘dır. A sınıfı IPv4 adreslerinde ilk oktet ağ adresini diğer üç oktet ise
makine’yi gösterir. Burada ilk oktet’in 0 ve 127 olma durumları özel durumlardır ve ağda
kullanılmazlar. Örneğin 127.0.0.1 yerel makine adresidir.
B Sınıfı Adresler: IPv4 adresindeki ilk oktet 128 ile 191 arasındadır ve kullanılan alt ağ
maskesi ise 255.255.0.0‘dır. Bu da demektir ki bu tür bir IPv4 adresinde ilk iki oktet ağ
adresini diğer iki oktet ise makine adresini gösterir. B sınıfı IPv4 adresinin kullanılabileceği
ağ sayısı 16.384 ve her bir ağda kullanılabilecek makine sayısı ise 65.534’dür. Örnek bir B
sınıfı IP adresi 160.75.10.110. olarak verilebilir.
C Sınıfı Adresler: IPv4 adresindeki ilk oktet’in değeri 192 ile 223 arasında olabilir ve
varsayılan alt ağ maskesi değeri ise 255.255.255.0 ‘dır. Yani bu tür bir IPv4 adresinde ilk üç
oktet ağ adresini son oktet ise makine adresini belirtir. Örneğin 193.168.10.101 IPv4 adresini
inceleyelim. Bu IPv4 adresi C sınıfı bir IPv4 adresidir.
Bu üç IP sınıfının haricinde D ve E sınıfı IP adresler de mevcuttur. D sınıfı IP adresleri
multicast yayınlar için kullanılır. E sınıfı adresler ise bilimsel çalışmalar için saklı tutulmuştur
(Kirch ve diğ., 2000).
32 bitlik adres alanı teoride 4,294,967,296 tane adres oluşturabilse de, verimsiz adres
atama mekanizmalarından dolayı etkin adres sayısı bu noktaya hiçbir zaman ulaşamaz.
WWW'in patlarcasına gelişmesinin yanı sıra son zamanlarda kablosuz erişimin de
yaygınlaşmasıyla 32 bitlik adres alanı varolan ihtiyacı karşılamakta yetersiz kalmaya
başlamıştır.
Bu problem karşısında IPv4 adres havuzunun etkin kullanımı için çeşitli yöntemler
geliştirildi. IPv4 adres bloklarının değişken boyutlarda olmasına izin veren CIDR (Classless
Inter-Domain Routing) (Rekhter ve diğ., 1993), aynı adresin farklı zamanlarda değişik
bilgisayarlarca kullanımına (devre mülk) olanak tanıyan PPP (Point-to-point Protocol)
4
(Simpson, 1994) ve DHCP (Dynamic Host Configuration Protocol) (Droms, 1997) bunların
başlıcalarıdır. Bu teknikler de yetersiz kalmaya başlayınca bazı kurumların kullanmadıkları
büyük adres bloklarını geri vermelerine iknaya bile başvuruldu (Örnek: Stanford
Üniversitesi'nin 036/8 adres bloğunu IANA'ya iadesi). Ne yazık ki sonunda anlaşıldı ki,
varolan IPv4 mimarisiyle Internet'e bağlı tüm düğümlere birbirleriyle çakışmayan adres
vermek mümkün değil, aynı anda aynı adresin paylaşımı kaçınılmaz. Sonunda ağ adres
çeviricisi (NAT - Network Address Translator) Internet mimarisine girdi.
NAT'in amacı, üzerinde barındırdığı bir IPv4 adresini birden çok bilgisayarın
Internet'e bağlanırken paylaşımına sunmaktır. Bu bilgisayarlarla Internet arasında bir geçit
görevi yapan NAT (Egevang ve diğ., 1994), Internet mimarisinin en temel prensiplerinden
olan uçtan uca adresleme ve paket bütünlüğünü yok eden yegane etkendir. IPv4 adres kıtlığı
için ancak bir yama niteliğinde kullanılan NAT teknolojisinin Internet'e faydasından çok
zararının olduğu kabul görmüş bir gerçektir. NAT üzerinden istemci-sunucu iletişiminin
sadece tek yönlü işleyebilmesi, IPsec bağlantılarının sağlanamaması, ağların sınırlı
ölçeklenirliği ve yönetim zorlukları başlıca problemler arasındadır (Yeğin, 2006).
5
3. IPv6
Internet'in hızla büyüyen adres kıtlığı problemi ve NAT yüzünden girmiş olduğu
sağlıksız gelişimin engellenmesi için, Internet protokollerinden sorumlu Internet Engineering
Task Force (IETF) 1990 yıllarının başında yeni bir çalışma grubu kurdu. O zamanki adıyla
IPng (Internet Protocol, next generation) Çalışma Grubu, yeni IP protokolünün geliştirilmesi
görevini üstlendi. Internet mimarisinin temel prensiplerinin korunarak sağlıklı gelişiminin
sağlanması ve yeni uygulamaların önünün açılabilmesi için IP protokolünün yeni bir
sürümünün geliştirilmesi öngörüldü. Yaklaşık 10 yılı aşkın bir süredir endüstri, akademi,
hükümetler ve çeşitli organizayonların ortak çalışması sonucu IPv6 protokolü doğmuş oldu.
("v5", IPv4'ün uzantısı olarak geliştirilen ve deneysel kullanımın ötesine geçememiş SP
(Stream Protocol) protokolüne (Topolcic, 1990) ayrılmış.)
IPv6 protokolü, IETF'nin yayınlamış olduğu bir seri RFC belgesi vasıtasıyla
tanımlanmıştır. IPv6'yı IPv4'ten ayıran en önemli özelliği 128 bitlik genişletilmiş adres
alanıdır. Bu genişlemenin sağlamış olduğu teorik adreslenebilir düğüm sayısı
340,282,366,920,938,463,463,374,607,431,768,211,456'dır. Böylesine geniş bir adres
alanının şu an yaşadığımız adres sıkıntısını çözmenin yanında Internet uygulamalarında
yeniliklere de yol açması bekleniyor. Öte yandan, IP üzerinde yapılan değişiklikler sadece
bununla da kalmayıp, protokolün tam anlamıyla tekrar gözden geçirilmesi ve yenilenmesi de
söz konusu olmuştur. Bunlar arasında basitleştirilmiş ve 64 bitlik işlemcilere göre
düzenlenmiş paket başlığı, paket bölünmesinin sadece uç noktalarda yapılacak olması
yönlendiricilerin veri trafiğini daha seri bir şekilde işleyebilmesi için yapılan değişikliklerdir.
Temel IP başlığının yanı sıra ihtiyaca göre eklenebilir uzantı başlıkların tanımlanabilmesi
protokolün eskenliğini arttıran bir faktör olmuştur. Güvenlik için IPsec (IP security protocol
(Kent ve diğ., 1998)) şartı da IPv6 ile gelen özellikler arasında yer alır.
128 bitten oluşan IPv6 adreslerinin ilk 64 bitlik kısmı alt ağı adreslemek için
kullanılan adres blok bilgisini içerir. Adres bloğu, bir paketin varacağı son adrese kadar olan
yolda yönlendirilmesini sağlar. Geriye kalan 64 bit ise bu adrese vardığında paketin son
alıcısının tespitinde kullanılır. IPv6 adresleri 16’lık düzende ifade edilir.
2045:ab28::6cef:85a1:331e:a66f:cdd1 örneğinde olduğu gibi 16 bitlik gruplar birbirlerinden ':'
ile ayrılır. Ardarda gelen iki ':' sadece bir kereye mahsus kullanılabilir ve aralarında kalan
bütün hanelerin sıfır değerini taşıdığını ifade eder.
Otomatik adres konfigurasyonu IPv6'nın getirmiş olduğu önemli yeniliklerdendir. Ağ
üzerindeki adres atama görevini üstlenmiş bir DHCP ya da PPP sunucusu olmaksızın ağa
bağlı düğümlerin kendilerince adres edinmelerine olanak tanır. Temelinde ağdaki
yönlendiricilerin gerekli adres bloğunu anons etmeleri ve düğümlerin de bu bloğa
kendilerinden 64 bitlik bir değer eklemeleriyle adres oluşturmaları yatar. Bu şekilde
oluşturulan adreslerin kullanılmadan önce tekillik testinden geçirilmesi gerekir. Düğümler
başkaları tarafından kullanılmadığına kanaat getirdikleri adresi kullanıma alabilir.
IP protokol başlığında ise büyük değişiklikler olmuştur. IPv4'te varolan protokol başlık
büyüklüğü, kimlik bilgisi, paket parçası bilgisi, başlık sağlama toplamı kaldırılmış, IPv6
başlığına yeni olarak akış bilgisi eklenmiş. Tipik 20 bayt genişliğindeki IPv4 başlığının yerini
40 baytlık IPv6 başlığı almış. Temel IPv6 başlığına ek olarak, kendince özel amaçlara yönelik
yönlendirme, paket bölmesi, şifreleme ve mobil uzantı başlıkları tanımlanmış. Zaman
içerisinde ihtiyaç oldukça bunlara yenilerinin eklenmesi de mümkün kılınmış.
Yönlendirme alanında temel prensiplerde bir değişiklik olmamakla birlikte varolan
RIP, OSPF, IS-IS, MP-BGP, PIM-SM, PIM-SSM gibi protokoller IPv6 adreslerini
işleyebilecek şekilde güncellenmiş. Çoklu gönderim için kullanılan IGMP'nin yerini yeni
geliştirilen MLD almış.
6
Alan adlarının kaydından sorumlu DNS, artık IPv4 adreslerin yanı sıra IPv6
adreslerini de barındıracak şekilde düzenlenmiş. IPv4 adresleri A tipi kayıtlarda saklanırken,
AAAA tipi kayıtlar IPv6 adreslerine tahsis edilmiş. IPv6'yı destekleyen bir DNS sunucusu
üzerinde bir alan adı aynı zamanda hem IPv4 hem de IPv6 adreslerine atanabilir.
IPv4'ün gezicilik protokolü Mobil IPv4'e karşılık olarak Mobil IPv6 geliştirilmiştir.
Aralarında uygulamada öne çıkan farklılıklar olmasına rağmen bu iki protokol ana hatlarıyla
birbirlerine benzerler (Yeğin, 2006).
3.1- IPv6 Nedir?
IPv6, IP olarak da bilinen IPv4'ün yerini alan yeni bir üçüncü katman protokolüdür.
IPv4'ün tasarlanmasından (Postel, 1980) bu yana geçen bunca yıldan sonra daha fazla adrese
ve daha gelişmiş yeteneklere ihtiyaç duyulmaktadır. IPv6’yı tanımlayan son IETF çalışması
(Deering ve diğ., 1998) belgesidir. IPv6'nın başlıca değişiklikleri, başlığın yeniden
tasarlanmış olması ve adres büyüklüğünün 32 bitten 128 bite yükseltilmesidir. Üçüncü
katman adres tabanlı paket yönlendirmesini kullanarak uçtan-uca paket ulaştırılmasından
sorumludur. Bu yüzden IPv4’te olduğu gibi IPv6’da da kaynağın ve hedefin adresini
içermelidir. IPv6 araştırmamızda bu protokolün özelliklerini ve kullanımını anlatmak için
(Bieringer, 2006) belgesinden de faydalanılmıştır.
IPv4
paketi
IPv6
paketi
Şekil 3-1: IPv4 ve IPv6 paket yapıları (ipv6style).
7
IPv6’nın faydaları:
• Daha fazla adres uzayı
• Yenilik ihtiyacı: Artık NAT’larla idarenin zorlaşması. Ağdaki her düğümün server
gibi davranması gerekliliği doğdu. Örneğin, VoIP’de IP’li düğümler birbirlerine
doğrudan bağlanma ihtiyacındadırlar.
• Durumsuz otomatik yapılandırma (stateless autoconfiguration): Bir hostun ağa bağlı
yeniden başlamasıyla yine yeniden aynı adresi elde etmesi mekanizması. Bu durumda
host 128 bitlik v6 adresin son 64 bitini kendi MAC’ının bir kombinasyonu gibi üretir,
bu aynıdır zaten; ilk 64 bitini ise ağdaki aktif IP dağıtıcısından alır.
• Yeniden numaralandırma: Bir grup hostun IP adresinin değiştirilmesi inanılmaz
kolaylaşmıştır. Bunun için yönlendiricilerin eski öneki yayması durdurulur, yeni önek
yayması (advertise) başlatılır.
• IPv6’da yeni olan akış etiketi (flow label) alanı aynı akışa (stream) veya oturuma ait
olan paketlerin ortak bir akış etiketi değerini paylaşmasıyla her paketin derinlemesine
irdelenmeden tanınmasının kolaylaşmasını sağlar. Akışın veya oturumun tanınması
servis kalitesi mekanizmaları için yararlıdır.
• Verimlilik: IPv6 adres işleme IPv4 adres işlemeden birçok konuda daha verimlidir.
IPv6 adres boyutu (128 bit) IPv4’ün (32 bit) 4 katı olmasına karşın IPv6 başlık bilgisi
(40 byte) IPv4 başlık bilgisinin (20 byte) sadece 2 katıdır. IPv6’daki verimlilik
gelişmeleri özetle:
o IPv6 başlık bilgisi sabit bir uzunluğa sahiptir.
o IPv6 başlık bilgisi bir seferde 64 bit işlenecek şekilde iyileştirilmiştir (IPv4’te
bir seferde 32 bit işlenmektedir).
o Her bir paketin bir yönlendiriciyi geçtiği her anda yapılan IPv4 başlık bilgisi
hata kontrolü (checksum) IPv6’da kaldırılmıştır.
o Artık yönlendiriciler büyük boyutlu paketleri küçük parçalara ayırmak
(fragment) zorunda kalmayacaklar, basitçe, kaynakları daha küçük paketler
göndermeleri konusunda uyaracaklar.
o Keşif fonksiyonları için olan tüm yayınlar (broadcast) çoklu-yayınlarla
(multicast) değiştirilmiştir. Sadece aktif olarak dinleyen (listen) hostlar
multicast için rahatsız edilir, kesilir, broadcast’te olduğu gibi tüm hostlara
bulaşılmaz (Beijnum, 2006).
IPv6 her ne kadar yapısında güvenlik konusunda bir çok yenilik getirse de Ulakbim
bünyesinde yapılan IPv6’ya geçiş çalışmalarında görüldüğü kadarıyla IPv6’ya geçiş
aşamasında güvenliğin sağlanması konusu pratikte IPv6 kodlarının çoğunun deneysel olması,
güvenlik duvarlarının protokolün tüm özelliklerini desteklememeleri gibi sorunlar nedeniyle
teoride olduğu kadar iyi çalışmamakta ve ekstra güvenlik riskleri doğurabilmektedir. DOSDDOS saldırıları açısından IPv4 ve IPv6’yı karşılaştırırken bu tip saldırıların yapılmasında
temel teşkil eden smurf ve spoof saldırılarına yeni versiyon IP’deki durumları açısından
bakılması gerekmektedir. Her ne kadar (Ferguson ve diğ., 2000)’de spoof saldırılarından
korunmak için önerilen ingress filtreleme tekniği IPv4’de mümkünse de, IPv6 adres yapısının
çok kolay şekilde özetlenebilmesi filtrelemeleri çok daha kolay hale getirecek, örneğin
UlakNet’in tüm IP’lerini temsil için 3 tane /16 adres yazmak yerine bir tane /32 adres yazmak
yeterli olacaktır. Smurf saldırıları açısından bakılırsa (Conta ve diğ., 1998)’e göre ICMPv6’ya
cevap mesajlarının hedef adresi IPv6 multicast, veri-bağı seviyesi multicast ve broadcast
adresi olamayacağı için smurf saldırılarının IPv6 dünyasında karşılıkları olmadığını
söyleyebiliriz. Pratikte DOS-DDOS saldırılarını önlemede IPv6‘ya geçmenin en büyük
avantajı, yeni kurbanlarını genelde mevcut adres aralığını tarayarak arayan saldırganların,
yeni bilgisayar IP’lerini bulmakta karşılaşacakları zorluklardır. IPv6’da pratikte kullanılan en
8
küçük subnet /64 olduğu için bu subnette saldırılan bir bilgisayardan diğer bilgisayarları
bulmak için 264 olasılık olduğu anlamına geliyor ki bu saniyede 1.000.000 host tarasanız bile
subnetteki tüm bilgisayarları bulmanızın 28.000 yıl alacağı anlamına geliyor. IPv4‘de bu sayı
genelde subnetler /24 olduğu için 28 yani 256 idi. Bu durumda saldırganların yeni yöntemler
geliştirmeleri gerekecektir (Karaarslan, 2006).
3.2- Adres Türleri
IPv4'te olduğu gibi IPv6 adresleri de alt ağ maskeleri kullanarak ağlara ayrılabilir. Bir
arabirime farklı amaçlar için (alias, multicast) birden çok IP adresinin verilebilmesinin
gerekliliği IPv4 tecrübesinden anlaşılmıştır. Gelecekte de genişletilebilir kalmak için IPv6
daha ileri giderek bir arabirime birden çok IPv6 adresinin verilmesine olanak sağlamaktadır.
Adres sayısının RFC ile tanımlanmış bir sınırlaması olmasa da (DoS-Damage of Service
ataklarını önlemek için) IPv6 uygulamalarının getirdiği bir sınırı vardır. IPv6, çok fazla bit
kullanmanın avantajıyla adres tiplerini bazı özel bitleri kullanarak tanımlar. Adres türleri
IPv4'ün A, B ve C sınıfı adreslerine benzememektedir. Ayrıca, otomatik yapılandırmayı
kolaylaştırmak için adresler 64 bit'lik ağ bölümü ve 64 bit'lik istemci bölümü olarak
ayrılmıştır.
3.2.1- Özel bir öneki olmayan adresler
• Localhost adresi
IPv4'te 127.0.0.1 olan geridönüş arabiriminin adresi IPv6'da şöyledir:
0000:0000:0000:0000:0000:0000:0000:0001
ya da kısaca:
::1
Kaynağı ya da hedefi bu adres olan paketler göndericiyi terk edemezler.
• Belirsiz adres
IPv4'ün "any" ya da "0.0.0.0" adreslerine karşılık gelen özel IPv6 adresi şöyledir:
0000:0000:0000:0000:0000:0000:0000:0000
ya da:
::
Bu adresler çoğunlukla soket bağlamada ya da yönlendirme tablolarında kullanılırlar.
Not:Belirsiz adresler hedef adresi olarak kullanılamazlar.
• Gömülü olarak IPv4 içeren IPv6 adresleri
IPv4 adreslerini içeren iki tür adres vardır.
IPv4 haritalı IPv6 adresleri
IPv6 uyumlu IPv4 adresleri bazen IPv6 tarafından etkinleştirilmiş artalan süreçleri tarafından
sadece IPv4 adreslerini bağlamakta kullanılır.
Bu adresler 96 karakter uzunluğunda özel bir önek ile tanımlanırlar (a.b.c.d IPv4 adresidir):
0:0:0:0:0:ffff:a.b.c.d/96
ya da kısaca:
::ffff:a.b.c.d/96
Örneğin 1.2.3.4 IPv4 adresi şu hali alır:
::ffff:1.2.3.4
9
IPv4 uyumlu IPv6 adresleri
Otomatik tünelleme için kullanılmaktadır (Gilligan ve diğ., 2000), bu 6to4 tünellemenin
yerini almıştır.
0:0:0:0:0:0:a.b.c.d/96
ya da kısaca:
::a.b.c.d/96
3.2.2- Adresin ağ kısmı; önek (prefix) diye de bilinir
Tasarımcılar bazı adres türlerini tanımlayıp geri kalan büyük alanı gelecekte
öngöremedikleri ihtiyaçlarda kullanılması için boş bırakmışlardır. (Hinden, 2006) güncel
adresleme şemasını tanımlamaktadır. Başlıca farklı önekler ve dolayısıyla farklı adres türleri:
• Link-local adres türü
Bu adresler sadece bir arabirim bağlantısı üzerinde geçerli olacak özel adreslerdir.
Eğer hedef adresi olarak kullanılırsa paketler yönlendiriciyi asla geçemezler. Sadece aşağıdaki
gibi link iletişimleri için kullanılır:
•Bu bağlantıda başka biri var mı?
•Burada özel adrese sahip birisi var mı? (yönlendiriciyi aramak için)
Bu adresler aşağıdaki gibi başlarlar (burada “x” herhangi bir onaltılık rakamdır, genellikle “0”
kullanılır).
fe8x:
fe9x:
feax:
febx:
<== şu anda sadece bu kullanımda
Bu öneke sahip bir adres IPv6 ile yapılandırılmış her arabirimde bulunur.
Site-local adres türü
Bu adresler bugün IPv4 ile kullandığımız (Rekhter ve diğ., 1996) belgesinde belirtilen
adreslere benzerler. Bir avantajı, bu adres türünü kullananların adresin 16 bit'lik kısmını, en
fazla, 65536 alt ağ için kullanabilmeleridir. Bu IPv4'ün 10.0.0.0/8 adresleri ile
karşılaştırılabilir bir büyüklüktür. Bir diğer avantajı ise: IPv6 kullanılarak bir arabirime birden
çok adres atanabildiğinden bir arabirime onun global adresinin yanı sıra site-local adresinin
verilebilmesidir.
Bu adresler aşağıdaki gibi başlarlar:
•
fecx:
fedx:
feex:
fefx:
<== en yaygın kullanılan
(burada “x” herhangi bir onaltılık rakamdır, genellikle “0” kullanılır).
Bazı sorunları olduğundan bu tür adreslere karşı çıkışların sürdüğü dikkate alınmalıdır.
Hatta (Huitema ve diğ., 2004) belgesinde site local adres kullanım sıkıntıları belirtilmiştir.
Ancak, laboratuar testleri için bu tür adresler hala uygundur.
Global adres türü "(Aggregatable) global unicast"
Günümüzde tanımlı tek bir global adres türü vardır (ilk tasarım olan "üretici tabanlı"
adres türünden yıllar önce vazgeçilmiştir (Hinden ve diğ., 1995) ).
Bu adresler aşağıdaki gibi başlarlar (burada “x” herhangi bir onaltılık rakamdır).
•
2xxx:
3xxx:
Not: "aggregatable" öneki güncel belgelerden çıkartılmıştır. Aşağıda bazı alt türler
tanımlanmıştır:
10
6bone (omurga6) deneme adresleri
Bu adresler ilk olarak tanımlanan ve kullanılan global adreslerdir. Bu adresleri tümü aşağıdaki
gibi başlar:
3ffe:
Örneğin:
3ffe:ffff:100:f102::1
Bir özel 6bone deneme adresi asla genel kullanımda olmayacak olan
3ffe:ffff:
ile başlayan adrestir. Bir çok örnekte kullanılır, çünkü eğer gerçek bir adres kullanılırsa birisi
kopyala yapıştır yaparken olduğu gibi bırakabilir. Gerçek bir adres vermeyerek onun tekrarlı
kullanımının önüne geçilmektedir. Tekrarlı kullanım asıl host için ciddi sorunlara yol açabilir.
(örneğin; hiç göndermediği paketlerin yanıtını alabilir). IPv6 kullanımda olduğundan bu
önekten artık bahsedilmeyecek. Nitekim 6.6.2006 tarihinde 6bone’un yönlendirmeden
çıkarılacağı belgesi yayınlanmıştır (Fink ve diğ., 2004).
6to4 (6’dan 4’e) adresler
Bu adresler özel bir tünelleme mekanizması için tasarlanmıştır (Carpenter ve diğ., 2001) ve
(Gilligan ve diğ., 2000), verilen bir IPv4 adresini ve mümkün olan alt ağı kodlar ve
2002:
ile başlarlar. Örneğin, 192.168.1.1/5 adresini göstermek için:
2002:c0a8:0101:5::1
Yazılabilir. Verilen bir IPv4 adresinden böyle bir adres üretmek için aşağıdaki kabuk komutu
kullanılabilir:
ipv4="1.2.3.4"; sla="5"; printf "2002:%02x%02x:%02x%02x:%04x::1"
echo $ipv4 | tr "." " "` $sla
Hiyerarşik yönlendirme için üretici tarafından atanmış adresler
Bu adresler İnternet Servis Sağlayıcılara (İSS) tahsis edilmiştir ve
2001:
ile başlarlar. LIRs olarak da bilinen büyük İSS'lere 32 bit’lik önekler verilmiştir. Herhangi bir
İSS müşterisi 48 bit uzunluğunda bir önek alabilir.
Örnekler ve belgelendirme için ayrılmış adresler
Şu an için, iki adres aralığı örnekler ve belgelendirme için ayrılmıştır:
3ffe:ffff::/32
2001:0DB8::/32 EXAMPLENET-WF
Bu adres aralıkları yönlendiricilerde süzülerek mümkünse internete çıkarılmamalıdır.
Çoğa Gönderim (Multicast) adresleri
Çoğa gönderim adresleri ilgili servisler için kullanılır.
Her zaman aşağıdaki gibi başlarlar (“xy” değerleri değişebilir):
•
ffxy:
Etki bölgelerine ve türlerine göre ayrılırlar:
Çoğa Gönderim Bölgeleri
Çoğa gönderim bölgesi bir çoğa gönderim paketinin gidebileceği azami uzaklığı belirleyen bir
parametredir.
Aşağıdaki bölgeler tanımlanmıştır:
o ffx1: düğüm-içi, paketler düğümden ayrılamaz.
o ffx2: link-local, paketler yönlendiriciler tarafından dışarı
yönlendirilmediklerinden asla belirlenen bağlantıdan ayrılamazlar.
11
o ffx5: site-local, paketler alandan ayrılamazlar.
o ffx8: kurum-içi, paketler kurumdan ayrılamazlar (yönlendirme protokolü
tarafından ele alınmalıdır).
o ffxe: global bölge.
o diğerleri başka kullanımlar için tahsis edilmiştir.
Çoğa Gönderim Türleri
(Hinden ve diğ., 1998) belgesinde tanımlanmış pek çok tür vardır. Bazı örnekler:
o Tüm düğümlerin adresi: ID = 1h, yerel düğüm üzerindeki tüm hostların
adresleri (ff01:0:0:0:0:0:0:1) ya da bağlantı üzerindeki tüm hostların adresleri
(ff02:0:0:0:0:0:0:1).
o Tüm yönlendiriciler adresi: ID = 2h, yerel düğüm üzerindeki tüm
yönlendiricilerin adresleri (ff01:0:0:0:0:0:0:2), bağlantı üzerindeki
(ff02:0:0:0:0:0:0:2) veya yerel alan üzerindeki (ff05:0:0:0:0:0:0:2) tüm
yönlendiricilerin adresleri.
İstenilen Düğüm Link-local Çoğa Gönderim Adresleri
IPv6'da, IPv4'te bulunan ARP olmadığından komşuların araştırılmasında hedef adresi olarak
özel çoğa gönderim adresleri kullanılır. Bu adresler aşağıdaki örnekteki gibidir:
ff02::1:ff00:1234
Kullanılan önek bu adresin link-local çoğa gönderim adresi olduğunu göstermektedir. Sonek
ise hedef adresinden oluşturulmuştur. Bu örnekte, bir paket fe80::1234 adresine
gönderilmekte fakat ağ yığıtı (stack) ikinci katman MAC adresini bilmemektedir. İlk 24 bit
aynı bırakılarak son 104 bit ff02:0:0:0:0:1:ff00::/104 ile değiştirilir. Bu adres artık yanıt
gönderebilecek ikinci katman MAC adresini içeren uygun düğümü bulmak için kullanılabilir.
• Anycast adresleri
Anycast adresleri en yakın DNS sunucusu, DHCP sunucusu veya benzer dinamik
grupları bulmak için kullanılan adreslerdir. Bu adresler tekil gönderim (unicast) adres
alanından çıkartılırlar. Anycast mekanizması (istemci tarafında) dinamik yönlendirme
protokolleri ile idare edilir.
Not:Anycast adresleri kaynak adresi olarak kullanılamazlar, sadece hedef adresi olabilirler.
Alt ağ-yönlendirici anycast adresi
Anycast adresine en basit örnek alt ağ-yönlendirici anycast adresidir. Bir düğümün aşağıdaki
global IPv6 adresine sahip olduğunu kabul edelim:
3ffe:ffff:100:f101:210:a4ff:fee3:9566/64 <==Düğüm adresi
Alt ağ-yönlendirici anycast adresi en azından sondan 64 bitlik bölümün tamamiyle boş
bırakılmasıyla elde edilir:
3ffe:ffff:100:f101::/64
<==alt ağ-yönlendirici anycast adresi
3.2.3- Adres Türleri (host kısmı)
Otomatik yapılandırma ve gezicilik (mobility) sağlayabilmek için adres türlerinin
çoğunda adresin son 64 bitlik kısmının host adresi olarak ayrılmasına karar verilmiştir. Bu
nedenle her bir alt ağ çok fazla miktarda adrese sahip olabilmektedir.
Host adresleri ayrıca irdelenebilir:
12
Otomatik hesaplananlar (durumsuz olarak da bilinir)
Otomatik yapılandırma ile adresin host kısmı, arabirimin MAC adresinin (eğer varsa)
EUI-64 yöntemiyle bir IPv6 adresine dönüştürülmesi ile elde edilir. Eğer bu aygıt için bir
MAC adresi mevcut değilse (örneğin bir sanal aygıtsa) IPv4 adresi veya fiziksel arabirimin
MAC adresi gibi başka bir değer kullanılır.
Tekrar ilk örneği ele alalım:
•
3ffe:ffff:100:f101:210:a4ff:fee3:9566
burada,
210:a4ff:fee3:9566
parçası host kısmıdır ve ağ arabirim kartının MAC adresinden,
00:10:A4:E3:95:66
hesaplanmıştır.
Otomatik hesaplanan adresler ile ilgili gizlilik sorunu ve bir çözüm
Adresin "otomatik hesaplanan" bölümü global olarak benzersiz olduğundan (NIC üreticisinin
aynı MAC adresini birden çok kullanması durumu hariç) eğer hostta bir çeşit vekil sunucu
kullanılmıyor ise istemcinin izini sürmek mümkündür.
(Narten ve diğ., 2001) belgesinde bu durum için belirli zamanlarda biri rastgele biri de statik
değer kullanılarak yeni bir sonek oluşturulması önerilmektedir.
• Elle atanan adresler
Sunucular için basit adresler daha kolay hatırlanabildiklerinden bunu da ayarlamak
mümkündür. Bir arabirime ilave bir IPv6 adresi atamak mümkündür, örneğin:
3ffe:ffff:100:f101::1
Yukarıdaki gibi elle atanan ::1 gibi sonekler için yedinci önemli bit'in 0 olarak atanması
gerekir. Bu işlem için ayrılan başka bit kombinasyonları da vardır.
3.2.4- Yönlendirme için önek uzunlukları
Geliştirmenin ilk aşamalarında yönlendirme tablolarının büyüklüğünü en aza indirmek
için bütünüyle hiyerarşik bir yönlendirme yaklaşımı kullanılması planlandı. Bu yaklaşımın
ardındaki nedenler; merkezi yönlendiricilerdeki IPv4 yönlendirme girdilerinin sayısının çok
fazla olması (Mayıs 2001'de 104 binden fazla) ve donanım yönlendiricilerinin hafıza
gereksinimlerinin azaltılarak hızlarının arttırılmasıdır.
Bugün ise yönlendirmenin sadece bir servis sağlayıcısı olan ağlar için hiyerarşik
olarak tasarlandığı görülmektedir. Birden çok ISP bağlantısı olanlar için bu mümkün değildir.
Bu konu çoklu-hedef arama (multi-homing) olarak bilinmektedir.
Önek uzunlukları (ağ maskeleri olarak da bilinir)
IPv4'te olduğu gibi yönlendirme için yönledirilebilir ağ yolu kullanılır. 128 bit için
standart ağ maskesi gösterimi tuhaf durduğundan tasarımcılar CIDR (Fuller ve diğ., 1993)
isimli IP adresinin kaç bit'inin yönlendirme için kullanıldığını belirleyen gösterimi
geliştirdiler. Bu gösterim "bölü çizgisi" gösterimi olarak da bilinmektedir. Örnek:
•
3ffe:ffff:100:1:2:3:4:5/48
Bu gösterim genişletilebilir:
o Ağ: 3ffe:ffff:0100:0000:0000:0000:0000:0000
o Ağ maskesi: ffff:ffff:ffff:0000:0000:0000:0000:0000
Rotayı takip etmek
Normal şartlar altında (QoS yok ise) yönlendirme tablosunun kontrolü ile
yönlendirmedeki en önemli adres bitleri görülür.
•
13
Örneğin bir yönledirme tablosu aşağıdaki girdileri içeriyor ise:
3ffe:ffff:100::/48
2000::/3
::
U 1 0 0 sit1
::192.88.99.1 UG 1 0 0 tun6to4
IPv6 paketleri gösterilen aygıt üzerinden hedef adreslerine yönlendirilmişlerdir.
3ffe:ffff:100:1:2:3:4:5/48
3ffe:ffff:200:1:2:3:4:5/48
->
->
sit1 aygıtı üzerinden
tun6to4 aygıtı üzerinden
3.3- IPv6 Hakkında Bilinmesi Gereken Kritik Noktalar
•
•
•
•
•
IPv6 hakkında yanlış, eksik bilgilerden kaynaklanan kimi söylentiler bulunmaktadır.
Güvenlik: IPv6’da IPsec desteğinin “zorunlu” olması IPv6’yı daha güvenli kılmaz.
Çünkü birçok IPv4 uygulamasında da IPsec desteği bulunmaktadır (IPsec, IP
seviyesinde yetkilendirme ve şifreleme sağlar. Belli bir rota (route) boyunca veri
bozulmaması, değiştirilmemesi, bütünlüğü sağlanır.). IPv6’nın IPsec’i desteklemesi
IPv6 uygulamalarının varsayılan olarak korumalı olduğu anlamını taşımıyor. IPsec
çokça yapılandırma gayreti gerektirmektedir. IPv4 üzerinde IPsec’i çalıştırmak NAT
dolayısıyla çok zorlaşmaktadır. IPsec tüm paketin korunmasını isterken NAT’ın paket
modifikasyonu işleri güçleştirir. Ayrıca iki uç makine arasındaki iletişimde NAT
arkasındaki makinelerde IP tanıma sıkıntısı baş gösterir (sanal IP’ler sıkıntı yaratır.).
IPv4’te bu durumlar için çözümler önerilmektedir; ancak IPsec’in IPv6’da
çalıştırılması daha kolaydır.
Gezicilik (Mobility): Sadece IPv6‘da gezicilik yoktur (Mobility: Bir hostun farklı
yerlerden, farklı zamanlarda, her seferinde farklı IP alabilerek; ancak tüm bu iletişim
oturumlarının “gerçek ev adresine” mal edilmesi ile ağa bağlanabilmesidir.).
Mükemmel olmamakla birlikte bazı IPv4 gezicilik destekleri de mevcuttur.
Servis Kalitesi (Quality of Service, QoS): Şu an için IPv6’da QoS servisi, ağ trafiğinde
önceliklendirme yapılabiliyor diye daha kaliteli sanılıyor. Halbuki bu önceliklendirme
mekanizması IPv4’te de mevcuttur (type of service alanında öncelik bilgisi olarak).
Ancak, bununla birlikte IPv6’da v4’te olmayan “flow label” alanı vardır (farklı
iletişim oturumlarını tanımak için kullanılır). QoS’ta IPv6, flow label’ın iyi
kullanılabilmesi ile v4’e nazaran avantajlara sahip olabilmektedir.
Yönlendirme: IPv6’da yönlendirme, IPv4’tekinden gelişmiş değildir (Aksine adres
atamalarında hata yapma olasılığı daha yüksektir.).
Eğer mevcut donanım IPv6 destekler hale getirilemiyorsa ve yeni donanım alınması
gerekiyorsa geçiş o zaman masraflı olabilir. Ancak bu alımları genelde büyük ISP’ler
yapacaklardır (Beijnum,2006).
14
4. IPv4 AĞLARININ IPv6 AĞLARINA
ENTEGRASYONU İÇİN YÖNTEM VE TEKNİKLER
Buraya kadar IPv6’nın teknik detaylarından bahsettik. Artık IPv6 bağlanabilirliği ve
uygun geçiş mekanizmalarına karar vermemiz gerekiyor.
Geçiş mekanizmaları mevcut v4 altyapılı sistemlerin v6’ya nasıl entegre edileceğine
dair yöntemleri kapsar. Ancak aslında buradaki geçişten kasıt ham v6 ağları
konuşabilirliğinden ziyade iki sistemin ortak işlerliğinin (co-operating) sağlanabilmesi için
tekniklerdir. Çünkü uzunca bir süre v4 yapısının yaşamını sürdüreceği kesindir. Belli başlı
geçiş mekanizmalarını (Murphy ve ark., Mart 2005) inceleyelim:
4.1 İkili Yığın (Dual Stack)
İkili yığın mekanizması yaygın mekanizmalardan biridir. Adından anlaşılacağı üzere
bir hostta hem IPv4 hem IPv6 desteklerinin tam olarak sağlanmasını gerektirir. Bu durumda
hostun herhangi anda bağlantı için v4 mü yoksa v6 mı kullanacağına karar vermesi gerekir.
Bu karar IPv6 bağlantısının varlığına ve DNS kayıtlarına göre alınır. IPv4 ve IPv6 protokol
yığını yapıları çoğunlukla birbirinden tamamen bağımsızdır; mantıksal arayüzler ayrı ayrı
numaralandırılabilir, ayrı ayrı başlatılıp durdurulabilir, sanki host iki ayrı makineymiş gibi
davrandırılabilir.
İkili yığın yöntemiyle alakalı birincil sorun, her hosta verilebilecek sayıda yeterli v4
adresinin bulunmayabileceği kısıtıdır. Bu durum için DSTM (Dual Stack Transition
Mechanism) geliştirilmiştir. DSTM, küçük IPv4 havuzundaki IPv4 adreslerinin hostlara
ihtiyaç halinde geçici atanması mekanizmasıdır. Bu sayede çok sayıda ikili yığınlı şekilde
yapılandırılmış host az sayıdaki v4 IP’lerini paylaşabilmektedir.
İkili yığınlı hostların temel özelliği v4 ve v6 paketlerini alabilmeleri ve
gönderebilmeleridir.
4.2 Yapılandırılmış Tünelleme
Bu, birçok yönden geçiş mekanizmalarının en basiti olarak düşünülebilir. Ancak
adreslerin elle yapılandırılması diğer mekanizmalara oranla kolay onarılabilirliği azaltır.
Tünellemenin arkasında yatan prensip, IPv6 paketlerinin IPv4 paketleriyle kapsüllenmesi,
kaplanmasıdır. Bu ilk etapta garip bir fikir gibi gelse de aslında çok güçlü bir tekniktir.
Bu teknik Ethernet başlık bilgilerinin IP paketlerini sarmalamasıyla açıklanabilir.
Statik tünelleme ile kastedilen iyi bilinen, haber verilmeksizin değişmeyecek olan ayrık IPv6
adacıklarının bağlanabilirliğinin sağlanmasıdır. Örneğin bir şirketin şubelerinde iç ağ v6
yapılandırmasında ancak şubeler arası bağlantı v4 temelli olsun. Bu durumda şirket
şubelerindeki v6 paketlerin belirli v6 adres hedeflerine v4 başlık bilgileriyle kılıflanarak
yollanması statik olarak yapılandırılmış v4 ağ geçitlerinden geçebilmeyi mümkün
kılmaktadır. Bu durumda paketler IPv4 yönlendirme sistemi altyapısını kullanmış oluyorlar.
Ancak paketlerin ulaştığı uç noktalarda statik yapılandırma gereği kapsülleme açılıyor ve
açılan paket IPv6 yönlendirme sistemi vasıtasıyla ağda gitmesi gereken doğru yere
yönlendiriliyor.
Yapılandırılmış tünelleme hizmetlerini ISP’ler veya tünel komisyoncuları günümüzde
sağlamaktadırlar.
15
4.3
Otomatik Tünelleme:
(Gilligan ve ark., 2000) IPv4 içinde IPv6 tünellemesi için kullanılan kapsüllemeyi
tanımlamaktadır. Otomatik tünelleme de burada tarif edilmiştir. Bu durumda, IPv4 uyumlu
adresler için ::/96 öneki ayarlanmaktadır, böylece IPv6 adresinin en sağdaki 32 bit’lik
kısmının bir IPv4 adresi olacağı düşünülmüştür. Bu yapıdaki v6 adreslerine adreslenen v6
paketleri o adresteki gömülü v4 adresine adreslenmiş şekilde bir v4 paketine otomatik olarak
kapsüllenir ve tünellenir. Bunun anlamı hem IPv4 hem IPv6 konuşabilen iki hostun herhangisi
IPv6 Internet’ine bağlı olmasa bile IPv6 konuşabileceğidir. Otomatik tünellemede bazı
güvenlik çekinceleri vardır. Örneğin v4 uyumlu bir adrese cevap veren bir host ağda olması
umulmayan v4 paketleri üretebilir. Sonuç olarak, uyumlu adresler genelde arayüzlere
atanmazlar; ancak v6’nın tünellenmesi gerektiğini gösterme yöntemi olarak kullanılırlar.
Genel anlamda otomatik tünelleme önemli bir kavramdır; ancak geçiş
mekanizmalarının kullanışlılığı bakımından 6to4 daha kritik öneme haizdir.
4.4 6to4 Tünelleme:
6to4, organizasyonların aşağıdakileri yapmaksızın IPv6’yı kullanabilmelerine olanak
sağlar:
1) Dünya network’üne çıkışını sağlayacak ISP’nin (ISP’lerin) IPv6 desteği,
2) IPv6 adres alanı için başvuru,
3) Diğer bir IPv6 kullanıcısı ile arada bir “tünel” oluşturma ve düzenleme.
6to4 kullanıcısının ihtiyaç duyacağı tek şey 41. protokol üzerinden erişilebilecek
global IPv4 adresidir. Burada 41 port numarası değil, kapsüllenmiş IPv6 için protokol
numarasıdır.
Örneğin 6to4 kullanacak bir makine 192.0.2.4 adresine sahip olsun. Bu durumda
tanımsal olarak 2002::/16 önekini alan sistem 2002:c000:0204::/48 adresini kullanabilecektir.
Genellikle makine v4 adresine göre 6to4 adres aralığından bir adres alarak kendi “6to4” sahte
arayüzünü yapılandırmaktadır. Organizasyondaki diğer makineler de 6to4 adres aralığından
kendi adreslerini alıarlar ve dışarıya giden paketler de hosta 6to4 sahte arayüzüyle
yönlendirilmelidir.
2002:c000:0204::/48 aralığındaki adrese IPv6 Internet’inden gelen paketler en yakın
6to4 nakil yönlendiriciye (relay router) yönlendirilecektir. Nakil yönlendiriciler, yerel ya da
global yönlendirici tablolarına 2002::/16’ya giden rotaları yayan yönlendiricilerdir. Ve bu
yönlendiriciler hem IPv4 hem IPv6 Internet’ine bağlıdırlar. Yönlendirici 6to4 adrese bakar,
gömülü IPv4 adresini çözümler ve örneğimizdeki gibi 192.0.2.4 adresine gönderilmek istenen
v6 paketini v4 paketiyle kapsülleyerek gönderir. 192.0.2.4 adresine ulaşan paket kapsülden
arındırılarak normal IPv6 paketlerinin işlendiği gibi işleme sürecine tabi tutulur.
Internet’ten gelen paketlerin işlemlerini özetle anlattık. Bizim 6to4 ağımızdan
paketlerin v6 Internet’ine gönderilmesi için ise ters yönde bir nakil yönlendiriciye ihtiyacımız
var. Bu iş için bir IPv4 anycast adres olan 192.88.99.1 atanmıştır. Dolayısıyla 192.0.2.4
makinesinde varsayılan v6 rotası 2002:c058:6301 adresini gösterecek şekilde ayarlanmalıdır.
Bunun anlamı IPv6 Internet’ine çıkmak isteyen paketlerin kapsüllenerek 192.88.99.1’e
gönderileceği ve bu anycast adres vasıtasıyla en yakın 6to4 nakil yönlendiriciye v4
yönlendirme sistemi sayesinde yönlendirileceğidir. IPv4 ve IPv6 Internet’ine bağlı olan nakil
yönlendirici de paketi v6 Internet’ine ileterek yolunu bulmasına yardımcı olur.
16
4.5 Teredo:
NAT arkasında çalışan birçok hostun v6’ya entegrasyonu için geliştirilmeye çalışılan
bir geçiş mekanizmasıdır. Yapılandırılmış tüneller ve 6to4 IPv4’ün 41. protokolünü kullanır.
Bu, TCP veya UDP protokolünden farklı bir protokoldür. Dolayısıyla NAT sitemindeki
hostlar için bu tünellerin kullanılmasında sorunlar yaşanabilmektedir. Teredo, UDP üzerinden
IPv6 tünelleyerek trafiğin çoğunun NAT aygıtları üzerinden de akabilmesini sağlar.
Teredo’nun uygulanışı yine 6to4’a benzer şekilde Teredo sunucularıyla ve nakil
yönlendiricileriyle planlanmaktadır. Şu an deneysel aşamadadır.
4.6 DJB AutoIPv6:
Sadece IPv4 destekli hostlar sadece IPv6 destekli hostlarla (veya tam tersi) doğrudan
iletişime geçemezler. Hatta global olarak erişilebilen IPv4’lü makinenin IPv6 desteği açık
dahi olsa, geçiş mekanizmalarından biri yapılandırılmadıkça veya bu mekanizmalar harici
doğal bir bağlantı sağlanmadıkça makine sadece IPv6’lı hostlarla iletişim kuramaz.
Bu sorunu çözmek için Dan Bernstein de 6to4 ve Teredo’nun sunduğu çözümleri
sunuculara da yaygınlaştırmak istedi. Düşüncesi, IPv6 destekli her bir IPv4 sunucusunun
bilinen bir 6to4 adresini otomatik olarak yapılandırması; örneğin W.X.Y.Z v4 adresi için
2002:WWXX:YYZZ::c0de adresini vermesi üzerineydi. Bu durumda sunucudan talepte
bulunacak sadece IPv6 destekli makine için buna karşılık gelen bilinen 6to4 adresi üretilecek
ve bu şekilde bağlantı kurulacaktı. Bu yöntemin henüz uygulaması bulunmamaktadır.
4.7 6over4:
IPv6’nın Ethernet üzerinde çalışması, IPv6’nın token ring üzerinde çalışması gibi
6over4 de IPv6’nın veri bağı katmanı olarak IPv4 üzerinde çalışması anlamını ifade
etmektedir. Tünellerden ve 6to4’dan farklıdır, çünkü komşuların keşfine (neighbor discovery)
tamamen izin vermei hedeflemektedir. IPv4 multicast kullanılmaktadır.
Yaygın olmamakla birlikte diğer geçiş mekanizmalarından biri ISATAP’tır. Sadece
IPv4 ayarlı hostların sadece IPv6 ayarlı hostlarla iletişim kurabilmesine yardımcı olmak
amacıyla NAT-PT, TRT (Transport Relay Translation) ve vekil sunucular gibi geçiş
mekanizmaları da mevcuttur.
IPv6 yıllardır geliştirme aşamasındayken, daha sadece birkaç yıldır internetin
altyapısını oluşturan araç gereçler tarafından destek gördü. Şu anda IPv6 paket yönlendirmesi
iki şekilde yapılmaktadır. Birincisi ve en yaygın olanı “yazılım-temelli yönlendirme”’dir.
Yazılım temelli yönlendirmede, ağ mühendisi veya yöneticisi varolan ve sadece IPv4’ü
tanıyan yönlendiriciler için IPv6’yı tanıyan, paketlerini yönetebilecek yeni bir işletim sistemi
edinir ve kurar. Yönlendiriciye gelen IPv6 paketleri donanım tarafından yönetilmez, işletim
sistemi tarafından yönetilir ve işletilir.
İkinci yöntem “donanım-temelli yönlendirme”’dir. Bu yöntemde, IPv6 komutlarını
yöneten komutlar PC üzerindeki CMOS gibi, yönlendiriciler üzerindeki yongalara gömülü
vaziyettedir. Günümüzde, neredeyse bütün yönlendiriciler IPv4 paketleri için donanım temelli
yönlendirme kullanıyorlar. Donanım temelli yönlendirme daha verimli ve genelde daha
sorunsuzdur.
İki yöntem arasındaki en büyük fark performanstır. Yazılım temelli yönlendirmede her
bir IPv6 paketi işletim sistemi tarafından yönetilmek zorunda ve ilave zaman
gerektirmektedir. Bu zaman bir paket için küçük olabilir; ama bir üretim ağında çok fark
oluşturabilmektedir. Üretim ağı yönlendiricileri günde milyonlarca paket yönettiğinden
yazılım temelli yönlendirme pratik amaçlar için verimsiz olmaktadır. Maalesef, bugünün
17
yönlendiricilerinin
yapılamamaktadır..
çoğu
donanımında
IPv6’yı
yönetebilmesi
için
güncelleme
İlave olarak, IPv6 yönlendirmenin verimliliğini ve performansını etkileyen başka
faktörler de vardır. Daha önce değinildiği gibi, IPv6 destekli yönlendiriciler paketleri
tünelleme hizmetinin sağlandığı IPv4 altyapısı üzerinden gönderip alabilirler. Bununla
beraber, kapsülleme ve kapsülü açma her bir paketin yönetim zamanını arttırmaktadır. Ve
paketin IPv4 paketi ile kapsüllenmesiyle, IPv6’nın bir çok faydası kaybolmaktadır.
IPv6 paketinin yönlendirilmesini sağlayan protokoller bugünkü IPv4’ünkine çok
benzemektedir. RIP ve OSPF gibi yönlendirme protokolleri mevcuttur. IPv6 için bu
yönlendirme protokolleri RIPv2’den RIPng’ye, OSPFv2’den OSPFv3’e, BGP4’ten
BGP4+’ya geliştirilmiştir. EIGRP gibi diğer bazı protokoller IPv6’ya destek vermesi için
gelecekte geliştirilebilir.
Tabii ki, geçiş işleminin en önemli yönlerinden biri de her yöntemde sonuç IPv6
paketinin aynı biçimde ele alınıp işlenmesidir. IETF ve IPv6 çalışma grupları IPv6’nın
standartlaşması için büyük çaba harcamışlardır. Bununla birlikte, IPv6’nın tüm özelliklerini
bütün üreticiler aynı anda destekleyemediler. Bugünün IPv6 destekli yönlendirici
üreticilerinin çoğu IPv6’yı bazı seviyelerde destekliyor. Ama daha gelişmiş özelliklerin ve
yönlendirme protokollerinin tümünü desteklemeye ihtiyaç duymuyorlar. IPv6 gelişip
olgunlaştıkça üreticilerin birbirleriyle uyumlulukları artacaktır (Loshin, 2003).
18
5. İŞLETİM SİSTEMLERİNİN IPv6 DESTEKLERİNİN
AÇILMASI
5.1- Windows'ta IPv6 Desteğinin Açılması
Microsoft Windows XP (SP1, SP2) ve Windows 2003 Server işletim sitemleri IPv6
iletişimine destek vermektedir (Microsoft). Bu desteğin aktifleştirilmesi için yapılması
gereken birkaç adım mevcuttur.
İlk önce Yerel Ağ Bağlantısı özellikleri açılmalı ve buradan Yükle seçeneği
seçilmelidir (Şekil 5.1).
Şekil 5.1 Yerel Ağ Bağlantısı özellikleri penceresinde Yükle seçeneğini seçiyoruz.
IPv6, bir iletişim kuralı (protokol) türü olduğundan İletişim Kuralı sekmesi seçili iken
yeni protokolü eklemek için Ekle’yi seçiyoruz (Şekil 5.2).
19
Şekil 5.2 Ağ bileşeni türü olarak İletişim Kuralını seçip Ekle’ye basıyoruz.
Şekil 5.3 Microsoft TCP/IP sürüm 6’yı seçerek Tamam diyoruz.
Bu işlemleri gerçekleştirince IPv6 desteğini bu işletim sistemi platformunda aktif hale
getirmiş oluyoruz. İşlemlerin doğru bir şekilde gerçekleştiğinden emin olmak için yine Yerel
Ağ Bağlantısı özelliklerinin Genel sekmesinde Microsoft TCP/IP sürüm 6 desteğinin gözüküp
gözükmediğine bakarak kontrol edebilirsiniz (Şekil 5.4).
20
Şekil 5.4 Yerel Ağ Bağlantısı özelliklerinde Microsoft TCP/IP sürüm 6 desteğinin varlığı.
5.2- Linux'ta IPv6 Desteğinin Açılması
5.2.1- Sistemin IPv6 Kullanımına Hazırlanması
Bir Linux istemcide IPv6 kullanmadan önce sistemin IPv6'ya hazır olup olmadığına
bakmanız gerekir. Linux’ta IPv6 desteği konusunda (Bieringer, 2006) ve çeşitli belgelerden
faydalanılmıştır.
5.2.1.1- Çekirdeğin IPv6'ya hazırlanması
Uyarı:IPv6'ya hazır olmayan 2.2.x serisi çekirdekleri kullanmamalısınız.
• Çalışan çekirdeğin IPv6 desteğini kontrol edin
Çalışan çekirdeğinizin IPv6 desteğinin olup olmadığını kontrol etmek için /proc dosya
sistemine bakın. Aşağıdaki girdi mutlaka olmalıdır:
/proc/net/if_inet6
Hızlı bir deneme şöyle yapılabilir:
# test -f /proc/net/if_inet6 && echo "Çalışan çekirdek IPv6 kullanımına
hazır"
Eğer bir hata ile karşılaşırsanız büyük ihtimalle IPv6 modülü yüklenmemiştir.
• IPv6 modülünü yüklemeye çalışın
Aşağıdaki komutu çalıştırarak IPv6 modülünü yüklemeye çalışabilirsiniz:
# modprobe ipv6
21
Eğer işe yararsa modül yüklenir ve aşağıdaki komutun sonucunda görünür:
# lsmod |grep -w 'ipv6' && echo "IPv6 modülü başarıyla yüklendi"
Artık modülün yüklendiğini görmeniz gerekir.
Önemli:Modül desteğini kaldırmak şimdilik desteklenmediğinden, böyle bir durum
çekirdeğin çökmesine sebep olabilir.
Modülün kendiliğinden yüklenmesi
İhtiyaç durumunda modülün kendiliğinden yüklenmesini sağlamak mümkündür. Bunun için
çekirdek modül yükleyicisinin yapılandırma dosyasına (genellikle /etc/modules.conf ya da
/etc/conf.modules) aşağıdaki satırın eklenmesi yeterli olacaktır:
alias net-pf-10 ipv6
# gerektiğinde IPv6 modülünü yükler
Kendi kendine yüklemenin iptal edilmesi için aynı dosyaya aşağıdaki satırın eklenmesi yeterli
olacaktır
alias net-pf-10 off
# gerektiğinde IPv6 modülünün yüklenmesini önler
Not:2.5 ve sonrası çekirdeklerde modül yükleme mekanizması değiştiğinden yapılandırma
dosyası olarak /etc/modules.conf yerine /etc/modprobe.conf kullanılıyor.
Not:Mümkün olduğunca güncel 2.6.x ve yukarısı çekirdek sürümleri kullanılmalıdır. Çünkü
2.4.x serisinin IPv6 desteği kısmi olarak mevcuttur ve 2.2.x sersinin IPv6 desteği ise güncel
değildir.
5.2.1.2- IPv6'ya hazır ağ yapılandırma araçları
Eğer IPv6 desteği olan bir çekirdekle çalışıyorsanız yapılandırma aracı olarak varolan
bir çok paketten birini kullanabilirsiniz.
• net-tools paketi
Net-tool paketi ağ arabirimlerinin IPv6 yapılandırmasına yardımcı olacak ifconfig ve route
gibi araçlar içerir. Eğer ifconfig -? ya da route -? komutlarının çıktılarında IPv6 veya inet6
ifadelerini görüyorsanız bu, araçların IPv6'ya hazır olduğu anlamına gelir.
ifconfig'i kontrol için:
# /sbin/ifconfig -? 2>& 1 | grep -qw 'inet6' && echo "'ifconfig' IPv6'ya
hazır"
route'u kontrol için:
# /sbin/route -? 2>& 1|grep -qw 'inet6' && echo "'route' IPv6'ya hazır"
•
iproute paketi
# /sbin/ip 2>&1 |grep -qw 'inet6' && echo "'ip' IPv6'ya hazır"
5.2.1.3- IPv6'ya hazır deneme/hata ayıklama uygulamaları
Sisteminizi IPv6'ya hazırladıktan sonra onu ağ iletişiminde kullanmak isteyeceksiniz.
Bunun için ilk olarak bir dinleme (sniffer) programı yardımıyla IPv6 paketlerini sorgulamayı
öğrenmelisiniz.
IPv6 ping6
Basitçe ICMPv6 echo-request paketlerini gönderip ICMPv6 echo-reply paketlerini
alarak aktarım denemeleri yapar. Bu komut uygulamalarımızda kullanacağımız başlıca test
komutu olacak.
Kullanımı:
•
ping6 ipv6adreslihostismi
ping6 ipv6adresi
ping6 [-I aygıt] yerel-ipv6adresi
22
Örnek:
# ping6 -c 1 ::1
PING ::1(::1) from ::1 : 56 data bytes
64 bytes from ::1: icmp_seq=0 hops=64 time=292 usec
--- ::1 ping statistics --1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max/mdev = 0.292/0.292/0.292/0.000 ms
-c parametresi ile iletilecek paket sayısı belirlenebilmektedir.
IPv6 ping için arabirimin belirtilmesi
IPv6 ping için link-local adresinin kullanılması durumunda çekirdek hangi fiziksel veya
mantıksal arabirimi kullanarak paketleri göndereceğini bilmediğinden aşağıdaki gibi bir hata
ortaya çıkar:
# ping6 fe80::212:34ff:fe12:3456
connect: Invalid argument
Böyle bir durumda arabirimi aşağıdaki gibi belirtebilirsiniz:
# ping6 -I eth0 -c 1 fe80::2e0:18ff:fe90:9205
PING fe80::212:23ff:fe12:3456(fe80::212:23ff:fe12:3456) from
fe80::212:34ff:fe12:3478 eth0: 56 data bytes
64 bytes from fe80::212:23ff:fe12:3456: icmp_seq=0 hops=64 time=445 usec
--- fe80::2e0:18ff:fe90:9205 ping statistics --1 packets transmitted, 1 packets received, 0% packet loss round-trip
min/avg/max/mdev = 0.445/0.445/0.445/0.000 ms
Çoğa gönderim adreslerinde ping6 kullanımı
Bir bağlantıdaki etkin IPv6 istemcilerini sınamanın bir yolu ağdaki tüm düğümler için ping6
kullanmaktır:
# ping6 -I eth0 ff02::1
PING ff02::1(ff02::1) from fe80:::2ab:cdff:feef:0123 eth0: 56 data bytes
64 bytes from ::1: icmp_seq=1 ttl=64 time=0.104 ms
64 bytes from fe80::212:34ff:fe12:3450: icmp_seq=1 ttl=64 time=0.549 ms
(DUP!)
IPv4'de çoğa gönderim adreslerine ping cevabı gönderilmesi iptal edilebilirken bu işlemi
IPv6'da sadece yerel güvenlik duvarı ile yapmak mümkündür.
IPv6 traceroute6
IPv4'de kullanılan traceroute programına benzer. Belirli bir adrese erişirken üzerinden
geçilen ağ geçitlerini listeler. Aşağıda örnek bir kullanımı bulunmaktadır:
•
# traceroute6 www.6bone.net
traceroute to 6bone.net (3ffe:b00:c18:1::10) from 3ffe:ffff:0000:f101::2,
30 hops max, 16 byte packets
1 localipv6gateway (3ffe:ffff:0000:f101::1) 1.354 ms 1.566 ms 0.407 ms
2 swi6T1-T0.ipv6.switch.ch (3ffe:2000:0:400::1) 90.431 ms 91.956 ms 92.377
ms
3 3ffe:2000:0:1::132 (3ffe:2000:0:1::132) 118.945 ms 107.982 ms 114.557 ms
4 3ffe:c00:8023:2b::2 (3ffe:c00:8023:2b::2) 968.468 ms 993.392 ms 973.441
ms
5 3ffe:2e00:e:c::3 (3ffe:2e00:e:c::3) 507.784 ms 505.549 ms 508.928 ms
6 www.6bone.net (3ffe:b00:c18:1::10) 1265.85 ms * 1304.74 ms
23
IPv6 tracepath6
traceroute6 programına benzer şekilde verilen bir hedefe ulaşmak için gerekli MTU'yu
hesaplayarak yolu izler. Aşağıda kullanımına bir örnek verilmiştir:
•
# tracepath6 www.6bone.net
1?: [LOCALHOST] pmtu 1480
1: 3ffe:401::2c0:33ff:fe02:14 150.705ms
2: 3ffe:b00:c18::5 267.864ms
3: 3ffe:b00:c18::5 asymm 2 266.145ms pmtu 1280
3: 3ffe:3900:5::2 asymm 4 346.632ms
4: 3ffe:28ff:ffff:4::3 asymm 5 365.965ms
5: 3ffe:1cff:0:ee::2 asymm 4 534.704ms
6: 3ffe:3800::1:1 asymm 4 578.126ms !N
Resume: pmtu 1280
IPv6 tcpdump
Linux'ta paket yakalamak için kullanılan en önemli araç tcpdump'tır. Aşağıda
kullanımıyla ilgili örnekler bulacaksınız. IPv6 desteği 3.6 sürümünden itibaren gömülü olarak
gelmektedir.
tcpdump gürültüyü (noise) enngellemek için bazı ifadeler kullanır:
o icmp6: doğal ICMPv6 trafiğini filtreler
o ip6: doğal IPv6 trafiğini filtreler (ICMPv6 dahil)
o proto ipv6: tünellenmiş IPv6-in-IPv4 trafiğini filitreler
o not port ssh: uzak SSH oturumu için akan SSH paketlerini gizler
Daha çok ICMPv6 paketlerini yakalamakta ve paketler hakkında daha fazla bilgi edinmeyi
sağlamakta yararlı olan bazı komut satırı seçenekleri de mevcuttur:
o -s 512: paket yakalamak için kullanılan kopma (snap) uzunluğunu 512 bayta çıkartır.
o -vv: oldukça ayrıntılı bilgi verilir. -n: adresleri isme çevirmez, eğer ters DNS
çözümlemesi iyi çalışmıyorsa faydalıdır.
•
Örnek: 3ffe:ffff:100:f101::1 adresine yerel bir bağlantı üzerinden IPv6 ping.
# tcpdump -t -n -i eth0 -s 512 -vv ip6 or proto ipv6
tcpdump: listening on eth0
3ffe:ffff:100:f101:2e0:18ff:fe90:9205 > 3ffe:ffff:100:f101::1: icmp6: echo
request (len 64, hlim 64)
3ffe:ffff:100:f101::1 > 3ffe:ffff:100:f101:2e0:18ff:fe90:9205: icmp6: echo
reply (len 64, hlim 64)
Örnek: 3ffe:ffff:100:f101::1 adresine IPv6-in-IPv4 tüneli üzerinden yönlendirilmiş IPv6 ping.
1.2.3.4 ve 5.6.7.8 adresleri tünelin iki ucunu göstermektedir.
# tcpdump -t -n -i ppp0 -s 512 -vv ip6 or proto ipv6
tcpdump: listening on ppp0
1.2.3.4 > 5.6.7.8: 2002:ffff:f5f8::1 > 3ffe:ffff:100::1:
request (len 64, hlim 64) (DF) (ttl 64, id 0, len 124)
5.6.7.8 > 1.2.3.4: 3ffe:ffff:100::1 > 2002:ffff:f5f8::1:
(len 64, hlim 61) (ttl 23, id 29887, len 124)
1.2.3.4 > 5.6.7.8: 2002:ffff:f5f8::1 > 3ffe:ffff:100::1:
request (len 64, hlim 64) (DF) (ttl 64, id 0, len 124)
5.6.7.8 > 1.2.3.4: 3ffe:ffff:100::1 > 2002:ffff:f5f8::1:
(len 64, hlim 61) (ttl 23, id 29919, len 124)
icmp6: echo
icmp6: echo reply
icmp6: echo
icmp6: echo reply
5.2.2- Arabirimlerin Yapılandırılması
5.2.2.1- Farklı ağ aygıtları
Bir düğümde farklı ağ aygıtları mevcuttur. Bunlar aşağıdaki sınıflara ayrılabilir
• Fiziksel aygıtlar: eth0, tr0 gibi
24
•
Sanal aygıtlar: ppp0, tun0, tap0, sit0, isdn0, ippp0 gibi
Fiziken sınırlandırılmış aygıtlar
Fiziksel olarak sınırlandırılmış Ethernet veya Token-Ring gibi arabirimler özel bir
muameleye ihtiyaç duymazlar.
•
•
Sanal olarak sınırlandırılmış aygıtlar
Sanal olarak sınırlandırılmış arabirimler her zaman özel destek isterler.
IPv4 içinde IPv6 tüneli arabirimleri
Bu arabirimler genellikle sitx olarak adlandırılırlar.sit ismi Simple Internet Transition (basit
internet geçişi) baş harflerinin kısaltmasıdır. Bu aygıt IPv6 paketlerini IPv4 paketlerinin içine
kapsülleyerek başka bir uç noktaya tüneller. sit0 özel bir anlama sahiptir ve adanmış
tünellerde kullanılamaz.
PPP arabirimleri
PPP arabirimleri IPv6 kabiliyetlerini IPv6 uyumlu artalan süreçlerinden alırlar.
ISDN HDLC arabirimleri
HDLC arabirimlerinin IPv6 kabiliyetleri çekirdekte hazır gelmektedir.
ISDN PPP arabirimleri
ISDN PPP arabirimlerinin (ippp) IPv6 desteği çekirdekte olmadığı gibi bu destek için bir plan
dahi yoktur çünkü daha genel bir ppp arabirim katmanı ile değiştirilmesi planlanmaktadır.
SLIP + PLIP
Bu arabirimlerin IPv6 destekleri yoktur.
Ether-tap aygıtı
Ether-tap aygıtları IPv6 uyumludur ve kullanılabilmesi için önce "ethertap" modülünün
yüklenmesi gerekmektedir.
ATM
01/2002: Çekirdekte desteklenmiyor fakat USAGI yaması ile destekliyor.
5.2.2.2- Arabirimlerin aktif/pasif hale getirilmesi
Arabirimleri aktif ve pasif duruma getirmek için iki yöntem kullanılabilir.
• ip kullanarak
Kullanım:
ip link set dev arabirim up
ip link set dev arabirim down
Örnek:
# ip link set dev eth0 up
# ip link set dev eth0 down
25
• ifconfig kullanarak
Kullanım:
/sbin/ifconfig arabirim up
/sbin/ifconfig arabirim down
Örnek:
# /sbin/ifconfig eth0 up
# /sbin/ifconfig eth0 down
5.2.3- IPv6 Adreslerinin Yapılandırılması
Bir arabirim üzerinde IPv6 adresi yapılandırmak için farklı yöntemler vardır. ifconfig
veya ip komutları kullanılabilir.
5.2.3.1- IPv6 Adreslerinin Görüntülenmesi
İlk olarak IPv6 adres yapılandırılmasının yapılıp yapılmadığı kontrol edilmelidir (belki
de otomatik yapılandırma yapılmıştır).
• ip kullanarak
Kullanım:
ip -6 addr show dev arabirim
Elle yapılandırılmış host için kullanım örneği:
# /sbin/ip -6 addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_ fast qlen 100
inet6 fe80::210:a4ff:fee3:9566/10 scope link
inet6 3ffe:ffff:0:f101::1/64 scope global
inet6 fec0:0:0:f101::1/64 scope site
Otomatik yapılandırılmış host için kullanım örneği:
Burada otomatik yapılandırılmış IPv6 adreslerini ve yaşam sürelerini görmektesiniz.
# /sbin/ip -6 addr show dev eth0
3: eth0: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast qlen
100
inet6 2002:d950:f5f8:f101:2e0:18ff:fe90:9205/64 scope global dynamic
valid_lft 16sec preferred_lft 6sec
inet6 3ffe:400:100:f101:2e0:18ff:fe90:9205/64 scope global dynamic
valid_lft 2591997sec preferred_lft 604797sec inet6
fe80::2e0:18ff:fe90:9205/10 scope link
• ifconfig kullanarak
Kullanım:
/sbin/ifconfig arabirim
Örnek (çıktı sadece IPv6 adreslerini göstermesi için grep ile filtrelenmiştir). Farklı faaliyet
alanları için farklı IPv6 adresleri görüntülenmektedir:
# /sbin/ifconfig eth0 |grep "inet6 addr:"
inet6 addr: fe80::210:a4ff:fee3:9566/10 Scope:Link
inet6 addr: 3ffe:ffff:0:f101::1/64 Scope:Global
inet6 addr: fec0:0:0:f101::1/64 Scope:Site
26
5.2.3.2- Bir IPv6 Adresinin Eklenmesi
Linux'ta bir IPv6 adresinin eklenmesi IPv4 adresli arabirime "IP ALIAS" adresinin
eklenmesi ile benzer bir işleyişe sahiptir.
• ip kullanarak
Kullanım:
/sbin/ip -6 addr add ipv6adres/önek_uzunluğu dev arabirim
Örnek:
# /sbin/ip -6 addr add 3ffe:ffff:0:f101::1/64 dev eth0
• ifconfig kullanarak
Kullanım:
/sbin/ifconfig arabirim inet6 add ipv6adres/önek_uzunluğu
Örnek:
# /sbin/ifconfig eth0 inet6 add 3ffe:ffff:0:f101::1/64
5.2.3.3- IPv6 Adreslerini Kaldırmak
Pek sık ihtiyaç duyulmaz ama varolmayan IPv6 adreslerinin kaldırılması eski
çekirdeklerde sistemin çökmesine neden olabileceğinden dikkatli kullanılmalıdır.
• ip kullanarak
Kullanım:
/sbin/ip -6 addr del ipv6adres/önek_uzunluğu dev arabirim
Örnek:
# /sbin/ip -6 addr del 3ffe:ffff:0:f101::1/64 dev eth0
• ifconfig kullanarak
Kullanım:
/sbin/ifconfig arabirim inet6 del ipv6adres/önek_uzunluğu
Örnek:
# sbin/ifconfig eth0 inet6 del 3ffe:ffff:0:f101::1/64
5.2.4- Normal IPv6 rotalarının yapılandırılması
Eğer kendi bağlantınızın dışına çıkıp IPv6-internetine paket göndermek isterseniz
yönlendirme yapmanız gerekir. Eğer hali hazırda IPv6 uyumlu bir yönlendiriciniz varsa IPv6
rotaları eklemek mümkün olacaktır.
5.2.4.1- Varolan IPv6 rotalarının görüntülenmesi
İlk olarak hangi IPv6 adreslerinin yapılandırılmış oldukları kontrol edilmelidir (belki
de otomatik yapılandırılma ile yapılandırılmışlardır).
• ip kullanarak
Kullanım:
/sbin/ip -6 route show [dev aygıt]
27
Örnek:
# /sbin/ip -6 route show dev eth0
3ffe:ffff:0:f101::/64 proto kernel
fe80::/10
proto kernel
ff00::/8
proto kernel
default
proto kernel
metric
metric
metric
metric
256
256
256
256
mtu
mtu
mtu
mtu
1500
1500
1500
1500
advmss
advmss
advmss
advmss
1440
1440
1440
1440
• route kullanarak
Kullanım:
/sbin/route -A inet6
Örnek (çıktı sadece eth0 arabirimini gösterecek şekilde filtrelenmiştir). Bir arabirim
üzerindeki farklı adresler için farklı IPv6 rotaları görmektesiniz.
# /sbin/route -A inet6 |grep -w "eth0"
3ffe:ffff:0:f101 ::/64 :: UA 256 0 0 eth0
rotası
fe80::/10
::
UA 256 0 0 eth0
rotası
ff00::/8
::
UA 256 0 0 eth0
için arabirim rotası
::/0
::
UDA 256 0 0 eth0
<== global adres için arabirim
<== yerel adres için arabirim
<== tüm çoğa gönderim adresleri
<== öntanımlı rota
5.2.4.2- Bir ağ geçidi üzerinden bir IPv6 rotası eklemek
Genellikle IPv6 ile bağlantınızın dışına ulaşmak istediğinizde ihtiyaç duyulur.
• ip kullanarak
Kullanım:
/sbin/ip -6 route add ipv6ağı/önek_uzunluğu via ipv6adres [dev aygıt]
Örnek:
# /sbin/ip -6 route add 2000::/3 via 3ffe:ffff:0:f101::1
• route kullanarak
Kullanım:
/sbin/route -A inet6 add ipv6ağı/önek_uzunluğu gw ipv6adres [dev aygıt]
Eğer ağ geçidinin IPv6 adresi yerel bir adrese bağlantı ise bir aygıta da ihtiyacınız olabilir.
Aşağıdaki örnekte tüm global adreslere (2000::/3), 3ffe:ffff:0:f101::1 ağ geçidi eklenmektedir:
# /sbin/route -A inet6 add 2000::/3 gw 3ffe:ffff:0:f101::1
5.2.4.3- Bir ağ geçidi üzerinden IPv6 rotasını kaldırmak
Genellikle elle yapılmasına gerek olmaz. Bu işlem arabirimlerin kapanışı sırasında ağ
yapılandırma betikleri tarafından yapılır.
• ip kullanarak
Kullanım:
/sbin/ip -6 route del ipv6ağı/önek_uzunluğu via ipv6adres [dev aygıt]
Örnek:
# /sbin/ip -6 route del 2000::/3 via 3ffe:ffff:0:f101::1
28
• route kullanarak
Kullanım:
/sbin/route -A inet6 del ipv6ağı/önek_uzunluğu [dev aygıt]
Yukarıdaki örnekte eklenen rotanın kaldırılması:
# /sbin/route -A inet6 del 2000::/3 gw 3ffe:ffff:0:f101::1
5.2.4.4- Bir arabirim üzerinden IPv6 rotası eklemek
Adanmış noktadan-noktaya bağlantılar haricinde genellikle ihtiyaç duyulmaz.
• ip kullanarak
Kullanım:
/sbin/ip -6 route add ipv6ağı/önek_uzunluğu dev aygıt metric 1
Örnek:
# /sbin/ip -6 route add 2000::/3 dev eth0 metric 1
ip komutu için öntanımlı metrik "1024" olduğundan rotanın metriği ile uyumluluğu sağlamak
için "1" metriği kullanılmıştır.
• route kullanarak
Kullanım:
/sbin/route -A inet6 add ipv6ağı/önek_uzunluğu dev aygıt
Örnek:
# /sbin/route -A inet6 add 2000::/3 dev eth0
5.2.4.5- Bir arabirim üzerinden IPv6 rotası kaldırmak
Genellikle elle yapılması gerekmez. Bu işlem kapanış sırasında yapılandırma betikleri
tarafından yapılır.
• ip kullanarak
Kullanım:
/sbin/ip -6 route del ipv6ağı/önek_uzunluğu dev aygıt
Örnek:
# /sbin/ip -6 route del 2000::/3 dev eth0
• route kullanarak
Kullanım:
/sbin/route -A inet6 del ipv6ağı/önek_uzunluğu dev aygıt
Örnek:
# /sbin/route -A inet6 del 2000::/3 dev eth0
5.2.5- Komşuların Araştırılması
Komşuların araştırılması (neighbor discovery) IPv4'deki ARP'nin (Adres Çözümleme
Protokolü) IPv6'daki devamıdır. Etkin komşular hakkında bilgi alabildiğiniz gibi girdileri
silebilir veya değiştirebilirsiniz. Çekirdek IPv4'deki ARP'de olduğu gibi komşuların tespitinde
başarılıdır. ip komutu kullanılarak edinilen bilgiler incelenebilir.
29
5.2.5.1- ip kullanılarak komşuların görüntülenmesi
Aşağıdaki komutu kullanarak öğrenilen veya yapılandırılmış olan IPv6 komşularını
görüntüleyebilirsiniz:
ip -6 neigh show [dev aygıt]
Aşağıdaki örnekte ulaşılabilen tek komşu bir yönlendiricidir:
# ip -6 neigh show
fe80::201:23ff:fe45:6789 dev eth0 lladdr 00:01:23:45:67:89 router nud
reachable
5.2.5.2- ip kullanılarak komşu tablosunun değiştirilmesi
•
Girdiyi elle eklemek
Aşağıdaki komutu kullanarak kendiniz bir girdi ekleyebilirsiniz:
ip -6 neigh add ipv6adres lladdr ağkatmanı_adresi dev aygıt
Örnek:
# ip -6 neigh add fec0::1 lladdr 02:01:02:03:04:05 dev eth0
•
Girdiyi elle silmek
Girdi eklediğiniz gibi silebilirsiniz de:
ip -6 neigh del ipv6adres lladdr ağkatmanı_adresi dev aygıt
Örnek:
# ip -6 neigh del fec0::1 lladdr 02:01:02:03:04:05 dev eth0
Daha ileri seçenekler
ip komutu yeterince belgelendirilmemesine rağmen oldukça güçlüdür. Diğer
seçenekler hakkında bilgi almak için help kullanılabilir:
•
# ip -6 neigh help
Usage: ip neigh { add | del | change | replace } { ADDR [ lladdr LLADDR ]
[ nud { permanent | noarp | stale | reachable } ]
| proxy ADDR } [ dev DEV ]
ip neigh {show|flush} [ to PREFIX ] [ dev DEV ] [ nud STATE ]
5.2.6- IPv4 içinde IPv6 tüneli yapılandırmak
Eğer IPv6 internetine erişmek için uygun bir IPv6 ağınız yoksa, IPv4 içinde IPv6
tüneline ihitiyacınız var demektir. Birkaç tünel mekanizması ve tünel yapılandırma yönetimi
vardır.
5.2.6.1- Tünel türleri
IPv4 ağlarında IPv6 paketlerini tünellemenin birden çok yöntemi vardır.
Statik noktadan-noktaya tünelleme: 6bone
Noktadan-noktaya tünel, bir son noktaya adanmış bir tüneldir. Bu son nokta sizin IPv6
ağınızı (geri yönlendirme için) ve tünelinizin son noktasının IPv4 adresini bilmeli ve (Gilligan
ve diğ., 2000) belgesinde tanımlandığı gibi olmalıdır. Gereksinimler:
• Tünelinizin son noktasının IPv4 adresi statik olmalı ve tünel dışından ulaşılabilir
olmalıdır.
• Size bir global IPv6 öneki tahsis edilmiş olmalıdır.
•
30
•
IPv6 önekinizi tünelinizin sonuna yönlendirebilecek bir dış tünel son noktası
gereklidir (çoğunlukla uzaktan elle yapılandırma gerekir).
Otomatik tünelleme
Otomatik tünelleme ancak bir düğüm diğerinin IPv4 adresini önceden alarak doğrudan
ona bağlanıyorsa oluşur.
•
6to4 tünelleme
6to4 tünelleme (Carpenter ve diğ., 2001) otomatik tünelleme için basit bir mekanizma
kullanır. Global olarak tekil bir IPv4 adresine sahip her düğüm 6to4 tünelinin son noktası
olabilir (elbette IPv4 güvenlik duvarının trafiği engellememesi gerekir).
•
5.2.6.2- Varolan tünellerin görüntülenmesi
• ip kullanarak
Kullanım:
/sbin/ip -6 tunnel show [aygıt]
Örnek:
# /sbin/ip -6 tunnel show
sit0: ipv6/ip remote any local any ttl 64 nopmtudisc
sit1: ipv6/ip remote 195.226.187.50 local any ttl 64
• route kullanarak
Kullanım:
/sbin/route -A inet6
Örnek (çıktı sadece sanal sit0 arabirimi üzerindeki tünelleri gösterecek şekilde filtrelenmiştir):
# /sbin/route -A inet6 | grep "\Wsit0\W*$"
::/96
::
U
256 2 0
2002::/16 ::
UA 256 0 0
2000::/3
::193.113.58.75 UG
1 0 0
fe80::/10 ::
UA 256 0 0
ff00::/8
::
UA 256 0 0
sit0
sit0
sit0
sit0
sit0
5.2.6.3- Noktadan-noktaya tünel yapılandırması
Noktadan-noktaya
yapılabilmektedir.
tünellerin
eklenmesi
ve
kaldırılması
üç
farklı
şekilde
Noktadan-noktaya tüneli eklemek
Küçük boyutlu tünelleri oluşturmak için kullanılan yaygın yöntemdir. Tünel aygıtı
oluşturmak için kullanımı şöyledir (öntanımlı TTL değeri 0 olduğundan yenisi tayin
edilmelidir):
•
/sbin/ip tunnel add aygıt mode sit ttl öntanımlı_ttl remote
yabancı_tünelin_ipv4adresi local yerel_ipv4adres
Kullanım (üç tünel için genel örnek):
/sbin/ip tunnel add sit1 mode sit ttl öntanımlı_ttl remote
1inci_yabancı_tünelin_ipv4adresi local yerel_ipv4adres
/sbin/ip link set dev sit1 up
/sbin/ip -6 route add 1inci_rotanın_öneki dev sit1 metric 1
31
/sbin/ip tunnel add sit2 mode sit ttl öntanımlı_ttl
2nci_yabancı_tünelin_ipv4adresi local yerel_ipv4adres
/sbin/ip link set dev sit2 up
/sbin/ip -6 route add 2nci_rotanın_öneki dev sit2 metric 1
/sbin/ip tunnel add sit3 mode sit ttl öntanımlı_ttl
3üncü_yabancı_tünelin_ipv4adresi local yerel_ipv4adres
/sbin/ip link set dev sit3 up
/sbin/ip -6 route add 3üncü_rotanın_öneki dev sit3 metric 1
Noktadan-noktaya tüneli iptal etmek
Genellikle elle yapılması gerekmez, IPv6 yapılandırmasının düzgünce kapatılması
veya yeniden başlatılması için betikler tarafından kullanılır.
Bir tünel aygıtının kaldırılması aşağıdaki gibi yapılır:
•
/sbin/ip tunnel del aygıt
Kullanım (üç tünel için genel örnek):
/sbin/ip
/sbin/ip
/sbin/ip
/sbin/ip
/sbin/ip
/sbin/ip
/sbin/ip
/sbin/ip
/sbin/ip
-6 route del 1inci_rotanın_öneki dev sit1
link set sit1 down
tunnel del sit1
-6 route del 2nci_rotanın_öneki dev sit2
link set sit2 down
tunnel del sit2
-6 route del 3üncü_rotanın_öneki dev sit3
link set sit3 down
tunnel del sit3
Noktadan-noktaya numaralandırılmış tüneller
Bazen IPv6 adresleriyle IPv4 gibi noktadan-noktaya tünel yapılandırmak gerekebilir.
Bu sadece ikinci (ifconfig+route) ve üçüncü (ip+route) tür yapılandırmalar ile mümkündür.
Bu durumlarda tünel arabirimine IPv6 adresini arabirim yapılandırmasında gösterildiği gibi
ekleyebilirsiniz.
•
5.2.6.4- 6to4 tünellerin ayarları
2.2.x serisi çekirdeklerin 6to4 tünel desteği yoktur. Dikkat edilmesi gereken bir başka
konu ise 6to4 adresinin önek uzunluğunun 16 olduğudur. Diğer tüm 6to4 uyumlu hostlar aynı
ikinci katmandadırlar.
6to4 tüneli eklemek
İlk olarak yönlendirilebilir IPv4 adresinizi kullanarak 6to4 önekinizi hesaplamalısınız
(eğer istemcinizin global yönlendirilebilir IPv4 adresi yoksa, özel durumlarda sınır ağ
geçitlerinde NAT kullanılabilir):
IPv4 adresiniz aşağıdaki gibi ise
•
1.2.3.4
oluşturulacak 6to4 öneki şöyle olacaktır:
2002:0102:0304::
Yerel 6to4 ağ geçitleri ::1 ile sonlanmalıdır, bu yüzden yerel 6to4 adresiniz aşağıdaki gibi
olacaktır:
2002:0102:0304::1
Otomatik üretim aşağıdakine benzemelidir:
ipv4="1.2.3.4"; printf "2002:%02x%02x:%02x%02x::1" `echo $ipv4 | tr "." ""`
32
6to4 tüneli yapılandırmak için iki yöntem vardır:
ip kullanarak ve adanmış tünel aygıtı ile
Önerilen yöntem budur (öntanımlı TTL değeri 0 olduğundan yenisi atanmalıdır).
Yeni bir tünel aygıtı oluşturun:
# /sbin/ip tunnel add tun6to4 mode sit ttl öntanımlı_ttl remote any local
yerel_ipv4adres
Arabirimi etkinleştirin:
# /sbin/ip link set dev tun6to4 up
Arabirime yerel 6to4 adresini atayın.
Not : Önekin uzunluğunun 16 olması önemlidir!
# /sbin/ip -6 addr add yerel_6to4_adres /16 dev tun6to4
6to4 yönlendiricilerini kullanarak global IPv6 ağına (öntanımlı) yönlendirme ekleyin:
# /sbin/ip -6 route add 2000::/3 via ::192.88.99.1 dev tun6to4 metric 1
İfconfig, ip kullanarak ve genel tünel aygıtı sit0 ile
Genel tünel aygıtı sit0 aygıt başına filtreleme tanımlamaya izin vermediğinden bu yöntem
önerilmemektedir.
Genel tünel aygıtı sit0'ı etkinleştirin:
# /sbin/ifconfig sit0 up
Arabirime yerel 6to4 adresini ekleyin:
# /sbin/ifconfig sit0 add yerel_6to4_adres/16
Tümü 6to4 nakil yönlendiricili IPv4 adreslerini kullanarak global IPv6 ağına yönlendirme
ekleyin:
# /sbin/route -A inet6 add 2000::/3 gw ::192.88.99.1 dev sit0
• 6to4 tünelini iptal etmek
ip kullanarak ve adanmış tünel aygıtı ile
Adanmış tünel aygıtı üzerindeki tüm yönlendirmeleri kaldırın:
# /sbin/ip -6 route flush dev tun6to4
Arabirimi kapatın:
# /sbin/ip link set dev tun6to4 down
Mevcut tünel aygıtını kaldırın:
# /sbin/ip tunnel del tun6to4
ifconfig ve route kullanarak ve genel tünel aygıtı sit0 ile
6to4 tünel arabirimi üzerindeki (öntanımlı) yönlendirmeyi kaldırın:
# /sbin/route -A inet6 del 2000::/3 gw ::192.88.99.1 dev sit0
Arabirimin yerel 6to4 adresini kaldırın:
# /sbin/ifconfig sit0 del yerel_6to4_adres /16
Genel tünel aygıtını kapatın:
# /sbin/ifconfig sit0 down
33
5.2.7- Otomatik Yapılandırma ve Gezicilik
• Durumsuz otomatik yapılandırma
Örneğin:
# ip -6 addr show dev eth0 scope link
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qlen1000
inet6 fe80::211:d8ff:fe6b:f0f5/64 scope link
valid_lft forever preferred_lft forever
5.2.8- Şifreleme ve Kimlik Denetimi
IPv4'ün aksine, şifreleme ve kimlik denetimi IPv6'nın olmazsa olmaz özelliğidir. Bu
özellikler IPsec (IPv4 ile de kullanılabilir) kullanılarak yerine getirilirler.
5.2.8.1- Şifreleme ve kimlik denetimi kipleri
Bağlantının şifrenlemesi ve kimlik denetimi için iki farklı kip mümkündür:
• Taşıma kipi
Taşıma kipi gerçek uçtan-uca bağlantı kipidir. Burada sadece ICMP, TCP veya UDP
şifrelenir, IP başlığı şifrelenmez (ama genellikle kimlik denetimine dahil edilir).
Şifreleme için AES-128, kimlik denetimi için SHA1 kullanılır. Bu kip MTU'yu 42 oktete
düşürür.
• Tünel kipi
Tünel kipi uçtan-uca bağlantılarda kullanılabileceği gibi ağ geçidinden-ağ geçidine
bağlantılarda da kullanılabilir. Burada IP paketinin tamamı şifrelenir ve yeni bir IP başlığı
elde edilir. Böylece yeni bir IP paketi oluşturulmuş olur (bu mekanizma "encapsulation"
olarak da bilinir.).
Bu kipteki MTU taşıma kipindeki MTU'dan 40 oktet daha azdır. Yani şifreleme için
AES-128 ve kimlik denetimi için SHA1 kullanarak normal MTU'dan 82 oktet daha az
kullanılmış olur.
5.2.9- Servis Kalitesi (QoS)
IPv6, Akış Etiketlerinin (Flow Labels) ve Trafik Sınıflarının (Traffic Classes)
kullanımıyla QoS'u destekler ve tc (iproute paketindedir) kullanılarak denetlenebilir.
5.2.10- IPv6 uyumlu Artalan Süreçleri İçin İpuçları
Bu bölümde IPv6 uyumlu artalan süreçleri için bazı ipuçları verilecektir.
5.2.10.1- Rota Bilgilendirme Sunucusu (radvd)
Rota Bilgilendirme Sunucusu, eğer istemciler otomatik yapılandırılacaklar ise yerel
ağda çok kullanışlıdır. Artalan sürecinin kendisi Linux'ta öntanımlı IPv6 ağ geçidinde
çalışmalıdır (bunun aynı zamanda öntanımlı IPv4 ağ geçidi olması gerekmediğinden yerel
alan ağındaki yönledirici bilgisinin kim tarafından gönderildiğine dikkat edilmelidir).
Bilgilendirme için bazı bilgiler ve bayraklar belirtilebilir. Sıkça kullanılanlar şunlardır:
• Önek (gerekli)
• Önekin yaşam süresi
• Bilgilendirme gönderme sıklığı (isteğe bağlı)
Uygun bir yapılandırmadan sonra radvd belirlenen arabirim üzerinden
bilgilendirmeleri gönderir ve istemciler bunları alarak aldıkları önek ve öntanımlı ağ geçidi ile
otomatik yapılandırılırlar.
34
• radvd'nin yapılandırılması
Basit yapılandırma
radvd'nin yapılandırma dosyası genellikle /etc/radvd.conf'dır ve basit örnek dosya aşağıdaki
gibidir:
interface eth0
{
AdvSendAdvert on;
MinRtrAdvInterval 3;
MaxRtrAdvInterval 10;
prefix 3ffe:ffff:0100:f101::/64
{
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
};
Bunun istemci tarafındaki sonucu:
# ip -6 addr show eth0
3: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
inet6 3ffe:ffff:100:f101:2e0:12ff:fe34:1234/64 scope global dynamic
valid_lft 2591992sec preferred_lft 604792sec
inet6 fe80::2e0:12ff:fe34:1234/10 scope link
Yaşam süresi belirtilmediğinden çok büyük bir değer kullanılmıştır.
5.2.10.2-
Dinamik Host Yapılandırma Protokolü v6 Sunucusu (dhcp6s)
(Droms ve diğ., 2003) belgesi ile DHCPv6 tanımlanmıştır.
DHCPv6 kapsamlı yapılandırmalar için kullanılabilir. Artalan sürecinin kendisinin
Linux öntanımlı IPv6 yönlendiricisi üzerinde çalışması gerekmez. Radvd kullanırken
yaptığınızdan daha fazla tanımlama yapabilirsiniz. Bu tanımlamalar çoğunlukla IPv4 DHCP
sunucusundakilere benzer.
Artalan süreci uygun bir yapılandırmanın ardından, ICMPv6 çoğa gönderim paketleri
gönderen istemcilere ff02::16 adresini göndererek karşılık verir.
• DHCPv6 sunucusunun (dhcp6s) yapılandırılması
Basit Yapılandırma
Dhcp6s'nin yapılandırma dosyası normalde /etc/dhcp6s.conf dosyasıdır. Basit bir örnek
aşağıdaki gibidir:
interface eth0 {
server-preference 255;
renew-time 60;
rebind-time 90;
prefer-life-time 130;
valid-life-time 200;
allow rapid-commit;
option dns_servers 2001:db8:0:f101::1 sub.domain.example;
link AAA {
range 2001:db8:0:f101::1000 to 2001:db8:0:f101::ffff/64;
prefix 2001:db8:0:f101::/64;
};
};
35
• DHCPv6 istemcisinin (dhcp6c) yapılandırılması
Basit Yapılandırma
Dhcp6c'nin yapılandırma dosyası normalde /etc/dhcp6c.conf dosyasıdır. Basit bir örnek
aşağıdaki gibidir:
interface eth0 {
send rapid-commit;
request domain-name-servers;
};
• Kullanım
dhcpv6 sunucu
Aşağıdaki komut sunucuyu başlatır:
# service dhcp6s start
dhcpv6 istemci
Aşağıdaki komut istemciyi arka planda başlatır:
# dhcp6c -f eth0
• Hata Ayıklama
dhcpv6 sunucu
Sunucunun bir önplanda çalışan iki de hata ayıklamada kullanılan (her ikisi de hata ayıklama
için kullanılmalıdır) seçeneği vardır, bir örnek:
# dhcp6c -d -D -f eth0
dhcpv6 istemci
İstemcinin bir önplanda çalışan iki de hata ayıklamada kullanılan seçeneği vardır, bir örnek:
# dhcp6c -d -f eth0
Oct/03/2005 17:18:16
Oct/03/2005 17:18:16
Oct/03/2005 17:18:16
Oct/03/2005 17:18:16
Oct/03/2005 17:18:17
Oct/03/2005 17:18:17
Oct/03/2005 17:18:17
Oct/03/2005 17:18:17
Oct/03/2005 17:18:17
is not in any RAs prefix
Oct/03/2005 17:18:17
dhcpv6 doesn't support hardware type 776
doesn't support sit0 address family 0
netlink_recv_rtgenmsg error
netlink_recv_rtgenmsg error
status code for this address is: success
status code: success
netlink_recv_rtgenmsg error
netlink_recv_rtgenmsg error
assigned address 2001:db8:0:f101::1002 prefix len
length using 64 bit instead
renew time 60, rebind time 9
Netlink hata mesajlarının bir etkisinin olmadığına dikkat edin.
36
6. UYGULAMALAR
Bu bölümde aktaracağımız çalışmaları 5 farklı başlık altında topladık. Bölüm 6.1’de
Microsoft Windows XP ve 2003 Server işletim sistemleri kullanılan makinelerden oluşturulan
iki bilgisayarlı ağdaki başlangıç v4 yapılandırması, v6 destekleri açılmış haldeki
yapılandırmalar ve aralarındaki iletişim testleri yapılmıştır. Bölüm 6.2’de yine Windows
işletim sistemi kullanılan bilgisayarların ÇOMÜ Network’üne bağlıyken ürettikleri otomatik
adresler ve aralarındaki bağlanabilirlik test edilmiştir. Bölüm 6.3’te IPv4 altyapılı ağ
sisteminde Linux Fedora Core işletim sistemi yüklü bilgisayarların IPv6 desteklerinin
açılması ve bu bilgisayarların uluslararası IPv6 ağlarına bağlanması için kullanılan yöntemler
ve test sonuçları yer almaktadır. Örnek bir kurumun 6to4 tünelleme ile IPv6 Internet’ine
erişimi için yapılması gereken yapılandırma ayarları Bölüm 6.4’te ayrıntılarıyla verilmeye
çalışılmıştır. Bölüm 6.5 ise Üniversitemizde mevcut IPv4 yapısının IPv6’ya entegrasyonu için
yapılması gereken temel yönlendirme ayarları açıklanmaktadır.
6.1 İki bilgisayarlı ağdaki başlangıç v4 yapılandırması, v6
destekleri açılmış haldeki yapılandırmaları ve aralarında iletişim
kurulması
İki bilgisayarlı küçük bir bilgisayar ağı kurduk. Bu ağdaki makinelerimizin başlangıç
yapılandırmalarını IPv4 ağ kurallarına göre ayarladık. Daha sonra iki makinemiz için IPv6
desteklerini aktifleştirdik. Aralarındaki bağlanabilirliği test ettik.
Bu testlerimizi sadece iki bilgisayarı birbirine çapraz bağlayarak gerçekleştirdik.
Testlerde kullanılan bilgisayarların özellikleri Tablo 6.1.1’de özetle verilmiştir.
PC1
PC2
Microsoft Windows XP Professional (SP2) Microsoft Windows Server 2003 (SP1)
Tablo 6.1.1 Testlerde kullanılan bilgisayarların genel özellikleri
İlk önce PC1 ve PC2’nin başlangıç v4 yapılandırmalarına görelim. Bunun için
Windows işletim sisteminde “ipconfig” komutunu veriyoruz.
Şekil 6.1.1 PC1’in başlangıç v4 yapılandırması
37
Şekil 6.1.2 PC2’nin başlangıç v4 yapılandırması.
PC1’in PC2’ye bağlanabilirliğini test etmek için çok yaygın ağ komutlarından biri
olan “ping” komutunu kullanıyoruz.
Şekil 6.1.3 PC1 makinesinden PC2’ye erişim.
Şekil 6.1.3’te görüldüğü gibi 192.168.0.2 adresiyle yapılandırılmış PC2’yle PC1
makinesi arasında bağlantı sorunsuz.
Şimdi her iki makinemizde IPv6 desteklerini açacağız. Bu durumda bilgisayar
sistemlerinin nasıl v6 adres yapılandırması yaptığını görelim.
38
Şekil 6.1.4 PC1 makinesinin v6 adres yapılandırması.
Şekil 6.1.5 PC2 makinesinin v6 adres yapılandırması
Şekil 6.1.4 ve 6.1.5’ten de görüldüğü gibi v6 destekleri açılan test makinelerimizde
doğrudan link-local, site-local ve otomatik tünelleme sahte arayüzü adresleri atanmıştır. Şimdi
de PC1 ve PC2’de üretilen bu adreslerin bağlanabilirliğini test edelim.
39
Şekil 6.1.6 PC1 makinesinden PC2 makinesine IPv6 erişimi.
40
Şekil 6.1.7 PC2 makinesinden PC1 makinesine IPv6 erişimi.
Dikkat ederseniz PC1 makinesinde; yani MS Windows XP (SP2) işletim sistemine
sahip makinede diğer mekineye erişim için kullandığımız komut “ping6” ‘dır. Bu komut en
yaygın kullanılan ağ komutlarından olan “ping” komutunun bu işletim sistemindeki IP version
6 sürümüdür. Ancak PC2 makinesinde bu komut “ping6” değil “ping” olarak yazıldı, çünkü
MS Windows Server 2003’te “ping” komutu hem IPv4 hem de IPv6 adreslerinin
ulaşılabilirliğinin testi için var.
PC1, PC2’ye doğrudan bağlı olduğundan rota izleme komutu olan “traceroute”
komutunu kullandığımızda sadece tek satırlık bir sıçrama ile birbirlerini ağda görebildiklerini
gözlemledik (bknz: Şekil 6.1.8).
Şekil 6.1.8 PC1 makinesinden PC2 link-local arayüzüne erişim için rota izleme komutunun
kullanılması.
41
Buraya kadarki testlerimizde kurduğumuz mini LAN yapısında v4 başlangıç
yapılandırmasına sahip iki makinenin v6 desteklerinin açılması durumunda üretilen adres
yapılarını ve bu adreslere olan erişimleri uygulamalı olarak gösterdik.
6.2 İki bilgisayarın ÇOMÜ Network’üne bağlıyken ürettikleri
otomatik adresler ve aralarındaki bağlanabilirlik
Bu bölümde ÇOMÜ Network’üne bağlanan PC1 ve PC2 isimli iki bilgisayarın Tablo
6.2.1’de gösterilen durumlar için ürettikleri IPv6 adresleri ve bu adreslerin erişilebilirlikleri
kontrol edilmiştir.
Buradaki testlerimizi Tablo 6.1.1’de belirtilen özellikteki makineler üzerinde
gerçekleştirdik.
Durum
PC1
PC2
1
Sanal Adres*
Sanal Adres
2
Sanal Adres
Gerçek Adres**
3
Gerçek Adres
Gerçek Adres
Tablo 6.2.1 PC1 ve PC2 makinelerinin ağ yapılandırma türleri
* Üniversitemiz bilgisayar ağında faaliyet gösteren DHCP (Dynamic Host Configuration
Protocol) sunucusunun ÇOMÜ Network’üne bağlanan herhangi makineye atadığı otomatik
yapılandırma adresi.
** Üniversitemiz ağ yapısında mevcut kullanılabilir statik IP adreslerinin ağ yapılandırma
arayüzlerinden elle atanmasıyla faaliyet gösteren, dünya Internet’ine çıkışta mevcut vekil
sunucuları es geçen adres.
Durum 1:
1. durum için önce PC1 ve PC2 makinelerinin üniversitemiz ağına bağlıyken
başlangıçta DHCP’den aldıkları v4 adreslerine göre oluşan v6 yapılandırmalarına bakalım.
Şekil 6.2.1 PC1 makinesinin sanal adrese sahip olması durumundaki ağ yapılandırması.
42
Şekil 6.2.2 PC2 makinesinin sanal adrese sahip olması durumundaki ağ yapılandırması.
Sanal adresli makinelerin IPv6 desteklerinin açılması sonucunda link-local, site-local
ve otomatik tünelleme arayüzlerine çeşitli IPv6 adresleri atanmıştır. Örneğin PC2 makinesi
için:
IPv4 adresi: 192.168.3.217
Alt Ağ Maskesi: 255.255.255.0
Varsayılan Ağ Geçiti: 192.168.4.254
başlangıç yapılandırma bilgileri mevcuttur. IPv6 desteğinin açılması ile
IPv6 link-local adresi: fe80::216:76ff:fe3c:c749%4
IPv6 site-local adresi: fe80::5445:5245:444f%5
IPv6 otomatik tünelleme adresi: fe80::5efe:192.168.3.217%2
adreslerinin atandığı görülmektedir. Burada dikkati çeken bir nokta hem PC1 hem PC2
makinelerinin aynı organizasyonda aynı IP bloğu diliminde yer aldıklarından ötürü aynı sitelocal adreslerine sahip olmalarıdır. Bir diğer nokta ise, arayüzlere atanan v6 adreslerinin
sonlarında “%” ile başlayan Bölge Kimlikleri’nin belirtilmesidir. Bölge kimliği (zone ID)
kurulu Ethernet adaptörünün arayüz indeksini belirtmektedir. Bu sayı, ICMPv6 Echo Request
iletileri için hedefin kapsamını ve bölgeyi belirler.
Bölge kimliği yerel olarak tanımlandığı için aynı ağda da olsa farklı makinelerin bölge
kimlikleri farklı olabilmektedir. Örneğin A ve B makinesi aynı ağda olsun. A’nın bölge
kimliği 4 ve B’nin bölge kimliği 3 olsun. Bu durumda A makinesi B’ye erişimi sınayacağı
zaman ping B’ninIP’si%4 komutunu çalıştırmalıdır. B makinesi de A’ya erişimi sınamak için
benzer şekilde ping A’nınIP’si%3 komutunu çalıştırmalıdır.
Bizim örneğimizde PC1 için oluşan link-local adres fe80::2e0:4cff:fee2:39ee%6
değeridir. PC2 için oluşan link-local adres fe80::216:76ff:fe3c:c749%4 olmuştur. Bu
makinelerin birbirlerine erişimleri için önceki paragrafta vurgulanan örnekteki bölge kimliği
özelliğinin kullanım uygulamasına özellikle Şekil 6.2.4 ve Şekil 6.2.5’te dikkat ediniz. Aynı
ağ dilimindeki makinelerimiz için site-local adreslerinin aynı adres ve bölge kimliği ile
oluşmuş olduğuna dikkat ediniz. Yaptığımız uygulamalarda link-local ve otomatik tünelleme
adreslerine erişimlerde bölge kimliği belirtimine dikkat etmenin son derece önemli olduğunu
43
gördük. Ancak makineler aynı ağ diliminde bulunduğu için organizasyondaki alt ağı temsil
eden site-local adresleri eşit olduğu ve bölge kimliklerinin belirtiminin gerekli olmadığını
tespit ettik.
İlk önce PC1’in PC2’ye v4 adresi vasıtasıyla erişimini sınayalım. (bknz:Şekil 6.2.3)
Şekil 6.2.3 PC1’in PC2’ye v4 erişebilirliğinin sınanması
Şekil 6.2.4 PC1’in PC2’nin link-local adresine erişimi (kullanılan bölge kimliğine dikkat
ediniz).
Şekil 6.2.5 PC2’nin PC1’in link-local adresine erişimi.
44
Şekil 6.2.6 PC1’in site-local adrese erişimi.
Şekil 6.2.7 PC2’nin site-local adrese erişimi.
Şekil 6.2.6 ve Şekil 6.2.7’den görüldüğü gibi site-local adresler makinelerin
bulundukları alt ağ adreslerini gösterdikleri için aynı ağın varlığını sınamış olduk.
Şekil 6.2.8 PC1’den PC2’nin tünel bağdaştırıcı otomatik tünelleme sahte arayüzüne erişim.
45
Şekil 6.2.9 PC2’den PC1’in tünel bağdaştırıcı otomatik tünelleme sahte arayüzüne erişim.
Durum 2:
2. durumda Tablo 6.2.1’de belirttiğimiz gibi PC1 makinesi sanal IP’li olarak kaldı;
ancak PC2 makinesine gerçek bir IP ataması yaptık ve değişimi gözlemledik.
PC1 makinesi için Şekil 6.2.1’deki ağ yapılandırma özelliklerinde bir değişim söz
konusu değildi. Ancak PC2 makinesine üniversitemizce bölümümüz kullanımına tahsis edilen
193.255.97.97 numaralı statik IPv4 adresini atadığımızda tünel bağdaştırıcı 6to4 tünelleme
sahte arayüzü adresi üretildiğini gördük (bknz:Şekil 6.2.10). Bu adres gerçek IP’ye bağlı
olarak türetilmiş bir 6to4 adrestir.
Şekil 6.2.10 PC2 makinesinde gerçek IP varken v6 yapılandırması.
Bu durumda PC1’den PC2’nin link-local, site-local ve otomatik tünelleme adreslerine
erişimler Şekil 6.2.11’de verilmiştir. Şekil 6.2.12’de ise doğrudan gerçek IP’ye erişim ve 6to4
adrese erişim testi yapılmıştır.
46
Şekil 6.2.11 PC1’den PC2’nin link-local, site-local ve otomatik tünelleme adreslerine
erişimler.
Şekil 6.2.12 PC1’den PC2’nin gerçek IP’sine erişim ve 6to4 adresine erişim denemesi.
47
Şekil 6.2.12’den görüldüğü üzere sanal adresli bir makine gerçek adresli bir makinenin
6to4 adresine erişememektedir. Oysa gerçek adresli PC2 makinemizden PC1’in tüm
arayüzlerinin adreslerine erişebildik (bknz: Şekil 6.2.13).
Şekil 6.2.13 PC2’den PC1’in link-local, site-local ve otomatik tünelleme adreslerine erişimler.
Durum 3:
3. durumda Tablo 6.2.1’de belirttiğimiz gibi hem PC1 makinesine hem PC2
makinesine gerçek IP ataması yaptık ve değişimi gözlemledik.
PC2 makinesi için Şekil 6.2.10’daki ağ yapılandırma özelliklerinde bir değişim söz
konusu değildi. Ancak PC1 makinesine üniversitemizce bölümümüz kullanımına tahsis edilen
bir diğer IP olan 193.255.97.98 numaralı statik IPv4 adresini atadığımızda yeni bir adres
olarak tünel bağdaştırıcı 6to4 tünelleme sahte arayüzü adresi üretildiğini gördük (bknz: Şekil
6.2.14). Bu adres de gerçek IP’ye bağlı olarak türetilmiş bir 6to4 adrestir.
48
Şekil 6.2.14 PC1 makinesinde gerçek IP varken v6 yapılandırması.
Bu durumda PC1’den PC2’nin link-local, site-local ve otomatik tünelleme adreslerine
erişimler Şekil 6.2.15’te verilmiştir. Şekil 6.2.16’da ise PC1 ve PC2 makineleri arasındaki
6to4 adreslerinin iletişim kurup kuramadığı test edilmiştir.
49
Şekil 6.2.15 PC1’den PC2 için link-local, site-local ve otomatik tünelleme adreslerine
erişimler.
Şekil 6.2.16 PC1’den PC2’nin tünel bağdaştırıcı 6to4 tünelleme sahte arayüzü adresine
erişim.
50
6.3 IPv4 altyapılı sistemde IPv6 destekli halde çalışan
bilgisayarların uluslararası IPv6 ağlarına bağlanması için
kullanılan yöntemler ve test sonuçları
Bu bölümde IPv4 altyapısına sahip linux makinelerin IPv6 desteklerinin açılması ve
onların uluslararası IPv6 ağlarına bağlanmasının nasıl sağlanacağı üzerine uygulama
yapılacaktır. Burada bir makinenin uluslararası v6 network’üne çıkışı için yapılması
gerekenleri izah edeceğiz. Ancak ondan önce elimizdeki makinelerin birbirleriyle v6
konuşabilirliklerini test edeceğiz. Tablo 6.3.1’de test PC’lerimizdeki önceki işletim
sistemlerinin yanına yeni kurduğumuz işletim sistemlerini listeliyoruz.
PC1
PC2
Linux 2.6.12-1.1381, Fedora Core 3
Linux 2.6.15-1.2054, Fedora Core 5
Tablo 6.3.1 Testlerde kullanılan bilgisayarların genel özellikleri
Hedefimiz önce bu makineler arasındaki iletişimin bu platformlarda nasıl
gerçekleştiğini gösterip daha sonra makinelerden birini v6 ağına çıkarmak.
Şekil 6.3.1 PC1’de IPv6 desteğinin açılması.
Şekil 6.3.1’de önce sistemimizin çekirdek sürümünü “uname -a” ile kontrol ediyoruz.
Ardından IPv6 desteğinin olup olmadığını test ediyor ve gerekli modülü “modprobe” ile
yüklüyoruz. Artık PC1 hazır. PC2 için de aynı adımları gerçekleştireceğiz (bknz: Şekil 6.3.2).
Şekil 6.3.2 PC2’de IPv6 desteğinin açılması.
51
Şekil 6.3.3 PC1’in ağ yapılandırma bilgisi.
Şekil 6.3.4 PC2’nin ağ yapılandırma bilgisi.
Yapılandırma bilgilerinde yer alan link-local adres bilgilerinin MAC adresi baz
alınarak üretilmesinden ötürü Windows işletim sistemlerinde daha önceki testlerdeki aynı
adreslerin oluştuğuna dikkat ediniz.
Şekil 6.3.5 PC1’den PC2’nin v4 adresine erişim.
52
Burada “ping” komutuna “–c” parametresi ile kaç paket göndermek istediğimiz
bilgisini gönderiyoruz.
Şekil 6.3.6 PC1’den PC2 link-local adresine erişim.
Bir makineden diğerinin link-local adresine erişim için ethernet arayüzünü özellikle
belirtmek zorundayız.
Şekil 6.3.7 PC2’den PC1 link-local adresine erişim.
Buraya kadar yaptığımız uygulamada PC1 ve PC2 makinelerinin linux yüklü iken
birbirleriyle IPv6 konuşabilirliklerini sağladık. Asıl hedefimiz ise makinelerden birinin
uluslararası ağa çıkışını sağlamaktı. Pekiyi bunu nasıl başaracağız?
Bir bilgisayarın IPv6 Internet’ine çıkışı için yöntemler:
1) 6to4 tünelleme mekanizmasını aktifleştirebiliriz,
2) Tünelleme hizmeti sağlayan bir İSS’den veya tünel komisyoncusundan tünelleme
hizmeti alarak dış v6 ağına çıkabiliriz.
3) Veya yukarıdaki her iki durumdan farklı olarak v6 ağına çıkmak için üst servis
sağlayıcımızdan (ki bu Üniversitemiz için ULAKBİM’dir) alınacak ham IPv6 adres bloğu ile
bu bloktan atayacağımız adresler vasıtasıyla doğrudan v6 ağına çıkabiliriz.
Buradan itibaren uygulamamıza ilk iki durum için yaptığımız çalışmaları aktararak
devam edeceğiz. 3. durum için çözüm önerimiz 6.5 bölümünde açıklanacaktır.
53
Yöntemlerin uygulamalarını PC2 makinemizde yaptık.
1. Yöntem:
Öncelikle 6to4 tünelleme mekanizmasını aktifleştirmek istememizin nedeninin Şekil
6.3.8 olduğunu belirtelim.
Şekil 6.3.8 PC2’den www.kame.net sitesine ping6 ile erişim denemesi.
Şekil 6.3.8’den görüldüğü üzere v6 talebimize yanıt alamıyoruz. Ancak aynı
platformun v4 erişimimize cevap verdiğini görüyoruz (bknz: Şekil 6.3.9). Yani dünya ağıyla
v4 konuşabilirliğimiz var; ancak v6 olarak tanınmamız için 6to4 tünelleme arayüzünü
aktifleştireceğiz (Fedora).
Şekil 6.3.9 www.kame.net sitesine erişim ve bu erişimde izlenilen yolu görmek için
çalıştırılan “traceroute” komutu.
Bunun için /etc/sysconfig/network dosyasına aşağıdaki satırları eklememiz gerekiyor:
NETWORKING_IPV6=yes
IPV6_DEFAULTDEV=tun6to4
Daha sonra /etc/sysconfig/network-scripts/ifcfg-eth0 dosyasında aşağıdaki satırları değiştirdik
veya yoksa ekledik:
--DEVICE=eth0
BOOTPROTO=static
54
ONBOOT=yes
IPADDR=193.255.97.97 [Global olarak tekil IPv4 adresi]
NETMASK=255.255.255.0 [IPv4 ağımızdaki ağ maskesi değeri]
IPV6INIT=yes
IPV6TO4INIT=yes
Bu işlemleri gerçekleştirdikten sonra ağ arayüzleri yapılandırmalarını gözleme
komutumuz olan “ifconfig” komutunu çalıştırarak oluşan “tun6to4” isimli 6to4 arayüzünü
gördük (bknz: Şekil 6.3.10).
Şekil 6.3.10 Oluşturduğumuz tun6to4 arayüzü yapılandırması özellikleri.
6to4 tünelleme işlemi sayesinde global olarak tekil olan IPv4 adresimizden türetilen
v6 adresimiz sayesinde IPv6 Internet’indeki herhangi makineye erişebiliriz (Şekil 6.3.11).
Şekil 6.3.11 PC2’den www.kame.net sitesine ping6 ile erişim.
55
www.kame.net adresine IPv6 protokolü sayesinde erişirken kullanılan ağ geçitlerini
Şekil 6.3.12’de görebiliriz.
Şekil 6.3.12 v6 ile www.kame.net ‘e erişirken paketlerin izlediği güzergah.
Mozilla Firefox sürüm 1.5.0.8 tarayıcımız ile artık adres çubuğuna Internet Protokol
sürüm 6 adreslerini yazarak Internet’e çıkabiliyoruz.
Şekil 6.3.13 Tarayıcıda v6 adres çağrımına örnek.
Ülkemizdeki IPv6 geçiş çalışmalarında öncü kuruluş olan ULAKBİM tarafından
aşağıdaki servisler (ULAKBİM) verilmeye başlanmıştır:
* Web www6.ulakbim.gov.tr [2001:a98:10::36]
* Rsync rsync6.ulak.net.tr [2001:a98:11::10]
56
* Ftp ftp6.ulak.net.tr [2001:a98:11::10]
* Web önbellekleme wwwcache6.ulak.net.tr [2001:a98:11::2]
* Dns nsv6.ulak.net.tr [2001:a98:10::251]
* E-Posta mail.ulakbim.gov.tr [2001:a98:10::6]
Şekil 6.3.14 Ulakbim v6 ftp hizmeti sunucusuna erişim (sayısal adres çağrımı ile).
57
Şekil 6.3.15 Ulakbim v6 ftp hizmeti sunucusuna erişim.
2. Yöntem:
Tünelleme hizmeti sağlayan bir İSS’den veya tünel komisyoncusundan tünelleme
hizmeti alarak dış v6 ağına çıkabiliriz. Bu ikinci yöntemi uygulamak için tunnelbroker.net
adresinde Hurricane Electric Internet Services şirketinden tünel talebinde bulunduk. Şu an
için bu hizmetler ücretsiz olarak veriliyor. Bize verilen kullanıcı adı ve parola bilgileriyle
sisteme girdiğimizde tünel ayarlarımızı görüyoruz.
Server IPv4 address:
64.71.128.83
Server IPv6 address:
2001:470:1F01:FFFF::196E/127
Client IPv4 address:
193.255.97.97
Client IPv6 address:
2001:470:1F01:FFFF::196F/127
Assigned /64:
none
ASN:
none
Last Ping6:
none
Last Inbound Packet:
none
Registration Date:
Tablo 6.3.2 Bize tahsis edilen tünel hakkında ayrıntılı bilgi.
Thu, Oct 19, 2006
Tünel hizmeti talep ettiğimiz servis sağlayıcı Tablo 6.3.2’de gösterilen bilgileri bize
üyeliğimizden birkaç gün sonra sağladı. Tablodaki bilgilerden özellikle istemci ve sunucu
v4/v6 adres bilgileri bizim bilgisayarımız ile servis sağlayıcı uç nokta arasındaki tünel inşası
58
için çok önemli. Bu bilgilerden sonra istenirse yine servis sağlayıcının sitesinden tünel
oluşturulması için komut verebiliriz veya tüneli oluşturmak için kendimiz komutları yazarız.
Tünel oluşturmadan önceki bağlantı sınamamızda tarayıcımızda gördüğümüz gibi
http:://[2001:200:0:8002:203:47ff:fea5:3085]/ v6 adresine (ki bu adres www.kame.net adresi)
erişemiyoruz (Şekil 6.3.16).
Şekil 6.3.16 Tünel oluşturulmadan önceki bir v6 adrese erişememe durumu.
PC2 makinesinde tünel oluşturma komutlarını Tablo 6.3.2’deki bilgileri göz önünde
bulundurarak giriyoruz.
Şekil 6.3.17 sit arayüzlerinin tanımlanması.
59
Şekil 6.3.18 İki uç nokta arasında tünel oluşturma ve gerekli yönlendirme ayarları.
Tüm bu ayarları yaptıktan sonra daha önce erişemediğimiz IPv6 Internet’ine artık
erişebilir durumdayız (bknz:Şekil 6.3.19)
Şekil 6.3.19 Çeşitli v6 adreslerine başarılı erişimler.
60
6.4 Örnek bir kurumun 6to4 tünelleme ile IPv6 Internet’ine
erişimi için yapılması gereken yapılandırma ayarları
Çalışmamızın bu kısmında bir kurumsal yerleşkenin (örneğin; bir eğitim kurumu,
küçük bir yazılım firması veya küçük bir üretim şirketi) 6to4 tünelleme kullanarak IPv6
omurgası 6bone’a nasıl bağlanacağını anlatacağız. 6bone özel olarak IPv6’nın gelişmesi ve
yayılmasına yardımcı olmak için kurulmuş bir test ağı idi. 06.06.2006 itibariyle test
bağlantıları sonlandırılmıştır. Ancak burada 6bone ile kastettiğimiz tünelin sonundaki v6
desteği veren IPv6 omurgasına bağlantı sağlayabilecek İSS kurumdur. Örneğin daha önceki
testlerimizde hizmet aldığımız Hurricane Electric Internet Services Inc. bizim için İSS idi.
Üniversitemiz için ise bu kurum ULAKBİM’dir.
Çalışmamızda örnek bir kurumun IPv6 Internet’ine çıkabilmesi için oluşturulmak
istenen tünelin yapılandırılması için gerekenler anlatılacaktır.
6.4.1 Gereksinimler
6bone için 6to4 tünel oluşturmadan önce yapılması gerekenler:
•
•
•
•
•
•
Kurumda dual-stack çalıştırılabilmesi için yapılandırılması gerekecek yönlendirici
belirlenmelidir. Bu yönlendiricinin statik ve yönlendirilebilir bir IPv4 adresi olmalıdır.
6bone servis sağlayıcısından 6bone erişimi için kullanılacak IPv4 adresi elde
edilmelidir. Kurumun uç yönlendiricisi için tüneli yapılandırırken global
yönlendirilebilir IPv4 adresleri kullanılmalıdır. Bizim anlatımımızdaki örnek
yapılandırmalarda kullanılan IPv4 adresleri, global yönlendirilebilir değildir. Sadece
örnek olması amacıyla kullanılmıştır.
Alan adı sisteminin (DNS) çalıştığına emin olunmalıdır (BIND v9).
Dual-stack gerçekleştirimi için hem IPv4 hem de IPv6 üzerinde TFTP, ping, telnet ve
traceroute gibi uygulamaların çalışabilmesine izin veren yönlendiriciler üzerindeki
Cisco IOS (Internetwork Operating System) yazılımlarının bu işlemleri destekleyen
sürümlerinin varlığını temin etmelisiniz.
RIPng gibi ağ yapısına uygun dahili IPv6 yönlendirme protokolü seçilmelidir. Burada
bahsedilen çözüm statik yönlendirme kullanır. İlgili IPv4 harici yönlendirme
protokolü de harici yönlendirmeleri yönetir.
Bütün dual-stack yönlendiriciler RIP kullanması için yapılandırılmalıdır.
6.4.2 Kullanılan Bileşenler
Buradaki bilgiler IPv6 destekli Cisco IOS yazılımları temelindedir. Burada sözü edilen
aygıtların başlangıçta varsayılan yapılandırmaları ile başladığı varsayılmıştır. Şekil 6.4.1
kurumsal yerleşke için başlangıç IPv4 ağ topolojisini göstermektedir. Bu ağda yerel
kullanıcılar arasında IP bağlanabilirliğini sağlayan bazı yönlendiricilerin olduğunu düşünelim.
Internet servis sağlayıcıya sürekli IPv4 bağlantısı, harici bağlanabilirlik sağlamaktadır.
61
Kurum IPv4 Ağı
IPv4
Kurum dışı IPv4
Bağlantısı
IPv4
IPv4
IPv4 İSS
IPv4
İnternet
Şekil 6.4.1 Örnek kurumun başlangıç IPv4 ağ topolojisi.
Aşağıdaki tablo önerilecek bağlantı çözümünde kullanılan aygıtları tanımlamaktadır.
Aygıt
Alan adı
Cihaz tipi
Fiziksel arayüzler
Kurum Yönlendiricisi
6bone-gw
Cisco 3660 router
2 Ethernet
2 Fast Ethernet
4 Serial
Yüklenen yazılım
Cisco IOS Sürüm 12.2(4)T
Bellek
64MB RAM; 16 MB Flash
IP adresleri
Ethernet0: IPv4
192.168.99.1
Tunel2002: IPv6
2002:C0A8::1/128
Tablo 6.4.1 Çözüm için kullanılan aygıtların tanımlamaları.
6bone İSS Yönlendiricisi
IPv6-router
Cisco 7206 router
4 Ethernet
2 Fast Ethernet
4 Serial
Cisco IOS Sürüm 12.2(4)T
128 MB RAM; 20 MB Flash
Ethernet0/0:IPv4
192.168.33.1
Tunel2002:IPv6
2002:C0A8:2102::1/128
6.4.3 6to4 Tünelinin Çalışma Mekanizması
6to4 tüneli kurumsal dual-stack yönlendirici üzerinde yapılandırılır. 6bone için
hedeflenen bütün IPv6 trafiği IPv4 üzerinden yönlendirilir. 6bone’dan kurumsal
yönlendiriciye olan trafik IPv4 üzerinden kurumsal dual-stack yönlendiriciye tünel yoluyla
yönlendirilir, daha sonra IPv6 hedef makineye iletilmektedir..
6to4 tünelleme kullanmanın kuruma faydaları:
•
•
•
Cisco IOS yazılımı 6to4 tünellemeyi destekler.
Son kullanıcı makine yapılandırması kolaydır. Çok az yönetim gereksinimi vardır.
Tünel otomatiktir; 6to4 nakil tarafında kuruma özel bir yapılandırma
gerekmemektedir.
62
•
•
•
Bu çözüm kurumda dinamik IP adresleri barındırır.
Sadece oturum anında tünel var olur.
6to4 tüneli İSS’de sadece bir defaya mahsus pek çok kurumsal yönlendiriciye eş
zamanlı erişilebilir servis sağlayan yapılandırma gerektirir.
6.4.4 6to4 Tünellerinin Kısıtlamaları
6to4 tünel kullanımının şu kısıtlamaları vardır:
•
•
•
•
•
•
Tünel yolu boyunca bağımsızca yönetilen NAT’a izin verilmez.
Multihoming kolayca gerçekleştirilemez.
6to4 tünelleme mekanizması bir tane /48 adres bloğu sağlar; daha fazla adres yoktur.
6to4 tünelleri çoklu kanallardan tek bir kanala birleştiğinden 6to4 tünelleri İSS’ye
sadece genel trafik bilgilerini sağlar.
IPv4 adresi kurumsal 6to4 IPv6 adres önekini belirler, dolayısıyla ham IPv6’ya geçiş
ağın yeniden numaralandırılmasını gerektirecektir.
Bu çözüm statik veya BGP4+ yönlendirmeyle kısıtlıdır.
6.4.5 Tünelleme Senaryosu
IPv4 ile çalışan bir kurumun IPv6 ağı üzerinde çalışan başka bir kurumla birleşimi
sunulacak çözüm ile gerçekleştirilebilecektir.
Kurumun genel olarak işletme amaçları şunlardır:
•
•
Varolan IPv4 topolojisini kullanarak, minimum yatırım ile, kurulu bulunan bir IPv6
omurgası üzerinde deneyim kazanmak.
IPv6’ya aktarım projeleri başlamadan önce geçiş ve işlevsel prosedürleri gerçek
dünyada test etmek.
Geçiş işlemleri IPv4’ten IPv6’ya geçerken yapılması gerekecek olan işlemlerdir. Bu
işlemler dual-stack yönlendiricilerin ve uç sistemlerin, tünelleme mekanizmalarının, DNS’nin
(Alan Adı Sistemi) ve gelecekte NAT-PT’nin (Ağ Adres Çözücü - Protokol Çözücü)
kurulumunu, ayarlamalarını içerir.
İşlevsel prosedürler; ağ yönetimiyle, dual-stack hostların ve uç sistemlerin yönetimiyle
ve diğer benzer fonksiyonlarla ilgilidir.
• Yerel iş istasyonlarında IPv6 uygulamalarını ve tanımlamalarını test etmek.
• 6bone bağlantısı ile ilgili yönetimsel zorlukları en aza indirmek.
Örnek olarak ele aldığımız kurumun yönlendiricisinin IPv4 adresi 192.168.99.1’dir.
Bu IPv4 adresinden, IPv4 adresinin onluk bileşenleri onaltılık bileşenlere çevrilerek ve çıkan
sonuca 2002 öneki eklenerek 6to4 öneki elde edilir. Dolayısıyla ağdaki IPv6 düğümü için
6to4 öneki 2002:C0A8:6301::/128’dir.
IPv6 adresinin C0A8:6301 parçası, IPv4 adresinin her bir oktetinin onaltılık sayıya
çevrilerek birleştirilmesiyle oluşmuştur (bknz: Tablo 6.4.2)
63
Onluk
Onaltılık
192
C0
168
A8
99
63
1
01
Tablo 6.4.2 192.168.99.1 adresinden C0A8:6301 v6 adres parçasının elde edilişi.
Artık tanımlanan özelliklerin yapılandırma ayarlarının nasıl yapılacağını aktaracağız.
6.4.6 Ağ Diyagramı
Yapılandırmalar için Şekil 6.4.2’de gösterilen ağ ayarları kullanılacaktır. Şekil 6.4.2,
kurumdan 6bone’a tipik bir 6to4 tüneli topolojisini gösterir.
İSS 6to4 nakil
yönlendirici
6to4 tüneli
Kurum
Kurum IPv6 ağı
6bone
IPv4
IPv4
192.168.99.1
IPv4
192.168.33.1
IPv6
2002:C0A8:6301::1/128
IPv6
2002:C0A8:2101::1/128
Şekil 6.4.2 Kurumdan v6 omurgasına 6to4 tüneli.
6.4.7 Yapılandırmalar
6bone İSS kendi IPv4 yönlendiricisi (border router) için bir IPv4 adresine sahiptir. Bu
adres, bizim örneğimizde 192.168.33.1’dir. Önceki adres bilgileri kullanılarak aşağıdaki
komutları girmek suretiyle kurumda tanımlanan dual-stack yönlendirici üzerinden 6bone
İSS’ye 6to4 tüneli yapılandırılacaktır.
Kurum Yönlendiricisi
ipv6 unicast−routing
interface Ethernet0
description 6bone İSS’ye baglanti
ip address 192.168.99.1 255.255.255.0
interface Tunnel2002
description 6bone İSS’ye 6to4 tuneli
no ip address
no ip redirects
ipv6 address 2002:C0A8:6301::1/128
tunnel source ethernet0
tunnel mode ipv6ip 6to4
ipv6 route 2002::/16 Tunnel2002
ipv6 route ::/0 2002:C0A8:2101::1
64
İkinci IPv6 route komutundaki 2002:C0A8:2101::1 6bone’a erişimi sağlayan İSS 6to4
nakil yönlendiricisinin IPv6 adresidir. C0A8:2101 adres parçası 6to4 nakil yönlendiricisinin
IPv4 (192.168.33.1) adresinden türetilmiştir.
Tünelin diğer ucunda, 6bone İSS’deki yönlendiricinin (border router) yapılandırması
aşağıdaki IPv6 unicast yönlendirme örneğinde olduğu gibi olmalıdır:
İSS 6to4 Nakil Yönlendirici
ipv6 unicast−routing
interface ethernet0/0
description kuruma baglanti
ip address 192.168.33.1 255.255.255.0
interface Tunnel2002
description 6to4 nakil hizmeti
no ip address
no ip redirects
ipv6 address 2002:C0A8:2101::1/128
tunnel source ethernet0/0
tunnel mode ipv6ip 6to4
ipv6 route 2002::/16 tunnel2002
Kurum Yönlendiricisi 6bone-gw
maui−soho−01# show running−config
Building configuration...
.
.
.
username maui−nas−05 password cisco
! Yönlendirici üzerinde çalışan Cisco IOS yazılımının versiyonu
!
version 12.2
!
! Log ve hata duzeltme mudahalelerine zaman pullari koyarak agda
! sorun cozmeyi ve iyilestirmeyi kolaylastirabilirsiniz
!
service timestamps debug datetime localtime show−timezone
service timestamps log datetime localtime show−timezone
!
! Yapilandirma ciktisinda parolalarin sifrelenecegini vurgulayin
!
service password−encryption
!
! Yonlendirici (router) adini yapilandirin
!
hostname 6bone−gw
!
! Acilis (boot) seceneklerini yapilandirin
!
boot system flash slot0:
boot system flash bootflash:
!
! log lama islemini yapilandirin
logging buffered 10000 debugging
!
! Gizli parolayi yapilandirin
!
enable secret 5 [removed]
!
! Saat zaman bolgesini ve yaz saati kuralini yapilandirin
!
65
clock timezone PST −8
clock summer−time PDT recurring
!
!
ip subnet−zero
no ip source−route
no ip rcmd domain−lookup
!
! Yonlendirici (router) domain adini yapilandirin
!
ip domain−name EnterpriseDomain.com
!
! DNS alan adi sunucularini yapilandirin
!
ip name−server 192.168.1.10
ip name−server 192.168.2.21
ip name−server 2002:C0A8:6301:1::21
!
! IPv6 yonlendirmesini aktiflestirin (Enable IPv6 routing)
!
ipv6 unicast−routing
!
! Tunel arayuzunu yapilandirin
!
interface Tunnel2002
description 6bone İSS’ye 6to4 tuneli
no ip address
no ip redirects
ipv6 address 2002:C0A8:6301::1/128
tunnel source ethernet0
tunnel mode ipv6ip 6to4
!
! Fiziksel arayuzu yapilandirin
!
interface Ethernet0
description 6bone İSS’ye baglanti
ip address 192.168.99.1 255.255.255.0
!
interface Ethernet1
description connection to Lab interface router
ip address 192.168.99.40 255.255.255.0
ipv6 address 3FFE:FFFF:8023:100::1/64
ipv6 rip v6rip enable
!
interface FastEthernet2/0
description connection to core router
ip address 192.168.99.41 255.255.255.0
ipv6 address 3FFE:FFFF:8023:200::1/64
ipv6 rip v6rip enable
!
interface FastEthernet3/0
description connection to IPv4−only core router
ip address 192.168.99.42 255.255.255.0
!
! Diger arayuzler kullanilmamaktadir
!
interface Serial4/0
no ip address
shutdown
!
interface Serial4/1
no ip address
shutdown
!
interface Serial4/2
no ip address
shutdown
!
66
interface Serial4/3
no ip address
shutdown
!
! Temel IP yonlendirmesini yapilandirin
!
ip default−gateway 192.168.33.1
ip classless
ip route 0.0.0.0 0.0.0.0 192.168.33.1
!
! IPv6 statik rotasini yapilandirin
!
ipv6 route 2002::/16 tunnel2002
ipv6 route ::/0 2002:C0A8:2101::1
ipv6 router rip v6rip
end
end
6bone IPv6 İSS Yönlendiricisi
maui−soho−01# show running−config
Building configuration...
.
.
.
username maui−nas−05 password cisco
!
! Yonlendiricide Cisco IOS yaziliminin hangi sürümünün calisiyor oldugunu
! belirleyin
!
version 12.2
!
! Log ve hata duzeltme mudahalelerine zaman pullari koyarak agda
! sorun cozmeyi ve iyilestirmeyi kolaylastirabilirsiniz
!
service timestamps debug datetime localtime show−timezone
service timestamps log datetime localtime show−timezone
!
! Yapilandirma ciktisinda parolalarin sifrelenecegini vurgulayin
!
service password−encryption
!
! Yonlendirici (router) adini yapilandirin
!
hostname ipv6−router
!
! Acilis (boot) seceneklerini yapilandirin
!
boot system flash slot0:
boot system flash bootflash:
!
! log lama islemini yapilandirin
!
logging buffered 10000 debugging
!
! Gizli parolayi yapilandirin
!
enable secret 5 [removed]
!
! Saat zaman bolgesini ve yaz saati kuralini yapilandirin
!
clock timezone PST −8
clock summer−time PDT recurring
!
!
ip subnet−zero
no ip source−route
no ip rcmd domain−lookup
!
! Yonlendirici (router) domain adini yapilandirin
67
!
ip domain−name 6boneISS.com
!
! DNS alan adi sunucularini yapilandirin
!
ip name−server 192.168.33.4
ip name−server 192.168.33.5
ip name−server 3FFE:FFFF:8001::4
!
! IPv6 yonlendirmesini aktiflestirin (Enable IPv6 routing)
!
ipv6 unicast−routing
!
! Tunel arayuzunu yapilandirin
!
interface Tunnel2002
description 6to4 nakil hizmeti
no ip address
no ip redirects
ipv6 address 2002:C0A8:2101::1/128
tunnel source ethernet0/0
tunnel mode ipv6ip 6to4
!
! Fiziksel arayuzu yapilandirin
!
interface Ethernet0/0
description kuruma baglanti
ip address 192.168.33.1 255.255.255.0
!
interface Ethernet0/1
no ip address
shutdown
!
interface Ethernet0/2
no ip address
shutdown
!
interface Ethernet0/3
no ip address
shutdown
!
interface FastEthernet1/0
description connection to İSS−core−A
ip address 192.168.34.10 255.255.255.0
ipv6 address 3FFE:FFFF:8023:2::6/64
duplex auto
speed auto
!
interface FastEthernet2/0
description connection to İSS−core−B
ip address 192.168.35.22 255.255.255.0
ipv6 address 3FFE:FFFF:8023:2::8/64
duplex auto
speed auto
!
! Diger arayuzler kullanilmamaktadir
!
interface Serial4/0
no ip address
shutdown
!
interface Serial4/1
no ip address
shutdown
!
interface Serial4/2
no ip address
shutdown
68
!
interface Serial4/3
no ip address
shutdown
!
! Temel IP yonlendirmesini yapilandirin
!
ip default−gateway 192.168.30.1
ip classless
ip route 0.0.0.0 0.0.0.0 192.168.30.1
!
! IPv6 statik rotasini yapilandirin
!
ipv6 route 2002::/16 tunnel2002
!
end
Böylece ele aldığımız örnek kurum ile IPv6 omurgasına çıkışı bulunan İSS arasında
tünel yapılandırılması ile kurumun IPv6 Internet’ine erişimi sağlanmış olmaktadır (Cisco6bone).
69
6.5 Üniversitemizde mevcut IPv4 yapısının IPv6’ya entegrasyonu
için yapılması gerekenler
Türkiye’de ULAKBİM tarafından IPv6’ya geçiş aşamasında önümüzdeki 3-4 sene
boyunca omurganın ve uçlardaki birimlerin ikili yığın (dual-stack) olarak çalıştırılması
planlanmaktadır (Karaarslan, 2006). Çanakkale Onsekiz Mart Üniversitesi ULAKBİM’e göre
bir uç birim sayılmaktadır. Üniversitelerde IPv6’ya geçiş çalışmalarının ilk olarak sunucu
sistemlerden başlayıp mevcut IPv4 ile verilen hizmetlerin IPv6 destekler hale getirildikten
sonra son kullanıcı seviyesinde IPv6 desteği için uğraşılması öngörülmektedir. IPv6’ya
tümden geçişin işletim sistemi ve programların IPv6 desteğinin artmasıyla beraber
kendiliğinden yavaş yavaş olabilecek bir konu olduğu düşünülmektedir. Tamamen IPv6’ya
geçmek IPv4‘den vazgeçilmesi anlamına geleceği için, bu konunun ne zaman olabileceği
bizim Üniversitemizin dışında UlakNet, Türk Telekom ve diğer internet servis sağlayıcıların
IPv6‘ya geçiş planlarının ne olduğu ve ne kadar zamanda IPv6 destekler hale geleceklerine de
bağlıdır. Bu nedenle tamamen ham IPv6 bağlantısına geçiş için zaman konusunda tahmin
yapmak zordur. IPv6 ağlarının IPv4 ile konuşması için 4. bölümde bahsettiğimiz 6to4 IP
tünelleri veya “6to4 nakil yönlendirici” gibi çözümler kullanmak gerekecektir.
Biz çalışmamızın bu bölümünde Çanakkale Onsekiz Mart Üniversitesi’nin internet üst
servis sağlayıcısı olan ULAKBİM vasıtasıyla IPv6 Internet’ine çıkabilmesi için neler
yapılması gerektiğinden bahsedeceğiz. Bunun için odak noktamız Üniversitemiz
yönlendiricisinde bu desteğin nasıl ve ne şekillerde aktifleştirileceği olmuştur.
Bu IPv6 yapılandırmamız için ÇOMÜ Bilgi İşlem Dairesi Başkanlığı tarafından şu an
Üniversitemiz ağ yapısında kök yönlendirici olarak kullanılan Cisco 7206 yönlendiricinin
teknik özellikleri hakkında bilgi topladık. Yönlendirici üzerinde çalışan Cisco IOS 12.3 (1a)
yazılımının ve yönlendirici donanımının temel IPv6 bağlantı yapılandırmalarını desteklediğini
öğrendik (Cisco IPv6).
Cisco 7206 yönlendiricinin ham IPv6 bağlantısı ve IPv6 tünellemesi için nasıl ve ne
şekilde yapılandırılacağını belirteceğiz. Çalışmamızda gerekli yapılandırmalar örnek adresler
üzerinde açıklanmaktadır.
6.5.1 Otomatik Yapılandırma:
Yönlendiricide öncelikle “enable” moda, daha sonra “configure terminal” moda
geçilir. Cisco ürünlerinde IPv6 arayüz seviyesinde çalıştırılır. Bunun anlamı IPv6 ağı idare
edilmesi istenen her bir arayüzde (interface) IPv6 aktifleştirilmesi gerektiğidir (enable). IPv6
aktifleştirildiğinde artık arayüze v6 adres ataması yapılabilmektedir. Adres atamasından sonra
yönlendiricinin hizmet sunduğu istemcilere adres bildirimleri yapabilmesi için yönlendirici
keşif protokol bilgisinin yapılandırılması yapılmalıdır. Bu yapılandırma ile yönlendirici
istemcilere ağ bilgisi yayımı yapar.
Yönlendirici üzerinde girilecek otomatik yapılandırma komutları şu şekildedir:
COMU Cisco 7206 Yönlendirici IPv6 Otomatik Yapılandırması
cisco-router>
cisco-router#
cisco-router#
cisco-router#
cisco-router#
cisco-router#
autoconfig
enable
configure terminal
interface e2/1
ipv6 enable
ipv6 address 3FFE:80F0:1:1::1/64
ipv6 nd prefix-advertisement 3FFE:80F0:1:1::/64 86400 86400 onlink
Burada ipv6 adresi ULAKBİM’in Üniversitemize tahsis ettiği IPv6 adresi olacaktır.
Son komut satırında yer alan ilk 86400 sayısı istemcinin ağ bilgisinin değişip değişmediğini
sınaması için geçerli yaşam süresidir, burada 24 saate karşılık gelmektedir. İkinci 86400
70
sayısı ise yönlendirici tarafından tercih edilen yaşam süresini gösterir. Yine son satırdaki
onlink bildirimi IPv6 adres dağıtımının sadece ilgili ağ üzerinde bağlantısı bulunan düğümlere
yapılacağını belirtir. Autoconfig komutu ise istemcilere adreslerinin otomatik olarak
yapılandırılacağını bildirmektedir. Adresin ağ kısmı olan ilk 64 bit tamamen yönlendiriciden
elde edilmektedir, host kısmı ise istemcinin MAC adresinden türetilecektir.
Bu bölümde bahsettiğimiz yapılandırma ayarları ile ağ içinde bulunan istemcilere v6
adresleri dağıtılabilmektedir.
6.5.2 Tünel Yapılandırması:
Cisco 7206 yönlendirici ve üzerindeki Cisco IOS 12.3 (1a) yazılımı iç ağdaki IPv6
aygıtlarının IPv4 tüneli ile IPv6 ağına çıkışımızı sağlayacak olan ULAKBİM’e bağlanmasını
sağlayabilecek yeterliliğe sahiptir.
Bu durumda bilinmesi gerekenler ULAKBİM’e göre istemci durumunda olan kök
ÇOMÜ yönlendiricisinin IPv4 adresi ve ona tahsis edilen IPv6 adresi ile ULAKBİM’in bize
bu konuda hizmet sağlayacağı yönlendiricinin (border router) IPv4 adresi ile IPv6 adresidir.
IPv4 üzerinde IPv6 tüneli yapılandırması için aşağıdaki yapılandırma ayarları
girilmelidir:
COMU Cisco 7206 Yönlendirici IPv6 Tünel Yapılandırması
interface Tunnel10
description tunelin istemci tarafına baglanti
3FFE:80F0:F:4::/64
no ip address
ipv6 enable
ipv6 address 3FFE:80F0:2::8/127
tunnel source 192.142.129.2
// tüneli sağlayan İSS IPv4 adresi
tunnel destination 192.31.7.104
// tünelin istemci tarafındaki IPv4 adresi
tunnel mode ipv6ip
Tünelin her iki tarafındaki adresler statik olarak yapılandırılmalıdır. Tünel hizmeti
sağlayıcısı istemci tarafındaki tünel ucunda yapılandırılmış olan IPv4 adresinin global olarak
tekil olup olmadığını sınayacaktır.
Burada istemcinin ağı 3FFE:80F0:F:4::/64 adresi ile belirtilmektedir. Tünelin istemci
tarafındaki yönlendiricinin iç ağa bu adres aralığından IPv6 adresi dağıtması bir önceki
bölümde bahsedildiği gibi yapılabilir.
6.5.3 BGP4+:
Yönlendiriciden dış ağa doğru yapılacak olan IPv6 yönlendirmelerini gerçekleştirmek
için yaygın olarak kullanılan yöntemlerden biri de BGP (Border Gateway Protocol) veya
BGP4+ protokolüdür. Cisco 7206 yönlendiricinin AS numarası ile BGP komşularının IPv6
adresleri ve AS numaraları belirtilmelidir.
Kullanım:
router bgp <AS numarası>
neighbor <komşunun IPv6 adresi> <komşunun AS numarası>
Örnek:
router bgp 9340
neighbor 3FFE:82E1:8000::12 remote-as 8102
Bu yapılandırma bir BGP kaydını ifade eder. Çoklu BGP kayıtları girmek benzer
yapılandırmaların ardı ardına eklenmesi ile mümkündür.
71
6.5.4 Statik Yönlendirme:
IPv6 sistemde statik rotaların eklenmesinin aşağıdaki komut ile yapıldığını daha
önceki bölümlerde izah etmiştik.
Kullanım:
ipv6 route <hedef IPv6 ağı> <IPv6 arayüzü>
Örnek:
ipv6 route 3FFE:80F0:F:4::/64 3FFE:80F3:1:2:A01:20FF:FED9:52B4
Tünel istemcileri için yapılacak yönlendirme de aynıdır, tek yapılması gereken ağdan
gelen tüm trafiğin tünel ucu arayüzüne sadece tünelin adını belirtmekle yapılabilecek
yönlendirmedir.
Örneğin:
ipv6 route 3FFE:80F0:F:4::/64 Tunnel10
Eğer v6 omurgasına tünel ile bağlanıyorsak tüm IPv6 trafiğini tünel arayüzümüzün
ucundan üst servis sağlayıcımıza (upstream service provider) yine statik rota komutu ile
yönlendirmeliyiz (Üniversitemiz üst servis sağlayıcısı ULAKBİM’dir):
ipv6 route 3FFE::/16 Tunnel10 120
Komutun sonunda yer alan 120 sayısı yönetimsel uzaklığı (administrative distance)
ifade eder. Yönetimsel uzaklık BGP ve OSPF protokollerinin yönlendirme bilgisi kaynağında
yer alan güven seviyesidir. Bu sayı 1 ila 255 arasında değerler alır. Değer arttıkça kaynağın
güven seviyesi azalır. Değerin 255 olması kaynağın görmezden gelinmesi anlamını taşır
(Loshin, 2003).
72
7. SONUÇ
IPv4 ağ sistemlerinden IPv6 ağ sistemlerine geçiş gelecek yeni nesil teknolojilerinin
takip edilmesi açısından önemlidir. Bu sürecin Türkiye açısından hızlandırılması gelişmekte
olan Türkiye’mizin ağ teknolojileri konusunda diğer ülkelerden geri kalmaması için
önemlidir.
Projemizde hedeflediğimiz, yeni nesil Internet teknolojisi IPv6 hakkında ayrıntılı
bilgileri ve bu teknolojinin uygulanabilirliğine dair çalışmalarımızı aktardık.
73
KAYNAKLAR
Beijnum V. I., Running IPv6, 2006, syf. 2-5.
Bieringer P., “Linux IPv6 HOWTO (en)”, 2006,
http://www.tldp.org/HOWTO/html_single/Linux+IPv6-HOWTO/ ve Türkçe Çevirisi Yücel
N., “Linux IPv6 NASIL”, 2005, http://www.belgeler.org/howto/ipv6-howto.html.
Bradner, B. and Mankin, A. The Recommendation for the IP Next Generation
Protocol. RFC 1752, Ocak 1995.
Carpenter B., Moore K., "Connection of IPv6 Domains via IPv4 Clouds", RFC 3056,
Şubat 2001.
Cisco IPv6, www.cisco.com/ipv6
Cisco-6bone. “Cisco − 6bone Connection Using 6to4 Tunnels for IPv6”, Aug 08,
2005, Document ID: 45741
Conta A., Deering S., "Internet Control Message Protocol (ICMPv6) for the Internet
Protocol Version 6 (IPv6) Specification",RFC 2463, Aralık 1998.
Davies J., Understanding IPv6, Microsoft Press; Bk&CD-Rom edition (13 Kasım,
2002).
Deering S., Hinden R., “Internet Protocol, Version 6 Specification”, RFC 2460, Aralık
1998.
Droms, R., "Dynamic Host Configuration Protocol", RFC 2131, Mart 1997.
Droms R., Bound J., Volz B., Lemon T., Perkins C., Carney M.,"Dynamic Host
Configuration Protocol for IPv6 (DHCPv6)",RFC 3315, Temmuz 2003.
Egevang, K., Francis, P., "The IP Network Address Translator (NAT)", RFC 1631,
Mayıs 1994.
Fedora. Linux 2.6.15-1.2054, Fedora Core 5 işletim sisteminde
/usr/share/doc/initscripts8.31.1/ipv6-6to4.howto ve /usr/share/doc/initscripts8.31.1/sysconfig.txt belgeleri.
Ferguson P., Senie D.,” Network Ingress Filtering: Defeating Denial of Service
Attacks which employ IP Source Address Spoofing”, RFC 2827, Mayıs 2000.
Fink R., Hinden R., "6bone (IPv6 Testing Address Allocation) Phaseout",RFC 3701,
Mart 2004.
Fuller V., Li T., Yu J., Varadhan K., "Classless Inter-Domain Routing (CIDR): an
Address Assignment and Aggregation Strategy", RFC 1519, Eylül 1993.
74
Gilligan R., Nordmark E.,"Transition Mechanisms for IPv6 Hosts and Routers",RFC
2893, Ağustos 2000.
Hagen S., IPv6 Essentials, O'Reilly Media, Inc.; 1 edition (Temmuz, 2002).
Hagino J., IPv6 Network Programming, Digital Press (18 Ekim, 2004).
Hinden R., Deering S.,"IP Version 6 Addressing Architecture (obsolete)", RFC 1884,
Aralık 1995.
Hinden R., Deering S., "IP Version 6 Addressing Architecture", RFC 2373, Temmuz
1998.
Hinden R., Deering S., "IP Version 6 Addressing Architecture", RFC 4291, Şubat
2006.
Huang, Nen-Fu, Han-Chieh Chao, Reen-Cheng Wang, Whai-En Chen, Tzu-Fang
Sheu, The Ipv6 Deployment and Projects in Taiwan, Proceedings of the 2003 Symposium on
Applications and the Internet Workshops.
Huitema C., IPv6 The New Internet Protocol (Second Edition), Prentice Hall 1998.
Huitema C., Carpenter B., "Deprecating Site Local Addresses", RFC 3879, Eylül
2004.
IETF. http:/www.ietf.org/
ipv6style, http://www.ipv6style.jp/en/tech/20030331/index.shtml
IPv6. http:/www.ipv6.org/
IPv6 Forum. http://www.ipv6forum.com/
IPv6 Türkiye, http://www.ipv6.org.tr.
Karaarslan E., TCP/IP Protokolü ve Zayıflıkları, 2006, http://csirt.ulakbim.gov.tr
Kent, S., Atkinson, R., "Security Architecture for the Internet Protocol", RFC 2401,
Kasım 1998.
Kirch O., Dawson T., Linux Network Administrator's Guide, O'Reilly & Associates,
2000, Syf. 39.
Kobayashi ve diğ., JGN IPv6 Network, Kobayashi K., Katsuna S., Nakamura K.,
Mikamo Y., Hayashi H., Machizawa A., Kitatsuji Y., Esaki H., Proceedings of the 2003
Symposium on Applications and the Internet Workshops.
Li Chongrong, Xing Li, Jianping Wu, Yue You, Maoke Chen, IPv6 Development in
China, SAINT Workshops 2003: 153-156.
75
Loshin P., IPv6, Second Edition : Theory, Protocol, and Practice, 2nd Edition (The
Morgan Kaufmann Series in Networking), (12 Aralık, 2003) Syf. 342-343, 376-381.
Malone ve diğ., IPv6 Network Administration, David Malone, Niall Richard Murphy,
O'Reilly Media, Inc.; 1 edition (2 Mart, 2005).
Microsoft. http://www.microsoft.com/technet/network/ipv6/default.mspx
Miller Mark, P. E. Miller, Implementing IPV6: Supporting the Next Generation
Internet Protocols, M&T Books, Second Edition 2000.
Murphy N.R., Malone D., Mart 2005, IPv6 Network Administration, Syf. 64-77
Narten T., Draves R., "Privacy Extensions for Stateless Address Autoconfiguration in
IPv6", RFC 3041, Ocak 2001.
Niles, K., IPv6 Networks, Date Published 05/01/1998.
Postel J., "Internet Protocol", RFC 760, Ocak 1980.
Postel, J., "Internet Protocol", RFC 791, Eylül 1981.
Rekhter, Y., Li, T., "An Architecture for IP Address Allocation with CIDR", RFC
1518, Eylül 1993.
Rekhter Y., Moskowitz B., Karrenberg D., de Groot G. J., Lear E., "Address
Allocation for Private Internets", Şubat 1996.
Simpson, W., "The Point-to-Point Protocol (PPP)", RFC 1661, Haziran 1994.
TAO. Homepage. "Japan Gigabit Network", http://www.jgn.tao.go.jp/
Tian J., Zhongcheng L., The Next Generation Internet Protocol, 2001.
Topolcic, C., "Experimental Internet Stream Protocol, Version 2 (ST-II)", RFC 1190,
Ekim 1990.
ULAKBİM. http://www.ulakbim.gov.tr/hakkinda/ulakbim/ulaknet.uhtml#ipv6,
http://ipv6.ulakbim.gov.tr/index.php/Ulakbim_IPv6_Servisleri.
Waddington, Daniel G. and Fangzhe Chang, Bell Research Laboratories, Realizing the
Transition to IPv6, IEEE Communications Magazine, Haziran 2002.
Yeğin E. A.,2006, www.teknoTurk.org
Zhang Yujun, Zhongcheng Li, IPv6 Conformance Testing:Theory and Practice, ITC
INTERNATIONAL TEST CONFERENCE, paper 25.3, 2004.
76

Benzer belgeler

Sigtran`ın IPv6`da ki Performansının Değerlendirilmesi

Sigtran`ın IPv6`da ki Performansının Değerlendirilmesi With handled data have been complete analysis IPv6 over SigTran. In last chapter increase for performance gived proposel after utulize data result.

Detaylı

Internet Protocol Version 6

Internet Protocol Version 6 ÖZET Günümüzün IPv4 temelli ağlarında belirginleşen başlıca sorunlardan biri yeni hostlar için nerdeyse elde IP’nin kalmamasıdır. Bu iki nedenden kaynaklanır: Birinci neden, IP uzayının verimli tas...

Detaylı