- Yayın tarihi
- Okuma süresi
- 6 dk okuma
IPv6 Desteği Nasıl Test Edilir? Komutlar ve Yöntemler
Bir sitenin, ağınızın veya proxy'nizin IPv6 desteğini dig, nslookup, curl, ping ve traceroute ile test etme rehberi. Windows ve Linux komutları, çıktı örnekleri.
IPv6 desteğini test etmek, farklı soruları ayrı ayrı yanıtlamak demektir: Hedefin IPv6 adresi var mı? Sizin ağınız IPv6 ile çıkabiliyor mu? Proxy'niz hedefe hangi adres ailesiyle ulaşıyor? Bu yazıda her soru için Windows ve Linux komutlarını, beklenen çıktıları ve sık yapılan hataları bulacaksınız.
Çıktı örneklerindeki adresler 2001:db8::/32, 192.0.2.0/24 gibi belgelendirme aralıklarından alınmıştır; gerçek bir sunucuya ait değildir. Süre değerleri sizin ağınıza göre değişir, bu yüzden <süre> yer tutucusuyla gösterilmiştir.
Adım 1: Hedefin AAAA kaydına bakın
IPv6 testinin ilk adımı DNS'tir. Bir alan adının IPv6 adresi AAAA kaydında, IPv4 adresi A kaydında tutulur. AAAA yoksa hedefe IPv6 ile doğrudan ulaşamazsınız.
Linux ve macOS: dig
dig AAAA example.com +short
dig A example.com +shortHedef çift yığınlıysa iki komut da adres döndürür:
2001:db8:10::5
192.0.2.80İlk komutun çıktısı boşsa hedef DNS'te IPv6 yayınlamıyor demektir. dig yoksa paket yöneticinizden dnsutils ya da bind-utils paketini kurun; host -t AAAA example.com de aynı işi görür.
Windows: nslookup
nslookup -type=AAAA example.comServer: UnKnown
Address: 192.0.2.53
Non-authoritative answer:
Name: example.com
Address: 2001:db8:10::5PowerShell'de Resolve-DnsName example.com -Type AAAA aynı bilgiyi nesne olarak verir. Sorguyu belirli bir çözümleyiciye yönlendirmek için nslookup -type=AAAA example.com DNS_SUNUCU ya da dig AAAA example.com @DNS_SUNUCU kullanın; DNS_SUNUCU yer tutucudur.
AAAA kaydı sentetik olabilir
DNS64 kullanan bir ağdaysanız, yalnızca A kaydı olan bir hedef için de AAAA cevabı gelebilir. Sentetik adres genellikle 64:ff9b::/96 ön ekiyle başlar. Gerçek AAAA kaydı varsa DNS64 varsayılan olarak sentez yapmaz. Ayrıntıyı NAT64 ve DNS64 yazısında anlattık.
Adım 2: Kendi ağınızın IPv6 çıkışını kontrol edin
Hedefin AAAA kaydı olsa bile sizin bağlantınız IPv6 ile çıkamıyor olabilir. Önce yerel arayüzü ve yolu görün.
ip -6 addr show scope global
ip -6 route show defaultBirinci komut küresel kapsamlı IPv6 adreslerini, ikincisi varsayılan IPv6 yönlendirmesini gösterir. İlk komut boşsa makinenizde küresel IPv6 adresi yoktur. Link-local (fe80::) adresle internete çıkılamaz; başka bağlantılara iletilmez.
Windows'ta:
ipconfig
route print -6ipconfig çıktısında "IPv6 Address" satırı arayın. "Link-local IPv6 Address" tek başına yeterli değildir.
Adresiniz varsa bir adresin geçerli ve kapsamının ne olduğunu anlamak için IPv6 adres kontrol aracını kullanabilir, sözdizimini IPv6 adres doğrulama aracıyla sınayabilirsiniz.
Adım 3: curl ile bağlantıyı deneyin
DNS'in doğru göstermesi, bağlantının çalıştığı anlamına gelmez. curl ile adres ailesini zorlayabilirsiniz:
curl -6 -sS -o /dev/null -w '%{remote_ip}\n' https://example.com/
curl -4 -sS -o /dev/null -w '%{remote_ip}\n' https://example.com/-6 yalnızca IPv6 adreslerini, -4 yalnızca IPv4 adreslerini kullanır. %{remote_ip} bağlanılan adresi yazar:
2001:db8:10::5
192.0.2.80-6 komutu Could not resolve host veya Couldn't connect to server hatası veriyorsa iki olasılık vardır: hedefin AAAA kaydı yoktur ya da sizin ağınız IPv6 ile çıkamıyordur. Adım 1 ve 2 bunları ayırır. Windows PowerShell'de curl bir takma ad olabilir; gerçek programı çağırmak için curl.exe yazın ve -o /dev/null yerine -o NUL kullanın.
Sunucu IPv6'da yanıt veriyor mu?
AAAA kaydı yalnızca adresi bildirir. Sunucunun o adreste dinlediğini kanıtlamaz. Bağlantı denemesi bu yüzden gereklidir. Güvenlik duvarında IPv6 kuralının eksik olması, sık görülen bir nedendir.
Adım 4: ping ve traceroute
Bu araçlar bağlantının yolunu görmenize yardımcı olur. Hedefin ICMPv6'ya yanıt vermemesi, sitenin kapalı olduğu anlamına gelmez; birçok sunucu ICMP'yi süzer.
Linux:
ping -6 -c 3 example.com
traceroute -6 example.comEski sistemlerde ping6 ve traceroute6 adları geçerlidir; modern dağıtımlarda -6 bayrağı yeterlidir. tracepath -6 example.com yedek bir seçenektir ve yönetici yetkisi gerektirmez.
Windows:
ping -6 example.com
tracert -6 example.comBaşarılı bir ping çıktısı şuna benzer:
PING example.com(2001:db8:10::5 (2001:db8:10::5)) 56 data bytes
64 bytes from 2001:db8:10::5: icmp_seq=1 ttl=57 time=<süre> msttl alanı IPv6'da Hop Limit değerini gösterir. Ping başarısızsa ama curl -6 çalışıyorsa sorun ICMPv6 süzmesindedir, hizmette değil.
Adım 5: Tarayıcıdan hızlı kontrol
Komut satırı kullanmak istemezseniz tarayıcıda bir IP öğrenme sayfası açın. Sayfa size IPv6 adresi gösteriyorsa tarayıcınız IPv6 ile çıkıyordur. İki adres ailesini ayrı görmek için çift yığınlı ve yalnızca-IPv4 uç noktalar sunan servisleri kullanabilirsiniz. Tarayıcı bir proxy üzerinden çalışıyorsa göstereceği adres proxy'nin çıkış adresidir.
Adresi aldıktan sonra türünü, kapsamını ve kısa yazımını IPv6 adres kontrol aracına yapıştırarak çözümleyebilirsiniz.
Adım 6: Proxy çıkış adresini doğrulayın
Burası proxy kullanıcıları için en önemli adımdır. Amaç, proxy'nin hedefe hangi adres ailesiyle çıktığını görmektir.
curl -x http://KULLANICI:PAROLA@PROXY_HOST:PROXY_PORT \
https://api64.ipify.orgapi64.ipify.org çift yığınlı bir servistir. Proxy IPv6 ile çıkıyorsa dönen metin bir IPv6 adresi olur:
2001:db8:20::1a2bIPv4 görürseniz proxy bu hedefe IPv4 ile çıkıyordur ya da hedef IPv4'e geri dönmüştür. Her iki sonuç da kendi başına bir hata değildir; ürününüzün çıkış yapısına bağlıdır. Ürün bilgisi için IPv6 Proxy ürün sayfasına bakın.
Daha kesin bir sınama için yalnızca IPv6 yayın yapan uç noktaya gidin:
curl -x http://KULLANICI:PAROLA@PROXY_HOST:PROXY_PORT \
https://api6.ipify.orgBu istek yanıt vermezse proxy yalnızca IPv6 çıkış yapamıyordur ya da hedefe o yoldan ulaşılamıyordur.
SOCKS5 proxy için şema farklıdır:
curl -x socks5h://KULLANICI:PAROLA@PROXY_HOST:PROXY_PORT \
https://api64.ipify.orgsocks5h alan adının proxy tarafında çözülmesini sağlar. socks5 şemasında çözümlemenin nerede yapıldığını varsaymayın. IPv6 Proxy ürününde protokol HTTP(S) olarak geçer; SOCKS5 gerekiyorsa sipariş öncesi destekten teyit alın.
curl -6 verirseniz bu, proxy ana makinesinin ad çözümlemesini de etkiler. Proxy'nin çıkışını sınarken -6 kullanmayın; yalnızca hedefe giden yolun IPv6 olduğunu doğrulayan bir uç nokta seçin.
Tarayıcı üzerinden hızlı sınama için proxy kontrol aracını kullanabilirsiniz. Çalışma mantığı için IPv6 proxy nasıl çalışır yazısı yardımcı olur.
Sonuçları nasıl yorumlamalı?
Test sonuçları tek başına "var" ya da "yok" demez. Dört tipik durum vardır.
Hedef çift yığınlı, siz de IPv6 ile çıkabiliyorsunuz. dig AAAA adres döndürür, curl -6 bağlanır. Bu en sağlıklı durumdur. Bir IPv6 proxy hedefe doğrudan ulaşır.
Hedef çift yığınlı, ama siz IPv6 ile çıkamıyorsunuz. dig AAAA adres döndürür, curl -6 bağlanamaz, ip -6 addr küresel adres göstermez. Sorun hedefte değil sizin ağınızdadır. Burada proxy bir çözüm olabilir: proxy'nin kendisi IPv6 çıkışa sahipse bağlantıyı onun üzerinden kurarsınız.
Hedef yalnızca IPv4. dig AAAA boş döner. IPv6 çıkışlı bir proxy hedefe, çıkış ağında NAT64/DNS64 yoksa ulaşamaz. Varsa ulaşır; ancak hedef sizin değil çeviri katmanının IPv4 adresini görür. Mekanizma NAT64 ve DNS64 yazısında anlatılıyor.
AAAA var ama bağlantı kurulamıyor. Kayıt yayınlanmış, ancak sunucu o adreste dinlemiyor ya da güvenlik duvarı IPv6'yı kesiyor olabilir. Bu, hedef tarafındaki bir yapılandırma hatasıdır; sizin tarafınızda çözülecek bir şey değildir.
İstemci hangi adres ailesini seçer?
Çift yığınlı bir hedefe bağlanırken istemci hem IPv6 hem IPv4 adresini bilir. Hangisini önce deneyeceği işletim sistemine, tarayıcıya ve yazılıma bağlıdır. RFC 8305 (Happy Eyeballs) bu seçimi hızlandıran bir istemci algoritması önerir; ancak her yazılım bunu uygulamaz. Bu yüzden bir yazılımın hangi aileyi kullandığını varsaymayın, curl -4 ve curl -6 ile her ikisini ayrı ayrı sınayın. Proxy yazılımlarında AAAA önceliği ve geri düşme davranışı da yazılıma bağlıdır; kendi ortamınızda deneyerek öğrenmelisiniz.
Sık yapılan hatalar
| Belirti | Neden | Çözüm |
|---|---|---|
dig AAAA boş dönüyor | Hedef IPv6 yayınlamıyor | IPv4 bir yol ya da NAT64/DNS64 gerekir |
curl -6 zaman aşımına düşüyor | Sunucu IPv6'da yanıt vermiyor veya yolda süzülüyor | traceroute -6 ile yolu inceleyin |
ping -6 yanıtsız ama site açılıyor | ICMPv6 süzülüyor | Bağlantıyı curl -6 ile sınayın |
| IPv6 adresi var ama internete çıkılamıyor | Yalnızca link-local adres | Küresel adres ve varsayılan yol kontrol edin |
| Proxy URL'si çalışmıyor | IPv6 literal'de köşeli parantez yok | http://[2001:db8::1]:8080 yazın |
Proxy ile api64 IPv4 döndürüyor | Hedefe IPv4 ile çıkılıyor | Çıkış yapısını destekten teyit edin |
Bölge kimlikli adres (%eth0) proxy ayarında çalışmıyor | URI sözdizimi bölge kimliğini desteklemez | Küresel bir adres kullanın |
IPv6 literal'i bir komutta ya da URL'de port ile birlikte yazarken her zaman köşeli parantez kullanın: [2001:db8::1]:443. Parantezsiz yazımda :: yüzünden port ayrılamaz.
Kontrol listesi
Bir hedef için IPv6 desteğini değerlendirirken bu sırayı izleyin:
dig AAAAya danslookup -type=AAAAile kaydı görün.ip -6 addr/ipconfigile kendi küresel IPv6 adresinizi doğrulayın.curl -6ile bağlantıyı deneyin.- Gerekirse
ping -6vetraceroute -6ile yolu inceleyin. - Proxy kullanıyorsanız çıkış adresini
api64.ipify.orgile kontrol edin. - Sonucu not alın: hedef çift yığınlı mı, yalnızca IPv4 mü?
Hedef yalnızca IPv4 çıktıysa, IPv6 çıkışlı bir proxy ona doğrudan ulaşamaz. Bu sınırı satın alma öncesinde bilmek önemlidir; ayrıntılar için IPv6 proxy nedir yazısına bakın.
Kısa özet
- Önce DNS: AAAA kaydı yoksa hedefe IPv6 ile doğrudan ulaşılamaz.
- Kayıt var diye bağlantı çalışıyor demek değildir;
curl -6ile gerçekten deneyin. pingbaşarısızsa bile ICMPv6 süzülüyor olabilir; karar içincurlkullanın.- Proxy sınamasında
-6bayrağı vermeyin ve çıkış adresini çift yığınlı bir servisten okuyun. - IPv6 adresini URL'de her zaman köşeli parantezle yazın.
Sık sorulan sorular
Bir sitenin IPv6 desteği olup olmadığını nasıl anlarım?
Alan adının AAAA kaydına bakın. Linux ve macOS'ta dig AAAA alan-adi +short, Windows'ta nslookup -type=AAAA alan-adi komutu kaydı gösterir. Çıktı boşsa site DNS'te IPv6 yayınlamıyordur.
AAAA kaydı var ama site IPv6 ile açılmıyor, neden?
AAAA kaydı yalnızca adresi bildirir, sunucunun o adreste gerçekten yanıt verdiğini kanıtlamaz. curl -6 ile bağlantıyı deneyin; güvenlik duvarı, yönlendirme ya da sunucu yapılandırması IPv6 erişimini engelliyor olabilir.
Proxy'min IPv6 ile çıktığını nasıl doğrularım?
Proxy üzerinden bir IP öğrenme hizmetine istek gönderin; örneğin curl -x ile api64.ipify.org. Çift yığınlı hedefe IPv6 çıkışla bağlanıyorsa dönen adres IPv6 olur. Tarayıcıdan hızlı kontrol için proxy kontrol aracını da kullanabilirsiniz.
curl -6 komutunu proxy ile kullanırsam ne olur?
curl -6, ad çözümlemede yalnızca IPv6 adreslerini kullanmasını söyler ve bu proxy ana makinesi için de geçerli olur. Proxy'nin çıkış adresini sınamak istiyorsanız -6 vermeden, proxy üzerinden IPv6 destekli bir hedefe gidin.
ping6 komutu bulunamıyor, ne yapmalıyım?
Bazı güncel Linux dağıtımlarında ayrı bir ping6 komutu bulunmaz. ping -6 alan-adi komutunu kullanın. Windows'ta da ping -6 alan-adi biçimi geçerlidir.
/112İlgili sayfalar
- RehberIPv6 Proxy Nedir? Ne İşe Yarar, Kimler Kullanır?IPv6 proxy, trafiğinizi bir IPv6 adresinden çıkaran aracı sunucudur. IPv4 proxy'den farkı, /64 alt ağ mantığı,…
- RehberIPv6 Proxy Nasıl Çalışır? İstekten Çıkış AdresineIPv6 proxy isteği nasıl alır, kimliği nasıl doğrular, çıkış adresini nasıl seçer? HTTP CONNECT ve SOCKS5 el sıkışması,…
- RehberNAT64 ve DNS64 Nedir? IPv4 Sitesine IPv6'dan ErişimNAT64 ve DNS64, yalnızca IPv6 kullanan bir istemcinin IPv4 sunucuya ulaşmasını sağlar. 64:ff9b::/96 ön eki, akış,…
- AraçIPv6 Adres KontrolüAdresin geçerliliğini, türünü ve kapsamını çözümler
- RehberIPv4 ve IPv6 Arasındaki FarklarIPv4 ile IPv6 arasındaki farklar: adres boyutu, başlık yapısı, parçalama, SLAAC, geçiş yöntemleri ve proxy açısından…