DD-WRT: लैन के अंदर से आने वाले अनुरोधों को लागू करने के लिए पोर्ट अग्रेषण की अनुमति कैसे दें?


26

मेरे राउटर के मूल फ़र्मवेयर के साथ मैंने पोर्ट फ़ॉरवर्डिंग को पोर्ट 80 के सर्वर से लैन में परिभाषित किया था, जिसका उपयोग मैंने बाहरी डायनेमिक डीएनएस सेवा के साथ किया था।

मैंने अब DD-WRT में अपग्रेड किया है और पोर्ट को अग्रेषित करने वाला पोर्ट केवल LAN के बाहर से बाहरी IP के अनुरोध के लिए काम करता है । LAN के अंदर से मैं केवल सर्वर को उसके आंतरिक IP द्वारा एक्सेस कर सकता हूं।

मैं बाहरी IP (और इस तरह से डायनामिक बाहरी IP से जुड़ा डोमेन नाम) कैसे प्राप्त कर सकता हूं, यह ठीक से LAN के अंदर से भी सुलभ हो सकता है ?

मैं यह पता लगाना पसंद करता हूं कि इसे मानक डीडी-डब्ल्यूआरटी परिभाषाओं के साथ कैसे प्राप्त किया जा सकता है लेकिन उदाहरण के लिए iptables का उपयोग करना सवाल से बाहर नहीं है।

जवाबों:


25

ऐसा लगता है कि यह हाल ही में डीडी-डब्ल्यूआरटी बिल्ड में बग है।

Iptables का उपयोग करें:

iptables -t nat -I POSTROUTING -o br0 -s 192.168.1.0/24 -d 192.168.1.0/24 -j MASQUERADE

(अपने विशिष्ट लैन के अनुसार अपना सबनेट बदलें)

से http://hax.at/text/41


यह स्पष्ट नहीं था! एक आकर्षण की तरह काम किया :)
Jay

मैंने इसे एक स्टार्टअप कमांड के रूप में सेट किया और राउटर को रिबूट किया, लेकिन कोई बदलाव नहीं हुआ - फिर भी काम नहीं करता है।
तिमवी

मेरे लिए काम किया। आपका बहुत बहुत धन्यवाद। अब मैं अपने dd-WRT राउटर पर अपने आंतरिक नेटवर्क से अपने ddns को IP असाइन कर सकता हूं।
०२:०२

3
यह मेरे लिए काम करता है, लेकिन केवल अगर मैंने इसे फ़ायरवॉल स्क्रिप्ट के रूप में सहेजा है, तो स्टार्टअप स्क्रिप्ट के रूप में नहीं।
जरीट मिलार्ड

@ टिमिमा - जैसा कि जरीट ने उल्लेख किया है, मुझे भी इसे "फ़ायरवॉल" अनुभाग में रखना था, न कि "स्टार्टअप" खंड में।
dan_linder

4

उरईल के उत्तर की भावना में: एक स्व-विन्यास वाली iptablesस्क्रिप्ट जो कि आगे अनुकूलन के बिना कॉपी-पेस्ट की जा सकती है, डीडी-डब्ल्यूआरटी फोरम पर पाई जा सकती है :

insmod ipt_mark 
insmod xt_mark 
iptables -t mangle -A PREROUTING -i ! `get_wanface` -d `nvram get wan_ipaddr` -j MARK --set-mark 0xd001 
iptables -t mangle -A PREROUTING -j CONNMARK --save-mark 
iptables -t nat -A POSTROUTING -m mark --mark 0xd001 -j MASQUERADE 

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


इस समाधान ने मेरे लिए यूआरईआई की तुलना में बेहतर काम किया क्योंकि बाद वाले ने मेरे एसआईपी फोन को कनेक्ट करने में असमर्थ बना दिया।
जैमिक्स सेप

इस और @ अर्ल के नियम (गतिशील रूप से वान इंटरफ़ेस और आईपी पते के अलावा) के बीच क्या अंतर है?
पायोत्र डोब्रोगोस्ट

1

सुरक्षा-> फ़ायरवॉल टैब में "फ़िल्टर वैन नेट पुनर्निर्देशन" को अक्षम करने का प्रयास करें। सहायता विवरण से:

फ़िल्टर वान NAT पुनर्निर्देशन LAN पर सर्वर से संपर्क करने के लिए रूटर के WAN पते का उपयोग करने से LAN पर होस्ट करता है (जो पोर्ट पुनर्निर्देशन का उपयोग करके कॉन्फ़िगर किया गया है)।


यह पहले से ही अक्षम था (डिफ़ॉल्ट रूप से)। कोई अन्य विचार?
UrEl

यह अजीब है - मेरे लैन पर, यह सेटिंग ठीक वही है जो फर्क करती है। आप किस बिल्ड का उपयोग कर रहे हैं? हो सकता है कि आपको अपने पोर्ट फ़ॉरवर्डिंग की दोबारा जाँच करनी चाहिए - हो सकता है कि वहाँ कुछ गड़बड़ हो, जो आपको याद हो (हो सकता है कि आपके बाहरी और आंतरिक पहुंच के बीच IP बदल गए हों, इस प्रकार पोर्ट फ़ॉरवर्डिंग टूट जाए?)
Tobias Plutat

मैं 16994 का उपयोग कर रहा हूं। इस दौरान मुझे यह पता चला: hax.at/text/41
UrEl

ओह, मैं बग्गी डीडी-डब्ल्यूआरटी रिलीज से कैसे प्यार करता हूं! (कुछ समय के लिए इस्तेमाल किए जाने वाले ग्राहकों से एक कनेक्शन स्थापित करना ... जब तक मुझे पता चला कि स्थिर पट्टों में होस्ट नाम में केवल वर्णमाला अक्षर होना चाहिए। Arrgh!)
टोबीस प्लूटैट

1

ऐसा लगता है कि आपकी वास्तविक समस्या यह है कि आपको DNS A रिकॉर्ड के दो दृश्य चाहिए। बाह्य रूप से आपके डायनामिक डीएनएस आपके नेटवर्क सार्वजनिक आईपी को इंगित करते हैं जो स्थानीय होस्ट को 80 से आगे पोर्ट करता है। आपको बस अपने स्थानीय मेजबानों के लिए स्थानीय होस्ट आईपी के लिए एक ही पूरी तरह से योग्य डोमेन नाम की ओर इशारा करते हुए एक रिकॉर्ड के साथ dnsmasq में एक प्रविष्टि जोड़ने की आवश्यकता है। आप सेवा पृष्ठ पर निम्नलिखित जोड़कर कर सकते हैं / अतिरिक्त dnsmasq विकल्प:

 address=/www.mydomain.com./xx.xx.xx.xx

बस अपने डोमेन नाम के साथ xx को स्थानीय आईपी और डोमेन नाम के साथ बदलें। अनुगामी डॉट को न भूलें या यह आपके स्थानीय डोमेन नाम को जोड़ देगा।


यह वही है जो मैंने किया था, और यह काम करता है! लेकिन क्या कुछ बंदरगाहों के लिए ऐसा करना संभव है? यह केवल तभी काम करेगा जब आप किसी एकल कंप्यूटर पर पोर्ट अग्रेषित कर रहे हों। यदि आप कई कंप्यूटरों के लिए पोर्ट अग्रेषित कर रहे हैं, तो यह काम नहीं करेगा ...
रिनोगो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.