(/ etc / sysconfig / iptables) "इस फ़ाइल का मैन्युअल अनुकूलन अनुशंसित नहीं है।" क्यों?


20

इस फाइल को सीधे एडिट करना

/etc/sysconfig/iptables 

मुझे इतना समय और इतने पर सिर दर्द बचा सकता है ...

और अभी तक यह कहते हैं फ़ाइल के शीर्ष पर ..

Manual customization of this file is not recommended.

यहाँ '/ etc / sysconfig / iptables' है जो बस एक नए ब्रांड 6.4 6.4 क्लाउड सर्वर के साथ आया है।

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

पोर्ट 80 खोलने के लिए मैं बस लाइन क्लोन कर सकते हैं ..

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

और फिर "22" को "80" में बदलें और फिर इस फाइल को सेव करें और फिर पूरे सिस्टम को रिबूट करें।

यह मेरे लिए पोर्ट 80 खोल देगा।

यह बहुत आसान ऑपरेशन है। और फिर भी फ़ाइल कहती है कि मैन्युअल संपादन की अनुशंसा नहीं की गई है।

मुझे सलाह का पालन क्यों करना चाहिए?

जवाबों:


18

चूँकि नामक टूल system-config-firewall(या यह भाई आधारित है system-config-firewall-tui) इस फाइल का प्रबंधन करता है। हर बार जब आप नए iptables नियम बनाने के लिए इस टूल का उपयोग करते हैं, तो यह ओवरराइट हो जाएगा /etc/sysconfig/iptables

संबंधित पेज: 28.1.16 / etc / sysconfig / iptables-config

यही कारण है कि यह अनुशंसित नहीं है, लेकिन निषिद्ध नहीं है । CentOS या किसी अन्य EL संस्करण 6 का उपयोग करके अपने नियमों को सहेजने का सबसे अच्छा तरीका स्मृति पर कुछ नियम जोड़ने के बाद iptables सेवा का उपयोग करना है:

# service iptables save

संबंधित प्रश्न: iptables सेंटर्स पर / etc / sysconfig / iptables से जानकारी क्यों नहीं लाते हैं?

इस फ़ाइल को /etc/sysconfig/iptablesसीधे संपादित न करने के कारण :

  • क्योंकि यह एक ऑटो जेनरेटेड फाइल है। इसकी सामग्री स्क्रिप्ट / डेमॉन से आती है /etc/init.d/iptables
  • IPtables डेमॉन को रीसेट करने या रोकने जैसी कुछ क्रियाओं के परिणामस्वरूप डेटा हानि हो सकती है, क्योंकि यह फ़ाइल को अधिलेखित कर देगा। इस विषय पर दिलचस्प चर: IPTABLES_SAVE_ON_STOP=""और फ़ाइल के IPTABLES_SAVE_ON_RESTART=""अंदर /etc/sysconfig/iptables-config। हो सकता है, उन को ट्यून करने से आपके अंदर के बदलाव /etc/init.d/iptablesलगातार बने रहेंगे ।
  • क्योंकि प्रलेखन ने ऐसा कहा था ।Red Hat ने सलाह दी कि उनके फ़ायरवॉल बुनियादी ढांचे का उपयोग करने के लिए यह सबसे अच्छा तरीका है।

इसका एक वैकल्पिक समाधान "मेरे फ़ायरवॉल नियमों को अधिलेखित करें" माइंडफ़ *** उन लिपियों को पूरी तरह से अक्षम करना और फ़ायरवॉल के प्रबंधन के एक अनुकूलित तरीके पर भरोसा करना है, जैसे गोल्डीलॉक्स द्वारा उजागर किया गया


यह मिश्रण के खिलाफ एक तर्क की तरह लगता है और सीधे फाइल को संपादित करने और system-config-firewallउपकरण का उपयोग करके नियमों को जोड़ने के लिए। क्या आप इस बात का विस्तार कर सकते हैं कि टूल के उपयोग के बदले फाइल को संपादित करना बुरा क्यों है?
मिशेल

अतिरिक्त जानकारी जोड़ी गई। टिप के लिए धन्यवाद @

8

और अभी तक यह कहते हैं फ़ाइल के शीर्ष पर ..

हम्म, यह अजीब है। मेरा सबसे ऊपर यह कहता है:

# Manual customization of this file is strongly encouraged.

किसी ने इसे बदल दिया होगा;) और वास्तव में यहां तक ​​कि इसे स्थानांतरित कर दिया, /etc/sysconfigताकि इसे पैकेज प्रबंधक या किसी अन्य चीज़ से "ऑटो अनियोजित" न मिले;);

मुझे लगता है कि सामान्य रूप से इस तरह की कॉन्फिग फाइल के साथ बिंदु यह है कि यदि आप नहीं जानते कि आप क्या कर रहे हैं, तो ऐसा न करें। कभी-कभी यह चेतावनी भी होती है कि फ़ाइल कभी-कभी सिस्टम द्वारा अधिलेखित हो जाती है। यह उन्नयन पर पैकेज प्रबंधक द्वारा किया जा सकता है - हालांकि कभी-कभी पीएम नोट करेगा एक फ़ाइल को मैन्युअल रूप से बदल दिया गया है और इसे अधिलेखित नहीं किया गया है, या कॉपी को सहेजना, आदि - और यह कुछ अन्य उपकरण हो सकता है जो इस कॉन्फ़िगरेशन के लिए जिम्मेदार है विशेष रूप से ( nwildner का जवाब देखें )।

"यह जानना कि आप क्या कर रहे हैं" का हिस्सा इस तरह कोणों के बारे में पता होना है। मैंने iptables के लिए इनफिट सेवा को कॉन्फिगर फाइल के लिए एक अलग स्थान का उपयोग करने के लिए अनुकूलित किया था, और सबसे महत्वपूर्ण बात: मैं केवल एक ही कंप्यूटर का उपयोग करता हूं।

यह मानते हुए कि रूट एक्सेस वाले अन्य लोग हैं, मैं एक सर्वर पर ऐसा नहीं करूंगा जिसके लिए मैं जिम्मेदार हूं जब तक कि "मैं इसे इस तरह से पसंद करता हूं" से बेहतर कारण नहीं था, क्योंकि यह संभवतः भ्रम पैदा करेगा और किसी और को सिरदर्द देगा। किन्हीं बिंदुओं पर। लेकिन अगर आप केवल उपयोगकर्ता हैं और कोई अन्य व्यक्ति सिस्टम पर निर्भर नहीं करता है, तो आप वह करना चाहते हैं जो आप चाहते हैं। फ़ायरवॉल को कॉन्फ़िगर करने के लिए मेरा "पसंदीदा तरीका" इस तरह दिखता है:

#!/bin/bash

if [[ ! -n "$IPTSET_FILE" ]]; then
        IPTSET_FILE=/etc/iptables.current
fi

if [[ ! -e $IPTSET_FILE ]]; then
        echo "$IPTSET_FILE does not exist!"
        exit 1
fi

vim $IPTSET_FILE
iptables-restore < $IPTSET_FILE

/etc/iptables.currentको कॉपी करके बूट किया जाता है /etc/iptables(जिसे प्रारंभ में लोड करने के लिए iptables सेवा को कॉन्फ़िगर किया गया है)। इस तरह मैं संदर्भ बिंदु को बनाए रखते हुए मक्खी पर चीजों को संशोधित कर सकता हूं जो सिस्टम से शुरू होता है।

जो हमें एक महत्वपूर्ण बिंदु पर लाता है, यदि आप उन कॉन्फ़िगरेशनों के साथ बेवकूफ बनाना चाहते हैं जिनमें इस तरह की चेतावनी होती है: हमेशा मूल पहले की बैकअप प्रतिलिपि बनाएं।

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