इसलिए मैं एक स्क्रिप्ट के लिए नेट पर चारों ओर देख रहा हूं जो http (80) और https (443) पोर्ट को छोड़कर सभी ट्रैफ़िक को छोड़ देगा, और उसके बाद ही देश x से अन्य सभी पोर्ट पर ट्रैफ़िक की अनुमति देगा मामला देश x यूएस है)।
मैं हर देश से सभी IP में जोड़ना नहीं चाहता, मैं सिर्फ अपने देश से ips की अनुमति देना चाहता हूं, फिर बाहरी दुनिया से लगभग सभी अन्य ट्रैफ़िक को रोकना चाहता हूं। मेरे देश के बाहर किसी को भी ssh, ftp, smtp, ect तक नहीं पहुंचना चाहिए। खुद के अलावा। यदि यह कभी बदलता है तो मैं इसके लिए एक विशेष मामला जोड़ूंगा जब यह आ जाएगा।
पक्षीय लेख
मुझे ध्यान देना चाहिए कि मुझे एक ऐसा प्रश्न मिला, जिसमें देश में आईपी तालिकाओं का उपयोग करके आईपी पर प्रतिबंध लगाने के लिए एक स्क्रिप्ट है, लेकिन मुझे बहुत कुछ अतिरिक्त सम्मिलित करना होगा जो मुझे करना होगा।
सर्वश्रेष्ठ उत्तर के रूप में चिह्नित स्क्रिप्ट उन IP से सभी ट्रैफ़िक को रोक देगा। मैं केवल 80 और 443 को छोड़कर सभी बंदरगाहों तक पहुंच को अवरुद्ध करना चाहता हूं।
अपडेट करें
निम्नलिखित नियम के साथ,
iptables -A OUTPUT -m geoip --dst-cc CN -j DROP
क्या मैं इसे संशोधित कर सकता हूं और कुछ ऐसा कर सकता हूं
iptables -A OUTPUT -m geoip --dst-cc CN --dport 80 -j ACCEPT
iptables -A OUTPUT -m geoip --dst-cc CN --dport 443 -j ACCEPT
iptables -A OUTPUT -m geoip --dst-cc CN -j DROP
मुझे लगता है कि यह चीन से ips 80 और बंदरगाह 443 का उपयोग करने की अनुमति देगा और यह बाकी छोड़ देगा। क्या यह धारणा सही होगी? यदि नहीं, तो क्यों नहीं?
अपडेट २
कुछ गड़बड़ करने के बाद मैंने पाया कि उबंटू का मेरा संस्करण --dport
विशेषता पसंद नहीं करता है । इसलिए इसका उपयोग करने के बजाय हम में से जो लोग Ubuntu 14+ चला रहे हैं (कम से कम, मेरे पास केवल Ubuntu 14.04, 14.10 और कुछ मशीनों पर 15.04 स्थापित है) का उपयोग करना होगा-p PORT_NUMBER_OR_NAME
तो ऐसा लगेगा
iptables -A OUTPUT -m geoip --dst-cc CN -p 443 -j ACCEPT
या आने वाले यातायात के लिए,
iptables -A INPUT -m geoip --src-cc CN -p 443 -j ACCEPT