53 numaralı portta OpenVPN: insanların karıştırdığı üç konuşma
Uç noktanın çözümlenmesi, şifreli taşıma ve tünel sonrası DNS üç ayrı konuşmadır. Bir portu veya çözümleyiciyi değiştirmeden önce hangi aşamanın başarısız olduğunu belirleyin.
VPN'in 53 numaralı portta engellendiğini söyleyen raporlar, farklı nedenlerle başarısız olan üç gözlemi karıştırır. Uç noktanın adının çözümlenmesi herhangi bir tünel var olmadan önce gerçekleşir, şifreli taşıma ayrı bir konuşmadır ve sonrasında yapılan DNS sorguları üçüncüsüdür. Her birinin kendi arıza imzası vardır ve bunlardan yalnızca biri DNS ile ilgilidir.
Herhangi bir şeyi değiştirmeden önce paketleri amaçlarına göre ayırın, çünkü düzeltme aşamayı izler.
Üç konuşma, bir port numarası
İlk konuşma uç nokta için bir ad aramasıdır: makineniz yapılandırılmış çözümleyiciye vpn.example.com nerede diye sorar ve bu yanıt, istemci tek bir tünel paketi bile göndermeden önce sıradan DNS üzerinden gelir. İkincisi OpenVPN taşımasının kendisidir; aramanın ürettiği adrese, profilin belirttiği protokol ve portta bağlanır. Üçüncüsü tünel kurulduktan sonra, uygulamalar ad istediğinde ve itilen çözümleyici ayarları kimin yanıtlayacağına karar verdiğinde gerçekleşir.
Bu üçü bağımsız olarak başarılı veya başarısız olabilir. Bir istemci uç noktasını kusursuz çözümleyip yine de dinleyiciye ulaşamayabilir ve DNS ayarları hiç gelmediği için her iç ad araması başarısız olurken tünel kurabilir.
| Conversation | When it happens | What has to be true |
|---|---|---|
| Endpoint lookup | Before the client contacts a hostname | An underlying resolver path can answer for the endpoint name |
| OpenVPN transport | During tunnel establishment | The gateway listens on its configured transport, address and port, and nothing filters it |
| Application DNS | During or after the protected session | A resolver the client can reach, plus routing that carries its queries |
Tabloyu bir açıklama değil, kontrol listesi olarak okuyun. Uç noktanın adı çözümlenmezse sonrasında hiçbir şey çalışamaz ve tünel hiç başlamaz.
Port numarası uygulamanın adı değildir
Port 53 geleneksel olarak DNS taşır ve bir OpenVPN işletmecisi orada bir dinleyici de yayımlayabilir, bu yüzden numara kötü bir tanımlayıcıdır. UDP 53 üzerindeki bir OpenVPN oturumu hâlâ bir OpenVPN oturumudur ve port 53 üzerindeki bir sunucuya yapılan DNS sorgusu, tünele izin verilip verilmediği hakkında hiçbir şey söylemez. Profilin proto ve remote satırları dış uç noktayı tanımlar; port numarası kendi başına hiçbir şey tanımlamaz.
Teşhis sırasında bu iki yöne de keser: port 53 üzerine yapılan genel bir UDP denemesi bir portun yanıt verdiğini kanıtlar, VPN hizmetinin yanıt verdiğini değil. Gerçek istemci ve gerçek profille test edin, çünkü hizmetin beklediği el sıkışmayı yalnızca o çalıştırır.
Ağı suçlamadan önce dinleyiciyi kanıtlayın
Sunucuda ss -lunp | grep 53 ile neyin bağlı olduğunu doğrulayın ve profilin protokolü ve portuyla karşılaştırın. İstemcinin ağından, istemciyi daha yüksek ayrıntıyla çalıştırın ki günlük hangi adresi ve taşımayı denediğini göstersin. Sunucu dinliyorsa ve istemcinin paketleri gelmiyorsa, bunları yol veya ilke reddediyordur ve bu ağ sahibiyle bir konuşmadır, port değiştirme nedeni değildir.
Farklı bir port yalnızca hizmet gerçekten orada dinliyorsa ve dağıtım buna izin veriyorsa yardımcı olur. Yönetilen bir ağın filtrelemesinden kaçınmak için dinleyiciyi taşımak bir ilke kararıdır, sorun giderme adımı değildir. Hizmeti değiştirmeden önce ağ sahibine neye izin verildiğini sorun, çünkü ilkeyi ihlal eden bir dolambaçlı yol sonunda kapatılır. O yanıtı profilin yanına yazın ki sonraki kişi isteği yinelemesin.
Tünel sonrası DNS'i ayrıca denetleyin
Tünel kurulduktan sonra VPN arabirimindeki çözümleyici durumunu inceleyin ve bir iç ad ile bir genel ad sorgulayın. Tünel trafik taşırken iç adlar başarısız oluyorsa, itilen DNS ayarları uygulanmamıştır, bu taşıma değil istemci tümleşimi sorunudur. Genel adlar başarısız olup iç adlar çalışıyorsa, bölünmüş tünel ilkesi yapılandırıldığı gibi çalışıyordur.
DNS değişikliklerini çözümleyicinin sahibine bırakın. Bir testin geçmesi için yönetilen bir çözümleyici yapılandırmasının üzerine yazmak, makinedeki diğer her şey için özel adları bozabilir. Tünel bir çözümleyici itiyor ve istemci onu yok sayıyorsa, başka bir yere statik bir girdi eklemek yerine istemci tümleşimini düzeltin. Statik girdiler arızayı biri ağ değiştirene kadar gizler. Hangi çözümleyicinin hangi ad alanını yanıtlaması gerektiğini yazın.