apt-get लगभग हमेशा HTTP पर डाउनलोड होता है, लेकिन FTP का उपयोग भी कर सकता है, इसलिए संक्षिप्त उत्तर संभवतः जावक HTTP कनेक्शन ... और DNS को भी अनुमति देता है।
आपके द्वारा अब किया गया कॉन्फ़िगरेशन सभी आउटगोइंग नेटवर्क ट्रैफ़िक को बंद कर देता है ( ESTABLISHED
आपके पास OUTPUT
चेन पर जो नियम है वह प्रभावी नहीं है क्योंकि कोई सत्र कभी स्थापित नहीं होगा)। क्या आपको अभी भी बाकी चीजों को रद्द करते समय केवल अपडेट प्राप्त करने की अनुमति देने की आवश्यकता है? iptables
शायद उस नौकरी के लिए गलत उपकरण है क्योंकि यह वास्तव में URL की व्याख्या करने और HTTP स्थानांतरण को चुनिंदा रूप से करने की अनुमति नहीं दे रहा है। आप इस काम के लिए एक HTTP प्रॉक्सी सर्वर का उपयोग करना चाहते हैं।
आप एक सरल सेटअप का उपयोग कर सकते हैं जो उपयुक्त डाउनलोड प्राप्त करने की अनुमति देगा, लेकिन ध्यान रखें कि यह अन्य सभी आउटगोइंग DNS और HTTP कनेक्शनों को भी अनुमति देता है, जो कि आप नहीं चाहते हैं।
iptables -F OUTPUT # remove your existing OUTPUT rule which becomes redundant
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
यदि आपके APT स्रोतों में 80 के अलावा बंदरगाहों पर HTTPS या FTP स्रोत या HTTP स्रोत शामिल हैं, तो आपको उन बंदरगाहों को भी जोड़ना होगा।
इसके बाद, आपको वापसी यातायात की अनुमति देनी होगी। आप इस एकल नियम के साथ कर सकते हैं जो किसी भी स्थापित कनेक्शन को अनुमति देता है:
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
(कनेक्शन ट्रैकिंग का उपयोग करते समय सभी इनबाउंड स्थापित कनेक्शनों की अनुमति देना सुरक्षित है, क्योंकि केवल उन्हीं कनेक्शनों को जिन्हें आपने अनुमति दी है, जो स्थापित स्थिति में मिलेंगे।)