/ / सबनेट के बाहर सभी आउटबाउंड कनेक्शन लॉग करने के लिए Iptable नियम - नेटवर्किंग, नेटवर्क-प्रोग्रामिंग, iptables

सबनेट - नेटवर्किंग, नेटवर्क प्रोग्रामिंग, iptables के बाहर सभी आउटबाउंड कनेक्शन लॉग करने के लिए अयोग्य नियम

मैं सभी नए आउटबाउंड tcp कनेक्शनों को एक ही नेटवर्क में लोकलहोस्ट और IP पर हो रहे कनेक्शन को छोड़कर लॉग इन करना चाहता हूं।

यह है कि मैं इसे कैसे स्थापित कर रहा हूं, लेकिन मैं आउटबाउंड कनेक्शन 127.0.0.1 और 192.168.1.122 को देख रहा हूं जो कि मेरा आईपी है। मैं 192.168.1.121 को आउटबाउंड कनेक्शन भी देखता हूं जो उसी सबनेट में है।

    sudo iptables -I OUTPUT -m state -p tcp --state NEW ! -s 127.0.0.1 ! -d 127.0.0.1 -m limit --limit 1/m --limit-burst 1 -j LOG --log-uid --log-prefix "Outbound Connection:  "

for i in $(hostname -I)
do
echo $i
sudo iptables -I OUTPUT -m state -p tcp --state NEW -s 127.0.0.1 ! -d $i/24 -m limit --limit 1/m --limit-burst 1 -j LOG --log-uid --log-prefix "Outbound Connection:  "
done

यहाँ इस स्क्रिप्ट के बाद iptables- सेव का आउटपुट है, मैंने इस नियम को पकड़ने के लिए आउटपुट को छीन लिया है।

    -A INPUT -p tcp -m multiport --dports 0:65535 -j f2b-outbound

-A OUTPUT -s 127.0.0.1/32 ! -d 172.17.0.0/24 -p tcp -m state --state NEW -m limit --limit 5/min -j LOG --log-prefix "Outbound Connection:  " --log-uid
-A OUTPUT -s 127.0.0.1/32 ! -d 10.97.11.0/24 -p tcp -m state --state NEW -m limit --limit 5/min -j LOG --log-prefix "Outbound Connection:  " --log-uid
-A OUTPUT ! -s 127.0.0.1/32 ! -d 127.0.0.1/32 -p tcp -m state --state NEW -m limit --limit 5/min -j LOG --log-prefix "Outbound Connection:  " --log-uid
-A OUTPUT -s 127.0.0.1/32 ! -d 172.17.0.0/24 -p tcp -m state --state NEW -m limit --limit 5/min -j LOG --log-prefix "Outbound Connection:  " --log-uid
-A OUTPUT -s 127.0.0.1/32 ! -d 10.97.11.0/24 -p tcp -m state --state NEW -m limit --limit 5/min -j LOG --log-prefix "Outbound Connection:  " --log-uid
-A OUTPUT ! -s 127.0.0.1/32 ! -d 127.0.0.1/32 -p tcp -m state --state NEW -m limit --limit 5/min -j LOG --log-prefix "Outbound Connection:  " --log-uid
-A DOCKER -d 172.17.0.2/32 ! -i docker0 -o docker0 -p tcp -m tcp --dport 5432 -j ACCEPT

उत्तर:

जवाब के लिए 0 № 1

कनेक्शन आपके पहले लॉग इन हो रहे हैं iptables लाइन। यह सभी गैर-लोकलहोस्टरों के पैकेट से मेल खाएगा, क्योंकि मिलान का मानदंड स्रोत नहीं है-लोकलहोस्ट और गंतव्य नहीं-लोकलहोस्ट। इसके अलावा आपके अतिरिक्त नियम कभी भी मेल नहीं खाएंगे क्योंकि आउटबाउंड पैकेट में कभी भी 127.0.0.1/8 (लोकलहोस्ट सबनेट) का स्रोत पता नहीं होगा।

आपको अपने में लाइन बदलने की आवश्यकता है for से पाश

sudo iptables -I OUTPUT -m state -p tcp --state NEW -s 127.0.0.1 ! -d $i/24 -m limit --limit 1/m --limit-burst 1 -j LOG --log-uid --log-prefix "Outbound Connection:  "

सेवा मेरे

sudo iptables -I OUTPUT -m state -p tcp --state NEW ! -d $i/24 -m limit --limit 1/m --limit-burst 1 -j LOG --log-uid --log-prefix "Outbound Connection:  "