Wie kann ich eine Maschine per IP einem externen Netzwerk für den Serverzugriff zugänglich machen?

Wie kann ich eine Maschine per IP einem externen Netzwerk für den Serverzugriff zugänglich machen?

Ich habe einen älteren PC, den ich zerlegt und Ubuntu darauf geladen habe, da ich ihn als Testserver verwenden möchte, um Konzepte für einige persönliche Projekte auszuführen. Wenn er läuft, kann ich eine ausführen hostname -Iund zurückkommen 192.168.1.1, aber ich glaube, dies ist eine private IP-Adresse, die auf die Maschine im LAN unterhalb der Router-Ebene verweist. Der Besuch von Websites wiehttps://whatismyipaddress.com/ergibt 70.108.1.98, und ich möchte in der Lage sein, einen Browser zu öffnen und beispielsweise dorthin zu navigieren https://70.108.1.98:4321, wo auf diesem Port eine Anwendung ausgeführt wird, die Datenverkehr erwartet.

Wenn ich derzeit eine Verbindung zu einem Server herstellen möchte, der auf einem anderen Gerät läuft, kann ich auf einem Computer einen Browser öffnen, die private IP-Adresse dieses Computers aufrufen 4321und problemlos eine Verbindung herstellen. Das ist sinnvoll, da es sich um ein LAN handelt und die Subnetzmaskierung es diesen IP-Adressen ermöglicht, sich unter dem Router gegenseitig zu finden.

Meine erste Einschätzung ist, dass ich einige der folgenden Dinge tun müsste:

  1. Konfigurieren Sie den Router so, dass er Datenverkehr über die Firewall zulässt.4321
  2. Leiten Sie den gesamten Datenverkehr 4321an die spezifische 192.168.xxx.xxxIP weiter, die den spezifischen Rechner im Netzwerk angibt.
  3. Konfigurieren Sie den auf dem Computer ausgeführten Webserver so, dass er Datenverkehr akzeptiert bei4321

Ich denke, die einzige andere Frage, die ich habe, ist, ob die IP, die durch den angegebenen Link bereitgestellt wird und meine öffentliche IP darstellt, den Router selbst oder die Maschine darstellt, mit der ich die Site besucht habe. Mit anderen Worten, wenn ich diese Site mit meinem Telefon besuchte, das mit meinem WLAN verbunden ist, wäre die IP dann dieselbe, was bedeutet, dass alle Geräte an meinem Router diese öffentliche IP haben und der Router den Verkehr an die private IP des Geräts weiterleitet?

Ich wäre für jeden Hinweis sehr dankbar!

Antwort1

Es hört sich an, als ob es zwei Szenarien/Fragen gibt, auf die Sie eine Antwort suchen (korrigieren Sie mich, wenn ich falsch liege).

  1. Sie möchten einen Dienst auf Port 4321 hosten und ihn vom öffentlichen Internet (mit Ihrer öffentlichen IP) und Ihrem privaten Netzwerk (mit Ihrer öffentlichen oder privaten IP) aus zugänglich machen. Dazu müssen Sie Ihren Router so portweiterleiten, dass Port 4321 auf Ihrem Router auf Port 4321 auf Ihrem Ubuntu-Rechner umgeleitet wird. Der erste Schritt besteht darin, die private IP-Adresse Ihres Ubuntu-Servers zu ermitteln (kann mit dem Befehl gefunden werden ip a). Der zweite Schritt besteht darin, die entsprechenden Schritte zum Portweiterleiten Ihres Routers zu befolgen (diese Site ist eine Sammlung von Portweiterleitungsleitfäden für eine große Anzahl von Routermodellen:https://portforward.com/router.htm). Sobald diese Schritte abgeschlossen sind und ein Dienst auf Ihrem Ubuntu-Server-Port 4321 läuft, können Sie über Ihre öffentliche IP darauf zugreifen.

  2. Mit der zweiten Frage scheinen Sie auf dem richtigen Weg zu sein. Ihr Router hat ein Network Address Translation (NAT)-Netzwerk erstellt, um das Routing zwischen dem öffentlichen und Ihrem privaten Netzwerk zu handhaben. Dies ist der Unterschied zwischen der IP-Adresse, die Ihr Ubuntu-Server angibt, und der IP-Adresse, die die externen Sites angeben. Jedes Gerät, das über Ihren Router mit dem Internet verbunden ist, ist Teil des privaten NAT-Netzwerks und die öffentliche IP-Adresse ist für alle diese Geräte dieselbe (ein Gerät in Ihrem WLAN hat also dieselbe öffentliche IP-Adresse wie Ihr Ubuntu-Server).

Antwort2

Ich denke, die einzige andere Frage, die ich habe, ist, ob die IP, die durch den angegebenen Link bereitgestellt wird und meine öffentliche IP darstellt, den Router selbst oder die Maschine darstellt, mit der ich die Site besucht habe. Mit anderen Worten, wenn ich diese Site mit meinem Telefon besuchte, das mit meinem WLAN verbunden ist, wäre die IP dann dieselbe, was bedeutet, dass alle Geräte an meinem Router diese öffentliche IP haben und der Router den Verkehr an die private IP des Geräts weiterleitet?

In solchen Situationen gehört die IP-Adresse normalerweise dem Router selbst. Sie ist nie wirklichgeteiltzwischen Maschinen mit privaten Adressen; sie sind sich dessen meist nicht bewusst.

  • Ihre Geräte initiieren Verbindungen von ihrer privaten IP-Adresse als Quelle, die der Router über SNAT transparent in seine eigene öffentliche Adresse übersetzt.

    Beim Zurückerhalten von Paketen aus dem Internet überprüft der Router zunächst, ob diese mit einer bekannten Übersetzung übereinstimmen. Ist dies der Fall, wird ihr Ziel zurück auf die private IP-Adresse des Hosts übersetzt. Ist dies nicht der Fall, akzeptiert der Router selbst die Pakete als Zielhost.

    Dies ist nicht nur „Routing“, sondern die Übersetzung (NAT) ist eine zusätzliche FunktionaufRouting. Alle ISP-Router weiter entlang des Pfads leiten Pakete nur weiter, ohne eine zusätzliche Übersetzung durchzuführen. (Das könnte auch Ihr Router, wenn Ihr Netzwerk öffentliche IP-Adressen für alle Hosts hätte, wie es in den meisten IPv6-fähigen Netzwerken der Fall ist.)

  • Wenn Sie auf dem Router die Regel „den gesamten Datenverkehr an <IP> weiterleiten“ einrichten, richten Sie in Wirklichkeit eine NAT-Regel (Übersetzungsregel) ein. Der Computer weiß nie, dass er über die öffentliche IP-Adresse aufgerufen wurde; alle Pakete, die er empfängt, haben nur die private Adresse.

verwandte Informationen