IPtables को फिर से लोड करना


29

मैंने /etc/iptables/filterउबंटू में iptables config फाइल में बदलाव किए और उन्हें फिर से लोड करना चाहता हूं। मैंने मैन पेज पढ़ा और गुगली भी की लेकिन जानकारी नहीं मिल सकी। किसी भी तरह की सहायता को आभार समझेंगे।


आपने इस प्रश्न को पोस्ट करने से पहले न तो उबंटू के संस्करण के बारे में कोई जानकारी प्रदान की है, न ही आप इसका उपयोग कर रहे हैं और न ही वेब की खोज की है।

जवाबों:


28

सबसे आसान तरीका रिबूट है (यदि नीचे काम नहीं करता है, तो रिबूट करें, जांचें कि क्या यह परिवर्तन किया गया है)।

दूसरा सबसे आसान iptables कॉन्फ़िगरेशन (google: पुनरारंभ डेमन ubuntu) का उपयोग करके डेमॉन को पुनरारंभ करना है।

उदाहरण (आपके कॉन्फ़िगरेशन पर निर्भर करता है):

/etc/init.d/iptables restart  

/etc/init.d/networking restart  

/etc/init.d/firewall restart

5

1
क्या नेटवर्क संबंधित /etc/init.d में मौजूद है? पुनः आरंभ करने का प्रयास करें।

2
/etc/init.d/networking पुनरारंभ करें?

1
मृत लिंक मृत है।
डस्टिन ग्राहम

@DustinGraham धन्यवाद, टूटी हुई कड़ी हटा दी जाती है।
जूहा

37

आम तौर पर आपके फ़ायरवॉल नियम विन्यास फाइल में होते हैं /etc/iptables.firewall.rules

अपनी फ़ाइल में परिभाषित नियमों को सक्रिय करने के लिए आपको उन्हें भेजना होगा iptables-restore(यदि आप चाहें तो दूसरी फ़ाइल का उपयोग कर सकते हैं):

sudo iptables-restore < /etc/iptables.firewall.rules

और आप देख सकते हैं कि वे इसके साथ सक्रिय हैं:

sudo iptables -L

यदि आप कंप्यूटर को बूट करने के लिए हर बार समान नियमों को सक्रिय करना चाहते हैं

sudo nano /etc/network/if-pre-up.d/firewall

इस सामग्री के साथ:

#!/bin/sh
/sbin/iptables-restore < /etc/iptables.firewall.rules

और इसे निष्पादन की अनुमति दें:

sudo chmod +x /etc/network/if-pre-up.d/firewall

आशा है कि यह आपकी मदद करता है =)

इसके लिए उदाहरण फ़ाइल /etc/iptables.firewall.rules:

*filter

#  Allow all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 -j REJECT

#  Accept all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#  Allow all outbound traffic - you can modify this to only allow certain traffic
-A OUTPUT -j ACCEPT

#  Allow HTTP and HTTPS connections from anywhere (the normal ports for websites and SSL).
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT

#  Allow SSH connections
#
#  The -dport number should be the same port number you set in sshd_config
#
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT

#  Allow ping
-A INPUT -p icmp -j ACCEPT

#  Log iptables denied calls
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7

#  Drop all other inbound - default deny unless explicitly allowed policy
-A INPUT -j DROP
-A FORWARD -j DROP

COMMIT

4
उबंटू 14.10 पर मेरे पास कोई है /etc/iptables.firewall.rules, लेकिन sudo iptables-restore < /etc/iptables/rules.v4मेरे लिए काम किया।
टिम्बो

4

यदि आपने अपने नियमों को निष्पादित किया है तो वे पहले से ही चल रहे हैं और कोई भी पुनः लोड करना आवश्यक नहीं है। उस स्थिति में जहां आपके पास एक कॉन्फ़िगरेशन फ़ाइल है, लेकिन इसे सबसे अच्छे तरीके से निष्पादित नहीं किया गया है, जिसे मैंने अब तक उपयोग किया है iptables-apply(एक iptables एक्सटेंशन)।

iptables-apply -t 60 your_rules_file

यह 60 सेकंड (डिफ़ॉल्ट रूप से 10) के लिए नियम लागू करेगा और यदि आप उन्हें पुष्टि नहीं करते हैं तो उन्हें वापस कर दें। यदि आप नियमों के कारण सिस्टम से बाहर कर दिए जाते हैं (उदाहरण के लिए यदि आप ssh के माध्यम से काम कर रहे हैं) तो यह आपको बचाएगा।

आप प्रतिस्थापन के रूप में निम्नलिखित का उपयोग कर सकते हैं:

iptables-restore < your_rules_file; sleep 60; iptables-restore < clean_rules

नहीं, DDNS होस्ट रिज़ॉल्यूशन के लिए पुनः लोड करना आवश्यक है। यदि किसी संदर्भित होस्ट का IP बदल जाता है, तो iptables को फिर से लोड करना होगा। आदर्श रूप से आप क्रोन से हर 30 मिनट में ऐसा करेंगे। हर 30 मिनट में रिबूट करना सुविधाजनक नहीं है।
mckenzm

1

sudo ufw reload

फ़ायरवॉल और उसके नियमों को फिर से लोड करेगा।


0

एक छोटे से googling के बाद, यह वही है जो मैंने iptables को पुनरारंभ करने के लिए पाया है। । । sudo /etc/init.d/firewall पुनः आरंभ करें


3

0

यदि आप अपने द्वारा किए गए परिवर्तनों को मान्य करने के लिए IPtables को फिर से लोड करना चाहते हैं; आप नीचे दिए गए कमांड लाइनों के साथ अपाचे को भी पुनः आरंभ कर सकते हैं:

/etc/init.d/apache2 रोकें

/etc/init.d/apache2 प्रारंभ

ये आदेश उबंटू के आपके स्वाद और पहले किए गए अंतिम संशोधनों के आधार पर भिन्न हो सकते हैं।

उम्मीद है की यह मदद करेगा।

पियरे

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.