एक वीपीएन के माध्यम से एक डॉकर कंटेनर से रूट ट्रैफ़िक (दूसरे कंटेनर द्वारा प्रदान किया गया)

मुझे यह समझने की ज़रूरत है कि दो डॉकटर कंटेनर इस तरह के परिदृश्य के साथ कैसे काम करते हैं:

राउटर और क्लाइंट के साथ एक शाखा कार्यालय है । नेटवर्क 192.168.190.0/24 है और पते 1 और 57 हैं ।

सार्वजनिक आईपी एक्सवाईजेडके और शीर्ष पर स्थापित डॉकर वातावरण के साथ इंटरनेट पर कहीं और वीएम का सामना करना पड़ रहा है । अंदर दो कंटेनर हैं। पहला एक वेब सर्वर है जो केवल 192.168.80.2 पते के साथ एक निजी नेटवर्क पर सामना कर रहा है । अन्य कंटेनर का पता 192.168.80.44 के साथ निजी नेटवर्क पर कनेक्शन है और सार्वजनिक आईपी के लिए अन्य नेटवर्क इंटरफ़ेस पर इसके 1194 पोर्ट को उजागर करता है ।

मुझे 192.168.190.57 को 192.168.80.2 पर पृष्ठ खोलने में सक्षम होना चाहिए ।

वीपीएन भाग ठीक काम करता है (राउटर कनेक्ट होता है और क्लाइंट से पिंगेबल होता है) और मुझे उस पर मदद की ज़रूरत नहीं है ।

यह मेरी डॉकर-कंपोज़ फ़ाइल के लिए एक मॉकअप है ।

version: '2'services:  openvpn:    image: mycompany/openvpn    restart: 'always'    cap_add:      - NET_ADMIN    ports:      - '1194:1194/udp'    networks:      nat:      private_net:          ipv4_address: '192.168.80.44'  coredns:    image: 'nginx'    restart: 'always'    links:      - openvpn:private_net_vpn    networks:      private_net:        ipv4_address: '192.168.80.2'networks:  private_net:    internal: true    ipam:      config:        - subnet: '192.168.80.0/24'  nat:

पहले वर्णित परिदृश्य

अंत में मैंने इस मुद्दे की खोज की ।

डिफ़ॉल्ट रूप से यदि आप एक नेटवर्क को परिभाषित करते हैं internal: true इसका मतलब है कि लैन सेगमेंट के सभी कंटेनरों को इससे बाहर निकलने से रोकने के लिए कुछ आईपीटीबल्स नियम बनाए जाएंगे ।

शुरुआत में मुझे लगा कि यह सिर्फ मार्ग है, मान लीजिए, 192.168.80.2 से 192.168.80.1 (उस लैन सेगमेंट के लिए होस्ट मशीन को सौंपा गया आईपी) और फिर इंटरनेट पर । सभी आईपीटीबल्स नियमों को ध्यान से पढ़ना मैंने पाया कि अग्रेषण भी अक्षम है ।

हटाने internal: true वेब सर्वर को सीधे सार्वजनिक इंटरनेट तक पहुंचने की अनुमति देने की कीमत पर कंटेनर को वीपीएन के माध्यम से रूट करने की अनुमति दी ।

हाँ, मैं करता हूँ । 192.168.190.57 वीपीएन सर्वर को भी पिंग कर सकता है । इसके अलावा, वीपीएन सर्वर 192.168.80.2 पिंग कर सकता है ।

क्या आप वीपीएन क्लाइंट से` ट्रेसरूट " वेब सर्वर कर सकते हैं ? कर्ल करने का भी प्रयास करें, पिंग को कंटेनर पर अवरुद्ध किया जा सकता है

नहीं, मैं सक्षम नहीं था । किसी भी प्रोटोकॉल (आईसीएमपी, टीसीपी, यूडीपी) ने इसे कॉन्फ़िगर करने के तरीके पर काम नहीं किया । लेकिन मैंने इसका पता लगा लिया । नीचे मेरे अपने जवाब पर अधिक ।

आप ओपनवीपीएन की किस छवि का उपयोग कर रहे हैं ? क्या आपने यहां वर्णित वेब प्रॉक्सी विधि की कोशिश की Docker Hub

यदि आप छवि में योजना को करीब से देखते हैं तो आप देख सकते हैं कि वीपीएन के लिए डॉकर कंटेनर एक सर्वर है, क्लाइंट नहीं । मुझे नहीं लगता कि छवि मेरे लिए काम करेगी।

ठीक है, क्या आपके ओपनवीपीएन सर्वर कॉन्फ़िगरेशन फ़ाइल में ``पुश 'रूट 192.168.80.0 255.255.255.0"` में यह प्रविष्टि है ?