सवाल Centos 7 iptables सेटिंग्स को सहेजें


समस्या: सर्वर रीबूट के बाद iptables डिफ़ॉल्ट सेटिंग्स को रीसेट करता है।

मैं इस तरह के नियम को सेट करने की कोशिश कर रहा हूं:

iptables -I INPUT -p tcp --dport 3000 -j ACCEPT

उसके बाद मैं करता हूं:

service iptables save

और यह इस तरह कुछ वापस लिखता है

iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]

और इसके बाद मैं बस भाग गया (यह एक बार किया गया था):

chkconfig iptables on (मैंने पढ़ा है कि इसे रीबूट के बाद सेटिंग्स को पुनर्स्थापित करने के लिए किया जाना है)

उसके बाद मैं रीबूट करता हूं और यह आदेश चलाता हूं:

systemctl list-unit-files | grep iptables

और मुझे लगता है कि iptables.service सक्षम है, हालांकि, नियम (पोर्ट 3000 खोलने के लिए) अब काम नहीं करता है।

मैं इन सेटिंग्स को कैसे जारी रखूं?


52
2017-09-05 14:04


मूल


आपने फायरवाल का उपयोग क्यों नहीं किया? यह शायद अभी भी चल रहा है। - Michael Hampton♦
शायद क्योंकि फ़ायरवॉल सर्वर वातावरण के लिए उपयुक्त नहीं है ... - Juan Jimenez


जवाब:


CentOS 7 का उपयोग कर रहा है FirewallD अभी व!

उदाहरण:

firewall-cmd --zone=public --add-port=3000/tcp --permanent

पुनः लोड नियम:

firewall-cmd --reload

61
2017-09-05 14:13



किसी भी विचार से एडब्ल्यूएस एएमआई से सेंटोस 7 छवि में फ़ायरवॉल डी नहीं है। - Saad Masood
या आप फायरवालल्ड को अक्षम कर सकते हैं और "iptables-services" पैकेज को मूल देशी iptables संगतता प्राप्त करने के लिए स्थापित कर सकते हैं :) - vagarwal
मैंने बंदरगाह अग्रेषण 80 -> 8180 के लिए कॉन्फ़िगर करने की कोशिश की (--zone=trusted) firewalld-cmd के साथ लेकिन यह काम नहीं करता है (यह काम करता है --zone=public) Iptables के साथ ऐसा कर रहा है sudo /sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8180 ; sudo /sbin/iptables -t nat -I OUTPUT -o lo -p tcp --dport 80 -j REDIRECT --to-port 8180 काम करता है (लेकिन प्रत्येक firewalld --reload इस हार को खो देता है) - djb
@saad: क्योंकि aws पहले से ही फ़ायरवॉल सेवा प्रदान करता है इसलिए अमी को छोटा रखा जा सकता है - roothahn
यह नहीं! मैंने एक सेंटोस 7 वीपीएस का ऑर्डर दिया है और इसमें डिफ़ॉल्ट रूप से iptables हैं! ओएस संस्करण: 7.5.1804 (कोर) - codezombie


निम्नलिखित आदेश से फायरवालल्ड को अक्षम करें:

systemctl disable firewalld

फिर निम्न आदेश से iptables-service स्थापित करें:

yum install iptables-services

फिर iptables सेवाओं के रूप में सक्षम करें:

systemctl enable iptables

अब आप कमांड द्वारा अपने iptable नियमों को सहेज सकते हैं:

service iptables save

57
2017-11-28 12:58





CentOS 7 न्यूनतम पर आपको स्थापित करने की आवश्यकता हो सकती है iptables-services पैकेज (धन्यवाद @RichieACC के लिए सुझाव):

sudo yum install -y iptables-services

और फिर सेवा का उपयोग कर सक्षम करें systemd:

sudo systemctl enable iptables.service

और अपने फ़ायरवॉल नियमों को सहेजने के लिए initscript चलाएं:

sudo /usr/libexec/iptables/iptables.init save

19
2018-01-04 17:19





आप सीधे / etc / sysconfig / iptables फ़ाइल को संशोधित कर सकते हैं। उस फ़ाइल से नियमों को फिर से लोड करने के लिए iptables सेवा को दोबारा लोड करें। फिर भी, जैसा कि आपको पहले ही बताया गया था, फायरवालल्ड सेंटोस के लिए नई डिफ़ॉल्ट फ़ायरवॉल प्रणाली है, और यह सीखने का एक अच्छा मौका है कि इसका उपयोग कैसे करें, क्या आपको नहीं लगता?


0
2017-09-05 15:29



CentOS7 में अब कोई / etc / sysconfig / iptables फ़ाइल नहीं है - roothahn
क्षमा करें @roothahn, लेकिन यह निश्चित रूप से मौजूद है ... जब तक कि आप निश्चित रूप से कुछ पैकेज याद नहीं करते हैं। /Usr/lib/systemd/system/iptables.service से आप देख सकते हैं कि वास्तव में क्या लॉन्च किया गया है "/usr/libexec/iptables/iptables.init start" है, जो सामान्य पुरानी और प्रिय स्क्रिप्ट है जो सामान्य पुरानी कॉन्फ़िगरेशन फ़ाइल की तलाश में है / etc / sysconfig में - stoned
हाँ /etc/sysconfig/iptables मेरे लिए भी मौजूद नहीं है। हालाँकि, /etc/sysconfig/iptables-config अस्तित्व में है। लेकिन इसमें इसके अंदर फ़ायरवॉल नियम नहीं हैं iptables फाइल पहले थी। - Kentgrav
मैंने पाया कि फ़ाइल डिफ़ॉल्ट पर नहीं थी, न्यूनतम स्थापित करें। CentOS 7 डिफ़ॉल्ट रूप से iptables.service स्थापित नहीं करता है, ऐसा लगता है। "yum install -y iptables.service" ने सेवा स्थापित की और मेरे लिए एक डिफ़ॉल्ट / etc / sysconfig / iptables बनाया। - RichieACC
यह "yum इंस्टॉल iptables-services" होना चाहिए - qris