सेंटोस 7 पर अग्रेषण पोर्ट


9

मैं एक CentOS 7 सर्वर पर काम कर रहा हूं और मैं JBoss प्राप्त करने की कोशिश कर रहा हूं जिस तरह से मैं भी चाहता हूं। मैं जावा 8 और JBoss (बेतहाशा) चला रहा हूं। मैंने उन डिफ़ॉल्ट पोर्ट्स पर काम करने वाले और काम करने वालों को पकड़ लिया है, लेकिन मैं JBoss को पोर्ट 80 पर काम करना चाहता हूं। मुझे पता है कि मैं इसे पोर्ट 80 पर काम करने के लिए प्राप्त कर सकता हूं यदि मैं इसे रूट के रूप में चलाएं, लेकिन मुझे पता है कि यह एक अच्छा विचार नहीं है और मैं इसे किसी भी तरह से रूट नहीं करना चाहता।

मैंने 80 से 8080 पोर्ट आगे बढ़ाने की कोशिश की है, लेकिन मैंने इसे काम करने के लिए नहीं दिया है। मुझे लगता है कि मुझे एक कदम याद आ रहा है, लेकिन मुझे नहीं पता कि मैं क्या याद कर रहा हूं।

मैं फ़ायरवॉल- cmd का उपयोग कर रहा हूँ। मैंने दोनों बंदरगाहों (80 और 8080) को खोल दिया है और मैंने सार्वजनिक क्षेत्र के लिए संदेश भेजने में सक्षम किया है। मैंने इस कमांड का इस्तेमाल पोर्ट को आगे बढ़ाने के लिए भी किया है

firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080.  

कोई भी विचार जो मुझे याद आ रहा है?


उसके सामने httpd या nginx चलाने में क्या गलत है?
माइकल हैम्पटन

कुछ भी नहीं, मैं इसे उस तरह से नहीं करने की कोशिश कर रहा था अगर मैं इसकी मदद कर सकता था।
zzzsys

जवाबों:


10

मुझे सिर्फ एक रास्ता मिला जिसने मेरे लिए यह संभव बनाया:

firewall-cmd --zone=public --add-masquerade --permanent
firewall-cmd --zone=public --add-forward-port=port=443:proto=tcp:toport=3001 --permanent

1
आपके लिए सही +1। मुझे यहां पहुंचने के लिए बहुत संघर्ष करना पड़ा।
गुरु

फ़ायरवॉल नहीं चल रहा है
स्टीव याकोवेन्को

@SteveYakovenko तब इसे शुरू करना एक अच्छा पहला कदम है।
just_user

0

firewall-cmdऐड-फॉरवर्ड-पोर्ट PREROUTINGनैट चेन में नियमों को जोड़ देगा , जो केवल बाहरी रूप से उत्पन्न पैकेट के लिए लागू होता है। यदि आप सर्वर पर लोकलहोस्ट (या सर्वर के लोकल आईपी) को पोर्ट 80 पर कनेक्ट करने का प्रयास कर रहे हैं तो यह विफल होने वाला है क्योंकि उन पैकेट को कभी नहीं देखा जाता है PREROUTING

यदि आप बाहरी स्रोत से पोर्ट 80 से कनेक्ट कर रहे हैं तो firewall-cmdआपको सूचीबद्ध को ठीक से काम करना चाहिए। मैं यह सत्यापित करने का सुझाव दूंगा कि आपका इंटरफ़ेस वास्तव में 'सार्वजनिक' क्षेत्र में है।

आप यह सुनिश्चित करने के लिए कि वास्तव में हिट हो रहा है, नियम पर पैकेट की गिनती प्राप्त करने के लिए आप निम्न कमांड भी चला सकते हैं:

iptables -t nat -vnL | grep 8080 -B1

यदि पैकेट प्रत्येक प्रयास पर वेतन वृद्धि की गणना करता है, तो फ़ायरवॉल ठीक से काम कर रहा है और आपके पास फ़ायरवॉल से परे कुछ समस्या है (शायद JBOSS पर एसीएल?)। यदि पैकेट प्रत्येक प्रयास में वृद्धि नहीं करते हैं, तो फ़ायरवॉल नियम को हिट नहीं किया जा रहा है, यह सुझाव देते हुए कि आप गलत क्षेत्र में हैं या पोर्ट अग्रेषण नियम से पहले कुछ अन्य नियम हैं।


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