TCP handshake'inden sonra takılan sorgu yönlendirme sorunu değildir. Yol hataları handshake'i düşürür, bu yüzden kurulup sonra sessizleşen bir oturum yolun içini işaret eder: inceleme, MTU veya tünelin UDP paketlerinin geliş biçimi. Önünüzdeki karar bu yolu onarmak ya da tüneli TCP'ye taşımaktır. Üç koşul bunu belirler ve hiçbiri veritabanıyla ilgili değildir.

Tüneli suçlamadan önce takılmayı sınıflandırın

Dört sonuç kullanıcıya aynı görünür ve mühendis için tamamen farklı anlamlar taşır.

What the client seesWhat it rules out
Connection refusedNothing is listening on the address and port the client reached
Timeout before the handshakeA filter, a missing route, or the wrong address
Handshake completes, query hangsThe session exists, so look at inspection, MTU and packet order
Stalls that recover on retryOften reordering, or a state table entry expiring

Tünelde zaman harcamayı yalnızca son iki satır haklı çıkarır. VPN üzerinden reddedilen bağlantı genellikle veritabanının yalnızca loopback'te dinlemesidir, bu bir dinleyici sorunudur, ve handshake öncesi zaman aşımı bir filtre ya da yoldur. İkisi de kapsüllemeyi değiştirmekle düzelmez.

Sınıflandırmayı önce bilete yazın. En ucuz adımdır ve arama uzayının büyük kısmını ortadan kaldırır.

UDP ile TCP arasında karar veren üç koşul

Kapsüllenmiş IPsec trafiği UDP üzerinden gider ve UDP yola kimseye söylemeden yeniden sıralama ve düşürme özgürlüğü verir. Yeniden sıralama paketleri tünelin tekrara karşı penceresinin dışına ittiğinde sessizce atılırlar ve içteki TCP oturumu yalnızca bekler. Başarılı bir handshake ile hiç geri dönmeyen bir sorgunun ardındaki mekanizma budur.

Yolu onarmak veya TCP'ye dönmek üç şeye bağlıdır. Birincisi, yolda gerçek paket kaybı mı var, yoksa yalnızca yeniden sıralama mı? İkincisi, incelemenin yapıldığı yeri değiştirebilir misiniz, ya da bu tüneli yeniden sıralayan bileşenin dışında bırakabilir misiniz? Üçüncüsü, iş yükü takılma desenine duyarlı mı, örneğin tek bir bağlantıyı paylaşan çok sayıda çoklanmış oturum?

İlk yanıt kayıp, ikincisi hayırsa,443'te TCP pragmatik geri dönüştür. İkinci yanıt evetse, yolu onarın ve UDP'de kalın.

Uygulama hatasını değil, güvenlik duvarı kaydını okuyun

Uygulama bir zaman aşımı bildirir, bu da neden hakkında hiçbir şey söylemez. Güvenlik duvarının kendi günlüğü düşürmenin veya engellemenin göründüğü yerdir, bu yüzden veritabanı ve uygulama adreslerine göre filtreleyin ve kabullerin yanı sıra düşürmeleri de arayın.Tehdit önleme modülleri uygulama düzeyinde hata üretmeden paket düşürebilir, ve takılan bir sorgunun tam biçimi budur. Günlükteki sessizlik de veridir: günlüğe yazmayan bir şeye, örneğin yeniden sıralamaya işaret eder.

Kümeye de bakın. Yanlış yapılandırılmış bir küme, oturumu bir üyenin durum tablosunda tutarken paketler başka bir üyenin yolundan gidebilir, böylece yanıtlar durumun olmadığı yere varır. Bu tür takılmalar rastgele görünür ve yükle ilişkili değildir.

Herhangi bir şeyi değiştirmeden önce iki ucu karşılaştırın ve paket sayılarını değil varış sırasını karşılaştırın:

tcpdump -ni any udp port 4500 -w /tmp/encap.pcap
tcpdump -ni any tcp port 5432 -w /tmp/inner.pcap

443'te TCP size gerçekte neye mal olur

Tüneli TCP'ye taşımak yeniden sıralama belirtisini ortadan kaldırır, çünkü ara kutu artık sıralı bir akış görür. Ama TCP üstünde TCP yaratır. Dış bağlantı, iç bağlantının zaten yeniden gönderdiğini yeniden gönderir ve tek bir kayıp tüm çoklanmış oturumları aynı anda durdurabilir. Temiz bir yolda bu görünmez. Kayıplı bir yolda tedavi belirtiden daha kötüdür.

Alternatif bağlantısızlık olduğunda bu değiş tokuş kabul edilebilir ve olağan sayılmak yerine sahibi olan bir istisna olarak belgelenmelidir.

Taşımayı, bağlantı noktasını, örnek bir sorguyu ve ölçülen sonucu, ayrıca tarihi kaydedin. Bu kayıt olmadan bir sonraki mühendis deneyi tekrarlar ve istisna sessizce mimariye dönüşür.

Kararı yeniden gözden geçirilebilir tutun

Yol tanısı hızla eskir. Ara kutu değiştirilir, modül yapılandırması değişir, bağlantı yükseltilir ve 443'te TCP'nin gerekçesi ortadan kalkarken yapılandırma kalır. İstisnaya bir gözden geçirme tarihi koyun ve UDP'ye dönmenize izin verecek koşulu adlandırın.

İki taşımayı küçük bir sorguyla ve büyük bir sonuç kümesiyle test edin. Yeniden sıralama boyuta bağlı takılmalar olarak görünür, dinleyici arızası ise iki boyutu da eşit durdurur.

İlgili makaleler