मेरे डेबियन सिस्टम को पुनरारंभ करते समय iptables नियम क्यों गायब हो जाते हैं?


48

मैं इस नियम को जोड़ता हूं:

sudo iptables -t nat -A OUTPUT -d a.b.c.d -p tcp \
       --dport 1723 -j DNAT --to-destination a.b.c.d:10000
  1. जब पुनरारंभ कंप्यूटर नियम हटाए जाते हैं। क्यों?
  2. नियमों को बनाए रखने के लिए मैं क्या कर सकता हूं?

जवाबों:


45

Iptables में कोई विकल्प नहीं है जो आपके नियमों को स्थायी बना देगा। लेकिन आप उपयोग कर सकते हैं iptables-saveऔर iptables-restoreअपने कार्य को पूरा करने।

पहले आपके द्वारा दी गई कमांड का उपयोग करके iptable नियम को जोड़ें।

फिर कुछ फ़ाइल के लिए iptables नियमों को सहेजें जैसे /etc/iptables.confनिम्नलिखित कमांड का उपयोग करना:

$  iptables-save > /etc/iptables.conf

/etc/rc.localप्रत्येक रिबूट में नियमों को फिर से लोड करने के लिए निम्न कमांड जोड़ें ।

$  iptables-restore < /etc/iptables.conf

15
डेबियन पर iptables-persistentपैकेज है जो यह करेगा।
bahamat

7
यह बजाय इसे शुरू करने के लिए बुरा विचार है rc.localक्योंकि सेवाओं की शुरुआत और फ़ायरवॉल नीति के बीच एक खुली खिड़की का अंतर होगा। मैं का उपयोग कर पसंद करते हैं pre-up लूपबैक इंटरफेस के लिए हुक में /etc/network/interfacesइस पर काबू पाने के लिए।
11

@poige: मैं 100% सहमत हूं, rc.localइसका इच्छित प्रभाव हो सकता है, लेकिन यह इस स्थिति में एक कीचड़ है।
जेएम बेकर

3
@ नौबत: उस पैकेज को स्थापित करना सबसे अच्छा समाधान है, यह हकदार है कि इसका खुद का जवाब है।
जेएम बेकर

1
@ टेकजिला: हो गया।
बहमट

53

(क्योंकि यह सुझाव दिया गया था कि यह इसका एक जवाब है ...)

डेबियन स्थापित पर iptables-persistent

/etc/iptables/rulesबूट के दौरान पैकेज स्वचालित रूप से आपके लिए लोड हो जाएगा ।

जब भी आप अपने नियमों को संशोधित करते हैं, तो /sbin/iptables-save > /etc/iptables/rulesउन्हें बचाने के लिए दौड़ें । आप चाहें तो शटडाउन अनुक्रम में भी जोड़ सकते हैं।


12
दो अलग-अलग नियम फाइलें हैं: /etc/iptables/rules.v4और /etc/iptables/rules.v6क्रमशः आईपीवी 4 और आईपीवी 6 के लिए। यदि आप दोनों प्रकार के कनेक्शनों पर लागू करने के लिए एक तालिका चाहते हैं, तो आपको इसे दोनों नियम फाइलों में सहेजना होगा।
पेटासपीडेवर

11
इसे अपने शटडाउन अनुक्रम में न जोड़ें! यदि आप बदलावों / सेटअप के दौरान अपने नियमों का पालन करते हैं तो कम से कम एक अच्छा रिबूट चीजों को पहले से काम कर रहे राज्य में वापस मिल जाएगा।
२०:०३ पर

1

iptables-persistentऊपर स्थापित करने के बाद आप Ubuntu 16.04+ पर निम्न छोटी कमांड के साथ नियम भी बचा सकते हैं: sudo netfilter-persistent save

और उन्हें वापस भी बहाल किया जा सकता है कि पिछली बार जब आपने उन्हें बचाया था, तो वे कैसे थे: sudo netfilter-persistent reload

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