Der 3G-Router unterstützt Port-Forwarding, funktioniert jedoch nicht

584
Harry

Meine Linux-Workstation verwendet einen MTS 3G Wifi USB-Dongle, um ins Internet zu gelangen. Diese Workstation hat keine andere Netzwerkverbindung.

Auf der Portweiterleitungs-Admin-Seite dieses Routers kann ich die folgenden 4 Werte pro Zeile angeben:

--------------------------------------------------------- Config name | Local port | Wan port | MAC  --------------------------------------------------------- 1. Service A | 8080 | 8888 | aa-bb-cc-dd-ee-ff 2. Service B | 9090 | 9999 | aa-bb-cc-dd-ee-ff ... --------------------------------------------------------- 

Die MAC-Adresse, die ich oben spezifiziere, ist die, die ich von der Ausgabe bekomme ifconfig. (Dies ist die wlan1Schnittstelle, der eine lokale IP-Adresse vom DHCP-Server im Router zugewiesen wurde - so erkenne ich sie.)

Wenn ich die obigen Werte speichere, zeigt die gleiche Administrationsseite unten die folgenden Readonly- Werte:

--------------------------------------- Config Name | Port | IP Address --------------------------------------- 1. Service A | 8888 | a.b.c.d 2. Service B | 9999 | a.b.c.d ... --------------------------------------- 

Diese Readonly-Ausgabe scheint mir zu suggerieren, dass der Zugriff Service Aauf den lokalen Port 8080über das öffentliche Internet über erfolgen kann a.b.c.d:8888. Aber ich kann nicht zugreifen Service A. Tatsächlich kann ich nicht einmal pingen a.b.c.d. (Ich bin mir bewusst, dass der Router den eingehenden Ping absichtlich nicht zulässt, a.b.c.daber nicht sicher ist, was er sonst versuchen soll.)

Wenn ich die öffentliche IP-Adresse meiner Workstation über eine Website wie http://www.whatismyip.com/ überprüfe, sehe ich meine öffentliche IP-Adresse als e.f.g.hstatt a.b.c.d!

So, wie ich bin öffentlichen WAN - Port weiterleiten 8888zu lokalen Port 8080läuft Service A, und dann Service Ein Zugriff aus dem öffentlichen Internet?

BEARBEITEN:

Meine IP-Adressen lauten wie folgt:

  • a.b.c.d = 100.84.c.d
  • e.f.g.h = 163.47.g.h
0

1 Antwort auf die Frage

5
Elahn

Da Ihr Router eine andere IP-Adresse als Ihre öffentliche IP-Adresse meldet, weist Ihr 3G-Netzwerkanbieter Ihnen wahrscheinlich keine öffentliche IP-Adresse zu und führt stattdessen NAT aus. Dies würde auch erklären, warum das Port-Forwarding nicht funktioniert.

Dies wird bestätigt, wenn sich abcd in einem privaten IP-Adressbereich befindet: Von 10.0.0.0 bis 10.255.255.255. Von 172.16.0.0 bis 172.31.255.255. Von 192.168.0.0 bis 192.168.255.255.

Als ich auf dieses Problem stieß, rief ich meinen 3G-Anbieter an und sie "wechselten mich zu ihrem öffentlichen Netzwerk", was bedeutete, dass mir eine öffentliche IP-Adresse zugewiesen wurde und eingehende Verbindungen akzeptiert werden konnten. Während dies mein spezielles Problem gelöst hat, habe ich festgestellt, dass sich 3G-IP-Adressen ziemlich schnell ändern, was zu Problemen mit Software führen kann, für die dies nicht vorgesehen ist. Die Verwendung eines dynamischen DNS-Dienstes mit einer sehr niedrigen TTL wie 1 (1 Sekunde) kann dazu führen, dass er verwendet werden kann. Oder Sie könnten einen Geschäftsplan mit einer statischen IP erhalten.

`abcd` gehört nicht zum privaten Bereich (siehe EDIT). Ich habe auch den Teil "Verwenden eines dynamischen DNS-Dienstes mit einer sehr niedrigen TTL wie 1 ..." nicht verstanden, da die TTL heutzutage in Anzahl von Sprüngen verstanden wird, nicht in Sekunden. Meinten Sie im Grunde: ein DDNS mit hoher Aktualisierungs- / Aktualisierungsrate? Harry vor 9 Jahren 0
TTL ist das Hop-Limit, wenn über IP-Pakete gesprochen wird. Im Zusammenhang mit DNS ist dies jedoch die Zeit in Sekunden, bevor der DNS-Eintrag abläuft und der Client den Nameserver erneut nach der IP-Adresse fragt. Elahn vor 9 Jahren 0
Ja, der Zweck einer niedrigen TTL bei DDNS besteht darin, eine hohe Aktualisierungs- / Aktualisierungsrate zu erreichen. Verfügt der Router über eine Statusseite, auf der die WAN-IP-Adresse angezeigt wird? Wenn ja, ist es dasselbe wie abcd oder efgh? Aktualisieren Sie die Routerseite und whatismyip.com gleichzeitig und überprüfen Sie, ob Sie dieselbe Adresse erhalten. Aktualisieren Sie die Seiten häufig über einen Zeitraum von 5 Minuten, um zu sehen, wie schnell sich Ihre IP ändert. Wie testen Sie die Portweiterleitung? Elahn vor 9 Jahren 0
(1) Vielen Dank für die TTL-Erläuterung. (2) Ja, der Router verfügt über eine Statusseite, auf der die WAN-Adresse angezeigt wird. Dort habe ich die Abcd-Adresse angegeben. (3) Diese IP-Adresse bleibt in der Tat ziemlich konstant, bis der Router vom Computer getrennt und wieder angeschlossen wird. (4) Dieser Router bietet sogar eine DDNS-Option über "no-ip.com", die ich nicht verwende, da sich meine WAN-Adresse während einer Sitzung nicht ändert. Aber es hilft sowieso nicht. Harry vor 9 Jahren 0
(5) Zum Testen verwende ich einen Python-basierten Webserver, der Dateien von meiner Linux-Box aus bedient. Der Server wartet auf dem lokalen Port `8080` an allen Schnittstellen, und ich versuche (erfolglos) eine Verbindung zu` abcd: 8888` von derselben oder einer anderen Maschine herzustellen. `Localhost testen: 8080` funktioniert offensichtlich! (6) Wie Sie in meinem EDIT sehen können, scheint '100.84.cd' nicht im privaten Adressbereich zu sein. Harry vor 9 Jahren 0
Viele Router leiten Verbindungen von einer lokalen Schnittstelle nicht zur WAN-IP weiter. Haben Sie versucht, von einer anderen Stelle im Internet eine Verbindung herzustellen? Auf einem Webserver sollte es keinen Unterschied machen, aber versuchen Sie, 8080 an 8080 weiterzuleiten ... Ich bin nicht sicher, ob es sich um Router, Protokoll oder Server handelt, aber die Weiterleitung an denselben Port behebt gelegentlich merkwürdige Probleme. Ändert sich der Effekt während einer Sitzung oder zwischen Sitzungen? Ich weiß nicht, warum sich Ihre gemeldete öffentliche IP-Adresse von Ihrer WAN-IP-Adresse unterscheidet. Möglicherweise hat Ihr Provider den transparenten Proxy-Server falsch konfiguriert. Elahn vor 9 Jahren 0