Ich verwende eine BSNL BroadBand-Verbindung und es wird ein DSL-Router bereitgestellt, der als Standard-Gateway für viele drahtlose Geräte fungieren kann. Ein solches Gerät ist mein Server. Ich habe eine statische IP-Adresse gemietet. Damit der gesamte Datenverkehr über die zu dieser IP zum Router geleitet wird.
Um die Anfrage vom Router an meinen Server (der über WLAN verbunden ist) weiterzuleiten, ist jedoch eine Portweiterleitung erforderlich (Hilfe von hier erhalten ). Die Portweiterleitung für den BSNL DSL Router kann über den VIRTUAL SERVER
Abschnitt des NAT
Abschnitts erfolgen. Dort habe ich alle Anfragen auf Port 8080 (mein JBOSS verwendet Port 8080) an den Server weitergeleitet, der eine interne IP-Adresse hat 192.168.1.7
.
Ich kann vom Server aus eine Verbindung zum Internet herstellen(192.168.1.7
) können alle Geräte, die über WLAN mit dem Router verbunden sind, miteinander pingen. Der Datenverkehr auf Port 8080 wird jedoch nicht an den Server geleitet.
Was können die möglichen Gründe dafür sein?
HINWEIS
Ich kann auf den Server zugreifen, wenn meine Anforderungs-URL lautet http://192.168.1.7:8080/myapp
. Aber wenn meine URL ist http://118.XXX.XXX.XXX:8080/myapp
. Ich kann nicht darauf zugreifen. 118.xxx.xxx.xxx ist die öffentliche IP des Routers.
quelle
Viele Router lassen nicht zu, dass Verbindungen, die sie vom lokalen Netzwerk an den WAN-Port weitergeleitet haben, zurück in das LAN geleitet werden (NAT-Loopback oder Haarnadel). Die WAN-IP ist dann von innen nicht zugänglich und Sie müssten andere Adressen verwenden, um den Router oder die Computer zu kontaktieren, an die Ports weitergeleitet wurden, in Ihrem Fall 192.168.1.7. Sie können den Port vorwärts von außen testen. Bei einem Webserver ist dies wahrscheinlich am einfachsten, wenn Sie einen Proxy wie http://hidemyass.com verwenden .
Wenn Sie über einen Domänennamen auf den Server zugreifen möchten, tritt dasselbe Problem auf. Die DNS-Server leiten Sie zur öffentlichen IP-Adresse weiter. Wenn Sie die Hosts-Dateien auf lokalen Computern bearbeiten, können Sie sie stattdessen auf die lokale IP des Servers verweisen lassen, und Sie können überall dieselbe Adresse verwenden.
quelle
quelle
Bei BSNL gekaufte Router deaktivierten die Port-Forwarding-Funktionen größtenteils intern. Das heißt, obwohl Sie die Portweiterleitungsseiten sehen und festlegen können, blockiert die interne Sperre den Port.
Kaufen Sie einen Router eines Drittanbieters wie netgear, linksys .., damit Sie die Portweiterleitung verwenden können.
quelle
2)
Dies liegt wahrscheinlich daran, dass Ihr Router die NAT-Suche nicht unterstützt. Sie können mit Ihrer externen IP-Adresse im LAN nicht auf interne Computer zugreifen, die externe IP-Adresse funktioniert jedoch für den Rest der Welt.
Wenn Sie eine Website über eine externe IP testen möchten, können Sie einen Proxy verwenden. Ich mag Anonymouse, aber Sie können bei proxy.org aus Tausenden auswählen.
Siehe Ist NAT Loopback auf meinem Router ein Sicherheitsproblem? für einige Debatten darüber, ob NAT-Lookup sicher ist oder nicht.
quelle
Möglicherweise sind einige Firewall-Probleme aufgetreten. Einige DSL-Router verfügen möglicherweise über eine Firewall. Trotz Portweiterleitung müssen Sie manchmal eine Regel erstellen oder die interne Firewall vollständig deaktivieren.
Überprüfen Sie auch die Firewall des Servers. Auch die erste Empfehlung von Srin weist darauf hin.
quelle
118.x.x.x traffic
über die LAN-Schnittstelle NAT .http://118.XXX.XXX.XXX:8080/myapp
Der Datenverkehr muss über die WAN-Schnittstelle des Routers eingehen, um NAT-fähig zu sein und an Ihren Server weitergeleitet zu werden. Haben Sie Ihren Server von außen getestet?