in Ar-Ge, IPv6

6to4 tünelleme yöntemi ile IPv6 ağına bağlanmak

İyi güzel IPv6 falan da bu bağlantıyı son kullanıcılar nasıl gerçekleştirecek. Aslında servis sağlayıcılar IPv6 bağlantı hizmeti verse, otomatik konfigürasyonla, özellikle windows kullanıcıları, herhangi bir ayara gerek kalmadan IPv6 ağına bağlanabilir. Ancak bildiğim kadarıyla Türkiye’de şu an kullanıcılarına IPv6 bağlantısı sağlayan servis sağlayıcı yok. O halde problemimiz aşağıdaki hale geliyor:

Mevcut IPv4 bağlantısı olan bir masaüstü kullanıcısı IPv6 ağına nasıl bağlanabilir?

Bu sorunun IPv6 geçiş yöntemleri ile birden fazla cevabı var. Bu yazıda IPv4 paketi içinde IPv6 paketi iletimi ile çözüm sağlayan 6to4 tünelleme yöntemine değineceğim.

Global IPv4 adresi: 100.110.120.130 (burada tabi ki gerçek bir IPv4 adresi olacak, IP adresinizi öğrenmek için tıklayın)
IPv4 adresinin onaltılık tabanda gösterimi:  100 = 0x64 110 = 0x6e 120 = 0x78 130 = 0x82 , bu şekilde çevirince 100.110.120.130 = 0x646e7882 , bunu da otomatik olarak yapmak için bu adres mevcut.

Ubuntu 6to4 yöntemi için çalıştırılan komutlar ( buradan kendi bilgisayarınız için örnek ayarlara erişebilirsiniz ) aşağıdadır. Bu komutlar başlangıçta çalışması için “/etc/rc.local” dosyasına eklenebilir. İlk satırda yer alan 100.110.120.130 adresi bizim IPv4 adresimiz. 3. satırdaki 2002:646e:7882::1 IPv6 adresimiz. Son satırdaki ::192.88.99.1 ise bize en yakın 6to4 nakledici yönlendiricini cevap verdiği anycast adresi.

/sbin/ip tunnel add tun6to4 mode sit remote any local 100.110.120.130 ttl 64
/sbin/ip link set dev tun6to4 up
/sbin/ip -6 addr add 2002:646e:7882::1/128 dev tun6to4
/sbin/ip -6 route add 2000::/3 via ::192.88.99.1 dev tun6to4 metric 1

Windows XP 6to4 yöntemi için çalıştırılan komut aşağıdadır. Windows XP aşağıdaki komutla nakledici yönlendirici belirleyince otomatik olarak 6to4 ara yüzü tanımlarını yapıyor ve bağlantı kuruluyor.

netsh int ipv6 6to4 set relay 192.88.99.1 enabled

Buraya kadar herşey güzel. Fakat Türkiye’de büyük bir çoğunluk statik IPv4 adresi kullanmıyor ve evlerindeki modemlerinden sanal IP adresleri kullanıyor. Bu durum nasıl çözülebilir ? Statik IPv4 adresi kullanmamanın çok somut bi çözümü yok. NAT veya ateş duvarı arkasında iseniz ve sanal IP adresi kullanıyorsanız, IPv6 geçiş yönteminiz IPv4 UDP paketleri içine sarmalanmış IPv6 paketi taşıma yöntemi Teredo. Gelelim bu yazının konusu 6to4 yöntemini sanal IPv4 adresi ile kullanmaya. 6to4 yöntemi ile sanal IP adresi kullanımı tanımlanmış bir şey değil. Hatta 6to4 yönteminin tanımlandığı RFC ‘de gerçek IPv4 adresi kullanılması gerektiği söyleniyor. Ancak biraz merak ve deneme ile 6to4 Ubuntu komutlarını aşağıdaki şekilde kullanarak sanal IPv4 adresi ve 6to4 yöntemi ile IPv6 bağlantısı gerçekleştirmeyi başardım.

/sbin/ip tunnel add tun6to4 mode sit remote any local 10.0.0.4 ttl 64
/sbin/ip link set dev tun6to4 up
/sbin/ip -6 addr add 2002:646e:7882::1/128 dev tun6to4
/sbin/ip -6 route add 2000::/3 via ::192.88.99.1 dev tun6to4 metric 1

Bu komutlarda değişen nokta, ilk satırdaki global IPv4 adresi yerine sanal IP adresi 10.0.0.4 ‘ü yazmam. IPv6 bağlantısını Ubuntuda “ping6 ipv6.google.com” komutu ile, Windows XP’de “ping ipv6.google.com” komutu ile deneyebilirsiniz. Daha kolay bir yöntem ise tarayıcınızdan “ipv6.google.com” adresine bağlanmak.

6to4 yöntemi tek bir bilgisayarın geçişi için kullanılacak bir yöntemden ziyade, bir yönlendirici üzerinde yapılan ayarlar ile o yönlendiricinin arkasındaki ağa IPv6 bağlantısı sağlamak için kullanılacak bir yöntem. Bu yazıda sadece bir istemciye IPv6 bağlantısı sağlamaktan bahsettim.

İnsanın aklına takılabilecek bir diğer konu ise 6to4 nakledici adresi olarak bize en yakın nakledicinin cevap verdiği 192.88.99.1 anycast adresini kullanmamız. Bu hangi naklediciyi kullandığımızı bilmediğimiz durumlarda bir güvenlik açığı olabilir. 6to4 durum bilgisi tutan bir yöntem olmadığı için bize cevap veren uç aynı nakledici yönlendiriciyi kullanmayabilir, hatta büyük ihtimalle kullanmayacaktır.

Kaynaklar
[1] http://www.ietf.org/rfc/rfc3056.txt
[2] http://www.ietf.org/rfc/rfc3068.txt
[3] http://www.ietf.org/rfc/rfc3964.txt
[4] http://en.wikipedia.org/wiki/6to4
[5] http://6to4.version6.net/?lang=en_GB
[6] http://www.ibk.tuwien.ac.at/~ipv6/transition.htm

https://www.puttygen.net/

Write a Comment

Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.