Docker VPN bağlantı noktası eşlemeniz OpenVPN'e neden hiç ulaşmıyor
Ana makine bağlantı noktası, konteyner bağlantı noktası ve taşıma üç ayrı karardır. Sertifikalara dokunmadan önce tek bir UDP denemesini her sınırda izleyin.
Konteyneriniz UDP 1195'te dinleyebilir ve ana makine 1194'ü yayınlayabilir; eşleme bunu söylediği sürece bu doğrudur. Sayılar bir çeviri tablosu oluşturur: istemci ana makine bağlantı noktasını arar, Docker hedefi konteyner bağlantı noktasına yeniden yazar ve OpenVPN kendi yapılandırmasının belirttiği bağlantı noktasında yanıt verir. Bu halkalardan herhangi birindeki uyumsuzluk, güvenlik duvarı gibi görünen sessiz bir hataya yol açar. Sertifikalar ve şifreler bunun altındadır ve bunu onaramaz.
Kimlik doğrulamayla ilgili herhangi bir şeyi değiştirmeden önce bir paketi istemciden sürece kadar izleyin.
Üç sayı, tek bağlantı
Bu üç sayı istemcinin kullandığı uzak hedef, ana makinedeki yayınlanan eşleme ve konteynerin içindeki dinleyicidir. Eşit olmak zorunda değiller ama zincir oluşturmaları gerekir. Eşit sayılar, tesadüfen en yaygın olan özel bir durumdur; bu yüzden uyumsuzluğu bir kez yazmak kolay, sonra görmek zordur.
Hata ayıklamadan önce zinciri tek satırda yazın: istemci adresi ve bağlantı noktası, ana makine eşlemesi, konteyner dinleyicisi, taşıma. Zincirdeki bir kusur, iki kez farklı değerlerle görünen bir sayı olarak ortaya çıkar.
| Location | Example |
|---|---|
| Remote client destination | Host address, UDP 1194 |
| Published mapping | Host UDP 1194 to container UDP 1195 |
| Container listener | OpenVPN on UDP 1195 |
Kısa sözdizimi gerçekte ne diyor
Kısa biçimde sol taraf ana makine bağlantı noktası, sağ taraf konteyner bağlantı noktasıdır ve eğik çizgi son eki taşımayı seçer. Son eki atlarsanız Docker eşlemeyi TCP olarak işler, böylece protokolsüz bir eşlemenin arkasındaki UDP dinleyicisi kimsenin ulaşamadığı bir dinleyicidir. Bu varsayılan belgelenmiştir ve sayıları eşleştirip işi bitmiş sayanları hâlâ şaşırtır.
Uzun biçim bağlama adresini ve protokolü açıkça sabitler; ağa bakan her şeyde fazladan satırlara değer. Onu üreten dosyaya güvenmek yerine yayınlanan eşlemeyi geri okuyun.
ports:
- 1194:1195/udpPaket nerede durabilir
Bir istek Docker'dan önce, Docker içinde veya dinleyicide düşürülebilir. Docker'ın önünde bulut güvenlik duvarı ya da kendi yönlendirmesini yapan bir yönlendirici olabilir ve o cihaz ana makineye bakan bağlantı noktasına ve doğru taşımaya ihtiyaç duyar. Docker içinde yanlış konteyner bağlantı noktasına eşleme kapalı bir sokete yönlendirir.
Sonra dinleyici: OpenVPN yapılandırması bir bağlantı noktası ve protokol adlandırır ve konteyner içinde başka birine gelen istemci hiçbir yere ulaşmaz. UDP hizmetini TCP ile test etmek bu aşamaların hiçbirinde hiçbir şey kanıtlamaz, bu nedenle istemcinin kullanacağı taşımayı kullanın.
Bağlama adresleri erişilebilirliği belirler
loopback'e bağlanmış yayınlanan eşleme yalnızca ana makineden erişilebilirken, tüm arayüzlere bağlanmış olan güvenlik duvarının izin verdiği her yerde erişilebilir. Adresi atlayan bir Compose dosyasında ikisi aynı görünür ve Docker varsayılanı geniş olanıdır.
Dağıtımın hangi açıklamayı amaçladığına karar verin, sonra açıkça yazın. loopback üzerinden bağlanan dahili test ile bağlanamayan uzak istemci aynı konteynerin iki doğru tanımı olabilir.
Çalışan durumu okuyun
Çalışan konteynerin gerçek eşlemesini ve ağ ad alanındaki dinleyiciyi inceleyin. Compose dosyası konteyner başladıktan sonra düzenlenmiş olabilir, imaj meta verileri bir bağlantı noktasını yayınlamadan bildirebilir ve ikinci bir konteyner ana makine bağlantı noktasını zaten tutuyor olabilir. Bir imajda bağlantı noktası bildirmek onu yayınlamak değildir ve hiçbiri dinlemekle aynı değildir.
Üç farklı durum, üç farklı komut ve yalnızca sonuncusu OpenVPN ile ilgilidir.
Eşleme doğru olduktan sonra
Paket OpenVPN'e ulaştığında, günlüğü TLS ve kimlik doğrulama hakkında okunacak yerdir. Hiç gelmeyen bir paketi onarmak için sertifikaları yeniden üretmek, ikinci bir değişken ekleyen boşa emektir. Eşleme notunu istemci profilinin yanında tutun ki sonraki kişi üç sayıyı yeniden keşfetmek yerine tek satır okusun. Ana makine tarafında bir paket yakalama, üç halkadan hangisinin yanlış olduğunu çözer ve bir sertifika yenilemesinden daha ucuza gelir.
Burada anlatılan durum köprü üzerinden yayınlamadır. Ana makine ağı ve yönlendirilmiş konteyner adresleri çeviriyi atlar, bu nedenle aynı sayılar o tasarımlarda başka bir anlam taşır.