IPsec üzerinden veritabanı sorgusu takılıyor: UDP yeniden sıralama mı TCP mi?
Temiz bir handshake'ten sonra takılan sorgu tünel yolunun içini işaret eder. Yolu onarmak mı yoksa 443'te TCP'ye dönmek mi gerektiğine üç koşul karar verir.
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 sees | What it rules out |
|---|---|
| Connection refused | Nothing is listening on the address and port the client reached |
| Timeout before the handshake | A filter, a missing route, or the wrong address |
| Handshake completes, query hangs | The session exists, so look at inspection, MTU and packet order |
| Stalls that recover on retry | Often 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.pcap443'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.