Hedefe ulaşmak için hedef ailesinden bir adrese ihtiyacınız yok; yeter ki yol üzerindeki bir şey aktarmaya istekli olsun. Uygulama proxy'ye bağlanır ve proxy hedefe ikinci bir bağlantı açar. Bunlar bağımsız adres ailelerine sahip iki sokettir ve iki protokolün hiçbiri bunların eşleşmesini gerektirmez. Bu, uygulama düzeyinde aktarmadır, yerel bir IPv4 yolu değildir ve bu ayrım neyin işleyeceğini neyin işlemeyeceğini belirler. İkisini karıştırmak, bir dizüstü bilgisayarın elinde yalnızca bir proxy varken IPv4 bağlantısı varmış gibi tanımlanmasının nedenidir.

İki soket, iki adres ailesi

Bir SOCKS5 isteği hedefi üç biçimden biriyle adlandırır: düz v4 adresi, düz v6 adresi veya proxy'nin çözmesi gereken bir ad. İstek, proxy'nin nereye bağlanması gerektiğini açıklar; istemciden proxy'ye bağlantının nasıl göründüğünü değil.

Bu adres türlerini tek bir mesaj içindeki üç bağımsız seçim olarak okuyun. IPv6 üzerinden erişilebilen bir proxy, çalışan bir IPv4 çıkışı olduğunda ve ilkesi isteğe izin verdiğinde IPv4 hedef soketi açabilir. SOCKS5 belirtimi bunları istemcinin taşımasına hiç değinmeden tanımlar.

Kontrollü bir SSH örneği

Kullanma izniniz olan, IPv6 üzerinden yanıt veren ve yalnızca v4 üzerinde var olan bir HTTPS hizmetine kendisi ulaşabilen bir SSH sunucusu alın. OpenSSH'nin dinamik yönlendirmesi, oturum açma oturumu v6 üzerinden giderken makinenize yerel bir SOCKS dinleyicisi yerleştirir.

ssh -6 -N -D 127.0.0.1:1081 -o ExitOnForwardFailure=yes [email protected]

Yukarıdaki sunucu ve hesap örnektir ve loopback bağlaması dinleyiciyi bu bilgisayarda tutar. Bir ofisin kimlik doğrulamasız bir proxy paylaşabilmesi için bunu joker karakterli bağlamayla değiştirmeyin. ExitOnForwardFailure=yes, başarısız bir yönlendirmenin oturumu sonlandırması için vardır; arka planda sessizce çalışan bir komut bırakmak için değil.

Oturum çalışırken istek şöyle görünür:

curl --proxy socks5h://127.0.0.1:1081 https://v4-only.example/

Loopback bağlantısı bir IPv4 internet yolu değildir. Makinenizden çıkan şey v6 üzerinden oturum açma oturumudur ve hedef soketini açan uzak taraftır. socks5h biçimi ad çözümlemesini de o tarafa devreder; bu, istemcinin kendi IPv4 çözümleyici yolu olmadığında önemlidir.

Hedefin gerçekte gördüğü şey

Hedef, aktarıcının çıkış adresini görür. Dizüstü bilgisayarınıza ait hiçbir adres orada görünmez. O hizmetteki kaynak izin listesi aktarıcıyı adlandırmalıdır. Günlükleri de trafiği aktarıcıya atfedecektir. Bunu denetimden önce değişiklik kaydına yazın, çünkü istemci adresleri etrafında kurulmuş bir izin listesi ilk istekte başarısız olur.

Aktarıcı aynı zamanda konuşmanın iki yarısının görünür olduğu yerdir; bu tanı sırasında yararlı bir özellik, aktarıcı ilkesiz paylaşılırsa bir yüktür.

Bu DNS64 ya da NAT64 değildir

DNS64, v4 hedeflerinin yerini alan sentezlenmiş kayıtlarla yanıt verir ve NAT64, yapılandırılmış bir yol boyunca paketleri yeniden yazar. İkisi de burada olanı tanımlamaz; burada bir taşıma konuşması biter, bir diğeri başlar ve hiçbir sentezlenmiş adres sonucu açıklamaz. Bu nedenle başarılı bir istek, sağlayıcınızın hangi çeviri hizmetlerini işlettiği hakkında hiçbir şey söylemez ve proxy kendi çıkışında sıradan NAT çalıştırabilir.

Her iki mekanizma aynı ağda bulunabilir; bu yüzden en yakın konuşanı değil, gerçekten doğruladığınızı açıklayın.

Söz vermeden önce kapsamı bilin

OpenSSH'nin dinamik yönlendirmesi TCP bağlantılarını taşır, rastgele IP trafiğini değil; bu yüzden UDP, ICMP ve proxy'yi yok sayan her protokol desteklenen başka bir tasarıma ihtiyaç duyar. SSH sunucu anahtarı doğrulamasını, sunucunun yönlendirme kısıtlarını ve HTTPS sertifikası doğrulamasını koruyun, çünkü proxy ek bir güvenilir katılımcıdır, kimlik denetimlerini zayıflatmak için bir neden değildir. Amaç bir VPN'in dış taşımasını proxy üzerinden taşımaksa, herhangi bir SOCKS dinleyicisinin bunu aktarabileceğini varsaymak yerine iki ucun da o taşımayı desteklediğini doğrulayın.

Bunların hiçbiri istemciyi çift yığın yapmaz ve hiçbiri gerekli değildir. Bir uygulamanın bir aktarıcı üzerinden bir hizmete ulaşmasını sağlar; bu daha küçük bir iddiadır ve doğrulanması çok daha kolaydır.

İlgili makaleler