टीएल;डॉ सब कुछ बहाना करने की कोशिश कर रहा है Docker
साथ में firewalld
मैन्युअल रूप से ।
मैंने अभी उपयोग करना शुरू किया है firewalld
मेरी डेबियन 10 मशीन पर क्योंकि मैं सीखना चाहता हूं कि यह कैसे काम करता है ।
मेरे पास है Docker
होस्ट पर स्थापित और मैं अपने आप से फ़ायरवॉल का प्रबंधन करना चाहता हूं कि डॉकर क्या करता है, क्या नियम आदि के बारे में अधिक जानने के लिए । यह तब लागू होता है जब कंटेनर बनाए जाते हैं और फायरवॉल्ड कैसे काम करता है ।
चूंकि डेबियन 10 उपयोग करता है nftables
डिफ़ॉल्ट रूप से और किसी प्रकार का उपयोग करें iptables
उपयोग करने में सक्षम रैपर iptables
फ़ायरवॉल नियम बनाने के लिए आदेश । Docker
बस ठीक चलाता है जब --iptables
सक्षम है ।
हालांकि मैं उपयोग करना चाहता हूं firewalld
साथ में nftables
बैकएंड और सब कुछ छोड़ दें जो इसके साथ करना है iptables
चूंकि यह सिर्फ भ्रमित करने वाला है । तो में /etc/systemd/system/multi-user.target.wants/docker.service
मैंने जोड़ा --iptables=false
तो डॉकर फ़ायरवॉल के साथ गड़बड़ नहीं करता है । मैंने सभी आईपीटीबल्स नियमों आदि को फ्लश कर दिया । और अब तक सब अच्छा है ।
अब मेरी समस्या के लिए ।
सभी कंटेनर होस्ट और एक दूसरे तक पहुंच सकते हैं लेकिन इंटरनेट नहीं । चूंकि वे सभी 172.17.0.0/16 पर चल रहे हैं और मेरा होस्ट 192.168.9.0/24 पर है, इसलिए मुझे कंटेनरों से ट्रैफ़िक को बहाना होगा ।
मुझे डॉकर का उपयोग करते समय मैन्युअल रूप से फ़ायरवॉल के प्रबंधन के बारे में अधिक जानकारी नहीं मिल रही है और चूंकि मैं फायरवॉल्ड के लिए नया हूं, इसलिए मैं सिर्फ अनुमान लगा रहा हूं ।
मेरे इंटरफेस इस प्रकार हैं:
eno1 (main interface)docker0 (docker bridge)veth******* (one for each container)
सभी veth
इंटरफेस में हैं docker0
पुल।
इसलिए मैंने सोचा कि मैं एक नया क्षेत्र बना सकता हूं जिसे कहा जाता है docker
और से सब कुछ बहाना docker0
पुल।
~# firewall-cmd --permanent --new-zone=docker~# firewall-cmd --permanent --zone=docker --change-interface=docker0~# firewall-cmd --permanent --zone=docker --add-rich-rule='rule family="ipv4" source address=172.17.0.0/16 masquerade'~# firewall-cmd --reload
सक्रिय क्षेत्रों को सूचीबद्ध करने से मुझे यह मिलता है:
~# firewall-cmd --get-active-zonesdocker interfaces: docker0public interfaces: eno1
मैं अभी भी कंटेनरों से इंटरनेट का उपयोग नहीं कर सकता । मुझे नहीं पता कि यह जाने का सही तरीका है या मुझे क्या याद आ रहा है । किसी भी मदद की सराहना की है ।