मुझे इंटरनेट पर एप्लिकेशन की पहुंच को अवरुद्ध करने की आवश्यकता है। मैंने शोध किया और यह नुस्खा पाया:
"नो-इंटरनेट" समूह बनाएं।
-इस लाइन के साथ netblock.sh स्क्रिप्ट लिखें:
sg no-internet "$1"
इस नियम को iptables में जोड़ें:
iptables -I OUTPUT 1 -m owner --gid-owner no-internet ! -d 192.168.1.0/24 -j DROP
-Run आवेदन:
$ netblock.sh /path/to/binary
ध्यान दें कि मैं बाहरी दुनिया तक पहुंच को रोकना चाहता हूं लेकिन स्थानीय नेटवर्क तक पहुंच प्रदान करता हूं।
मैंने रिपोर्ट देखी है कि यह काम करता है, लेकिन यह मेरे लिए काम नहीं कर रहा है।
पिंग के साथ इसका परीक्षण:
$ ping www.google.com
PING www.google.com (216.58.222.100) 56(84) bytes of data.
64 bytes from rio01s16-in-f100.1e100.net (216.58.222.100): icmp_seq=1 ttl=54 time=43.5 ms
64 bytes from rio01s16-in-f100.1e100.net (216.58.222.100): icmp_seq=2 ttl=54 time=42.3 ms
^C
$ netblock.sh "ping www.google.com"
ping: www.google.com: Temporary failure in name resolution
यह काम करता हैं। हालाँकि...
$ ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.324 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.379 ms
^C
$ netblock.sh "ping 192.168.1.1"
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
ping: sendmsg: Operation not permitted
ping: sendmsg: Operation not permitted
^C
स्थानीय नेटवर्क को भी अवरुद्ध किया जा रहा है और मैं ऐसा नहीं चाहता। मैं क्या गलत कर रहा हूं?
हाँ क्षमा करें। मैं भूल गया। मैं "rc.firewall Linux फ़ायरवॉल संस्करण 2.0rc9 - 05/02/03" का उपयोग कर रहा हूं और मूल पोस्ट में मेरे द्वारा बताई गई एक iptables लाइन स्क्रिप्ट के अंत में है। मेरे द्वारा उपयोग की जा रही एकमात्र विन्यास योग्य रेखा PERMIT = "192.168.0.0/24" है।
—
movingtype
iptables
यह देखने के लिए कि क्या कोई अन्य फ़ायरवॉल नियम हस्तक्षेप कर रहे हैं?