सेंटोस 6.5 में ओपन पोर्ट 80


14

मैं अपने वर्चुअल मशीन पर अपने CentOS 6.5 में पोर्ट 80 खोलने की कोशिश कर रहा हूं, इसलिए मैं अपने डेस्कटॉप के ब्राउज़र से अपाचे को एक्सेस कर सकता हूं।

यहाँ छवि विवरण दर्ज करें

यदि आप ऊपर दिए गए स्क्रीनशॉट पर एक नज़र डालते हैं .... मैंने नीले तीर से पहले की लाइन जोड़ी है, जैसा कि http://www.cyberciti.biz/faq/linux-iptables-firewall-open-port- पर लिखा है 80 / अब मुझे अपने ब्राउज़र में आईपी-पता दर्ज करते समय एपाचे परीक्षण पृष्ठ मिलता है, लेकिन फिर भी जब iptables को पुनरारंभ करते हैं, तो मुझे "FAILED" मिलता है जब CentOS नए नियम को लागू करने की कोशिश करता है।

क्या किसी को इसके लिए एक समाधान पता है? या मुझे विफलता को नजरअंदाज करने की जरूरत है?

जवाबों:


28

मैन्युअल रूप से नियमों की कुंजी के बजाय आप iptablesनियमों को उचित श्रृंखलाओं में जोड़ने के लिए उपयोग कर सकते हैं और फिर उन्हें सहेज सकते हैं। यह आपको नियमों को डिबग करने की अनुमति देगा, यह पुष्टि करते हुए कि वे सही हैं, बजाय उन्हें फ़ाइल में जोड़ने के जैसे आप कर रहे हैं।

पोर्ट 80 खोलने के लिए मैं यह करता हूं:

$ sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ sudo /etc/init.d/iptables save

अंतिम कमांड जोड़े गए नियमों को बचाएगा। यह वह नियम है जिसका उपयोग मैं वेब ट्रैफ़िक के लिए पोर्ट खोलने के लिए करूंगा।

क्यों आपका शासन मुद्दों का कारण बन रहा है

यदि आप उस नियम को नोटिस करते हैं जिसका आप उपयोग करने का प्रयास कर रहे हैं:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

एक श्रृंखला है जिसे "आरएच-फ़ायरवॉल -1-INPUT" कहा जाता है। यदि आपके पास यह चेन नहीं है, या INPUTचेन से इस चेन का लिंक नहीं है , तो यह नियम कभी भी उपलब्ध नहीं होगा। यह नियम इस तरह हो सकता है:

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

या आपकी INPUTश्रृंखला इस RH-Firewall-1-INPUTतरह से एक नियम के साथ इस श्रृंखला से जुड़ी होनी चाहिए :

$ sudo iptables --list
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0
....

नोट: आप देख सकते हैं कि आपके पास इस कमांड के साथ कौन सी चेन है:

$ sudo iptables -L| grep Chain
Chain INPUT (policy ACCEPT)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
...

इसके अलावा राज्यों को संशोधित करने की आवश्यकता हो सकती है ताकि मौजूदा कनेक्शनों को भी अनुमति दी जाए।

-A INPUT -m state --state NEW,ESTABLISHED -m tcp -p tcp --dport 80 -j ACCEPT

जब आप -Aस्विच का उपयोग करते हैं तो आप नियम को श्रृंखला में जोड़ रहे हैं INPUT। यदि इससे पहले अन्य नियम हैं जो इस नियम के पहुंचने के साथ अवरुद्ध और / या हस्तक्षेप कर रहे हैं, तो इसे कभी भी निष्पादित नहीं किया जाएगा। तो आप इसे अपीयर करने की बजाए इसे ऊपर की ओर ले जाना चाह सकते हैं, जैसे:

-I INPUT -m state --state NEW,ESTABLISHED -m tcp -p tcp --dport 80 -j ACCEPT

जीयूआई का उपयोग करना

फायरवॉल जटिल जानवर हो सकते हैं। इसलिए आप इसके बजाय टीयूआई को आज़माना चाहते हैं (टीयूआई टर्मिनल के लिए जीयूआई हैं)।

$ sudo system-config-firewall-tui

फिर आप विभिन्न स्क्रीनिंग iptablesनियमों की स्थापना कर सकते हैं।

            ss # १

            ss # 2

संदर्भ


अंतिम नियम ने मेरी iptables फ़ाइल में पिछले सभी नियमों को हटा दिया और सिर्फ एक को ऊपर जोड़ा (sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT)। अब मैं अपने ब्राउज़र से अपाचे पृष्ठ तक नहीं पहुँच सकता।
एरिक वैन डे वेन

1
@ErikVandeVen - खेद है कि मैंने यह स्पष्ट नहीं किया। अन्य नियम जो आपके पास थे, उन्हें या तो इसी तरीके से जोड़ना होगा और सहेजना होगा (न्यूनतम समय पर), या आप फ़ाइल में जा सकते हैं /etc/sysconfig/iptablesऔर उन्हें जोड़ सकते हैं। आपका मूल प्रविष्टियों, इस फ़ाइल में होना चाहिए /etc/sysconfig/iptables.save
SLM

धन्यवाद, मैं iptables.save की प्रतिलिपि बनाकर iptables को पुनर्स्थापित करने में सक्षम था। लेकिन मैं अभी भी एक विफलता के बिना नियम को जोड़ने और अपने ब्राउज़र के भीतर अपाचे परीक्षण पृष्ठ को खोलने में सक्षम नहीं था। मैं ट्यूटोरियल पर एक नज़र डालूँगा, जिसे रिकाल्स ने पोस्ट किया है, पहले :)
एरिक वैन डे वेन

1
यार, मैं पूरी तरह से नहीं मिला क्यों इस जवाब को अभी तक किसी भी एक की तरह प्राप्त किया। बहुत बढ़िया विस्तृत जवाब। हजार धन्यवाद के रूप में मेरे एक पर विचार करें।
समिरॉन

1
यह फ़ायरवॉल GUI एक ईश्वर-संदेश है, इससे पहले ऐसा कभी नहीं देखा गया!
मैट फ्लेचर

0

मैंने हाल ही में CentOS 6.5 को एक वर्चुअल मशीन के रूप में वर्चुअल वेब सर्वर के रूप में उपयोग करने के लिए स्थापित किया है। वैसे भी, मैंने इसे बहुत विस्तृत बताया कि कैसे CentOS विकि से । फिर, @ एसएलएम के उत्तर के अनुसार, मैंने पोर्ट 80 को इसमें जोड़ा और उपयोग करने से बचाया sudo /etc/init.d/iptables save

iptables -L -v इसका आउटपुट है:

Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  lo     any     anywhere             anywhere            
  214 17168 ACCEPT     all  --  any    any     anywhere             anywhere            state RELATED,ESTABLISHED 
    1    44 ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp dpt:ssh 
    0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp dpt:http 

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 169 packets, 15164 bytes)
 pkts bytes target     prot opt in     out     source               destination

0

यदि आप अपनी फ़ायरवॉल सेटिंग्स को संपादित करना चाहते हैं, लेकिन आप इससे परिचित नहीं हैं iptables, तो मैं आपको सुझाव देता हूं कि system-config-firewall-tuiयदि आपके पास X सर्वर नहीं है, तो उपयोग करने के लिए टूल का उपयोग करें system-config-firewall, जो इसके लिए GUI टूल है।

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