उसी मशीन पर एक पोर्ट के आगे पोर्ट


24

मैं पोर्ट 25570 पर एक सेवा चलाता था, अब मैं इसे पोर्ट 25565 पर चलाने के लिए बदल रहा हूं, लेकिन मैं अभी भी ऐसे लोगों को चाहता हूं जो सेवा तक पहुंच के लिए इसे पुराने पोर्ट पर एक्सेस करने का प्रयास करते हैं। तो मैं उसी मशीन पर 25570 से 25565 पोर्ट फॉरवर्ड करना चाहूंगा।

मुझे पता है कि बहुत सारे सवाल हैं जो एक अलग मशीन को अग्रेषित करने के बारे में बात करते हैं लेकिन मैं सोच रहा था कि क्या एक ही मशीन का उपयोग करते समय विधि अलग है?

जवाबों:


27
iptables -t nat -A PREROUTING -p tcp --dport 25570 -j REDIRECT --to-port 25565

यह मान लिया गया है कि आप इस बॉक्स के माध्यम से पूरे नेटवर्क के लिए ट्रैफ़िक को रूट नहीं कर रहे हैं और अगर आपको इस बात की कोई उम्मीद नहीं है कि अन्य होस्ट्स के लिए ट्रैफ़िक नियत है तो वह पोर्ट पर होगा


3
यह पूर्ववत कैसे हो सकता है?
मार्को लवाग्निनो

1
digitalocean.com/community/tutorials/… - एक अलग सवाल पूछें
RobotHumans

22

यह स्वीकार किए गए उत्तर को ध्यान देने योग्य है केवल अन्य नेटवर्क मेजबानों के लिए लागू होता है जो मशीन चलाने वाले आईपीटबल्स से जुड़ते हैं। यह 25570 पोर्ट (उदाहरण के लिए) से कनेक्ट करने की कोशिश कर रहे iptables मशीन पर चलने वाले क्लाइंट के लिए पोर्ट को रीडायरेक्ट नहीं करता है।

ये प्रविष्टियाँ नेटवर्क से आने वाले कनेक्शनों के लिए पोर्ट या सेवाओं को चलाने वाले स्थानीय होस्ट से अग्रेषित करेंगी।

sudo iptables -t nat -I PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8443
sudo iptables -t nat -I OUTPUT -p tcp -o lo --dport 443 -j REDIRECT --to-ports 8443

1
इसके लिए धन्यवाद! इस जोड़ के बिना मैं अपने वैग्रेंट बॉक्स को प्राप्त करने में सक्षम नहीं हो सकता था क्योंकि वह उसी पोर्ट का उपयोग करके आंतरिक रूप से (होस्ट मशीन से) साइट का अनुरोध कर रहा था यानी HOST = लोकलहोस्ट: 9000 और अब GUEST = लोकलहोस्ट: 9000 (जो मार्गों के लिए: 80)
कंकड़
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.