2016-01-14 12 views
12

मैं एक डॉकर-स्वार पर वीव नेटवर्क प्लगइन का उपयोग करता हूं।बाहरी से वीव DNS-सर्वर तक कैसे पहुंचे?

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

कंटेनर को और भी सुलभ बनाने के लिए मैं ween का उपयोग DNS नाम जैसे containername.auto.mycompany.de को संलग्न करने के लिए करता हूं। अब मैं उन लोगों को अपने कंपनी नेटवर्क से एक्सेस करना चाहता हूं। समस्या यह है कि बुनाई केवल स्थानीय होस्ट से बुनाई DNS तक पहुंच की अनुमति देता है।

मेरी झुंड नोड्स में से एक पर जैसा मैं कर सकते हैं:

host foobar.auto.mycompany.de 172.17.0.1 
Using domain server: 
Name: 172.17.0.1 
Address: 172.17.0.1#53 
Aliases: 

foobar.auto.mycompany.de has address 10.40.13.3 
Host foobar.auto.mycompany.de not found: 3(NXDOMAIN) 
Host foobar.auto.mycompany.de not found: 3(NXDOMAIN) 

लेकिन मैं इस से आईपी में से एक (10.40.130/24) पर बुनाई कंटेनर सुलभ बनाने के लिए एक तरह से दिखाई नहीं देती है डॉकर नेटवर्क या बंदरगाह नोड को बंदरगाह का पर्दाफाश करें।

एक ही रास्ता मैं के बारे में सोच सकते हैं, लेकिन पसंद नहीं है, कुछ इस तरह कर रही है:

iptables -t nat -A DOCKER -p tcp --dport 53 -j DNAT --to-destination 172.17.0.1:53 

(यह काम नहीं करता है, यह सिर्फ विचार है)

या के साथ छेड़छाड़ बुनाई स्क्रिप्ट बुनाई कंटेनर की शुरुआत में बंदरगाह का पर्दाफाश करने के लिए।

क्या कोई बेहतर समाधान के बारे में जानता है?

उत्तर

2
नियम

iptables -A DOCKER -p tcp -m tcp --dport 53 -j DNAT --to-destination 172.17.0.1:53 
iptables -A DOCKER -p udp -m udp --dport 53 -j DNAT --to-destination 172.17.0.1:53 

यह होता है की स्थापना

वास्तव में। जब मैंने पहली बार कोशिश की, तो मुझे बस यह देखने से चूक गया कि मेरा अनुरोध सर्वर से "बाहर" से आया होगा, न कि अंदर से लूपबैक डिवाइस तक।

अभी भी एक सुंदर समाधान नहीं है लेकिन यह काम करता है। मैं आपसे बेहतर समाधान देखने की उम्मीद कर रहा हूं।

(बाउंटी खड़ा है!)

संबंधित मुद्दे