OpenVPN bağlanıyor ama hiçbir şey akmıyor: paketin düştüğü katmanı bulun
Trafiksiz bağlı bir tünelin en az beş nedeni vardır. Dinleyiciyi kanıtlayın, dış paketi yakalayın, sonra sayaçların veya bir izlemenin kuralı adlandırmasına izin verin.
OpenVPN bağlandı diyor ve hiçbir trafik hareket etmiyor, bu cümle en az beş ilgisiz arızayı kapsıyor. Hangi katmanın başarısız olduğunu bilmeden güvenlik duvarı kurallarını düzenlemek bilinmeyenleri çoğaltır ve sıradaki mühendise bir karmaşa bırakır. Bunun yerine süreçten dışarı doğru çalışın, çünkü aşağıdaki her adım ya bir aşamayı temizler ya da paketin öldüğü yeri daraltır. Sıra burada önemlidir: hangi adresin bağlı olduğunu bilmeden alınan bir yakalama bir şeyi kanıtlar, ama ihtiyacınız olanı değil.
Soket ya bağlıdır ya değildir
Etkin olduğunu bildiren bir hizmet hâlâ hiç amaçlamadığınız bir adrese veya taşımaya bağlı olabilir. Soketin kendisine sorun: ss -lunp UDP dinleyicilerini, ss -ltnp TCP dinleyicilerini listeler ve okumaya değer sütun durum değil yerel adrestir.
Boş yanıt genellikle üç şeyden birini anlatır: süreç başladıktan sonra çıktı, başka bir yapılandırma dosyası yükledi veya aranan adresten farklı bir adreste dinliyor.
ss -lunp | grep 1194
ss -ltnp | grep 1194
Bir local yönergesi dinleyiciyi tek bir adrese sabitler, bu yüzden aynı ana bilgisayarda başka bir yere yönelen istemci reddedilirken hizmet dışarıdan hâlâ sağlıklı görünür. Bir örnek adı da hiç düzenlemediğiniz bir dosyayı işaret edebilir, bu iki profili yan yana çalıştıran ana bilgisayarlarda olur.
Dış paketi yakalayın, tüneli değil
Fiziksel arabirimde ve gerçek bağlantı noktasında filtreleyin, kendi arabiriminizi yerine koyarak: tcpdump -ni eth0 udp port 1194. Geri dönen bir şey olmayan giden paketler yukarıda oturanı işaret eder: sağlayıcı filtrelemesi, bir NAT aygıtı veya düşündüğünüz olmayan uzak bir adres. Her iki yönde sessizlik istemci yönlendirmesine veya yerel güvenlik duvarına işaret eder. Tünel ilerlemesi olmadan gelen yanıtlar denetim kanalına, yani anahtar veya şifre uyuşmazlığına işaret eder, filtrelemeye değil.
Her iki yönü de yakalayın ve dosyayı kısa tutun. Uzun bir yakalama ilginç üç saniyeyi gömer ve yanıt neredeyse her zaman ilk alışverişte bulunur.
Önce sayaçlar, izleme yalnızca yalan söylediklerinde
Sayaçlarla başlayın, çünkü hiçbir maliyetleri yok. Ya nft list ruleset ya da iptables -L -n -v burada önemli olan tek soruyu yanıtlar: kural eşleşti mi? Sıra sonucu belirler, çünkü ilk eşleşme kazanır, bu yüzden daha sonraki ACCEPT'ten önce geniş bir DROP o ACCEPT'i ölü bırakır ve bu yüzden kural eklemek çok nadiren bir şeyi onarır.
Sahiplik de insanları tökezletir. Çekirdek yerel olarak üretilen paketleri soketi açan sürece atfeder ve OpenVPN genellikle root olarak çalışır, bu yüzden sıradan bir kullanıcı ID'sine bağlı kural tünelin kendi trafiğini hiç görmez. Kuralın yanlış olduğuna karar vermeden önce sahip UID'sini kontrol edin.
Yalnızca sayaçlar belirsiz kaldığında bir günlük gürültüye değer ve o zaman bile yalnızca dar bir dilim için: hızı sınırlayan ve günlük satırlarına önek ekleyen bir iptables kuralı veya nft monitor trace çalışırken meta nftrace set 1 taşıyan bir nftables kuralı. İzleme, paketi kabul eden veya düşüren zinciri ve kuralı adlandırır. Sonra ikisini de kaldırın ve yük günlüklemesini dışarıda tutun.
Taşımayı da kontrol edin. TCP ile sınırlı bir güvenlik duvarı hizmeti, o numaradaki UDP dinleyicisi hakkında hiçbir şey söylemez, bu yüzden doğru okunan bir kural yine de her paketi düşürebilir.
Yönlendirme ve dönüş yolu
Kabul edilen ama yine de kaybolan bir paketin hedef yolu incelenmelidir. ip route get bir adres için seçilen rotayı bildirir ve ters yol filtrelemesi, ana tablonun asla seçmeyeceği bir arabirimden gelen yanıtı düşürebilir. Belirti tam olarak güvenlik duvarı düşürmesi gibi görünür, bu yüzden bu kontrol başka bir NAT kuralından önce gelir.
Bir ağ geçidinde input zinciri yerine iletmeyi ve forward zincirini inceleyin. Ardından uzak tarafın kaynak adrese nasıl ulaşacağını bildiğini doğrulayın, çünkü çalışan bir giden yol geri dönen bir şey olmadığında her iki durumda da sessizliktir.
Notun söylemesi gereken
Her değişiklik için test ettiğiniz aşamayı, okuduğunuz kanıtı ve sayacın iki yanındaki değerini not edin. O not, "şimdi çalışıyor" ifadesini bir sonraki incelemede ayakta tutan şeydir.
İki kısayol notu dürüst tutar. Ana bilgisayardan hiç ayrılmamış bir paket başka bir yerdeki kural tarafından düşürülmüş olamaz, uzak tarafın yapılandırması ne kadar inandırıcı görünürse görünsün. Çıkıp dönen bir paket soruyu ağ katmanının üstüne taşır, orada güvenlik duvarı sayaçlarının size söyleyecek başka bir şeyi yoktur.