Ich möchte über eine öffentliche IP auf meinen PC zugreifen können, um meine [Entwicklungs-] Web-Apps zu testen, ohne für diesen Dienst an Dritte bezahlen zu müssen, da ich Comcast bereits für unseren Internetdienst zu Hause bezahle.
Dies kann mit Comcast erfolgen.
Ist es möglich, eine öffentliche IP-Adresse für meinen PC über WLAN mit dem XFINITY-Gateway (der Router / Modem-Kombination) zu verbinden?
Ja.
Gateway-Einschränkungen
Je nach Erfahrung sind Comcast-Gateways nicht immer zuverlässig und einfach zu konfigurieren. Als Vorschlag, anstatt nur das Gateway selbst zu verwenden, könnte eine bessere Option darin bestehen, das Gateway einfach in den "Bridge" -Modus zu versetzen (so dass es effektiv nur als Modem fungiert) und einen Router mit Haarnadel (NAT-Loop-Back) zu kaufen, wie erwähnt von @Spiff.
Ich persönlich verwende dieses Setup (Bridge-Modus + externer Router) und bin sehr zufrieden damit.
Beachten Sie, dass Sie möglicherweise den externen Router von 192.168.1.x ändern müssen, um 10.0.0.x-interne Adressen zu verwenden , wenn Sie die oben beschriebene Methode "Bridge-Modus" verwenden (diese wird das Gateway wahrscheinlich verwenden). Bei Bedarf ist dies auf den meisten Routern in der Regel ein sehr einfacher Vorgang.
Dinge einrichten
Port-Weiterleitung
Sie können zwar einen Standardhost einrichten (was aus verschiedenen Gründen besser sein kann), die Portweiterleitung sollte jedoch für die meisten Entwicklungsanforderungen ausreichen.
Die genaue Methode zum Einrichten der Portweiterleitung hängt vom Gateway oder Router ab. Wenn Sie dies jedoch tun, möchten Sie mindestens Port 80 (HTTP) und wahrscheinlich auch Port 443 (HTTPS) (für das Basis-Web) weiterleiten Entwicklung zumindest).
Sie können auch Ports für andere Dienste weiterleiten, die öffentlich verfügbar sein sollen (z. B. DNS, SMTP, FTP, SSH usw.), oder nicht standardmäßige Ports (z. B. 8080 für den Zugriff auf einen Webserver mit "alternativem Port").
Unabhängig davon sollten alle Weiterleitungen auf die lokale IP-Adresse (z. B. 10.0.0.x) des Servers verweisen, der die Anforderung verarbeitet (z. B. wo Apache oder ein anderes Programm installiert ist).
Erhalten Sie Ihre öffentliche IP
Das Erhalten Ihrer öffentlichen IP ist ziemlich einfach. Sie können einfach nach "Was ist meine IP?" auf Google und es wird Ihre aktuelle Comcast-Adresse zurück.
Testen Sie die Dinge in der richtigen Reihenfolge
Stellen Sie sicher, dass der Server / Dienst auf localhost ausgeführt wird, sofern dies möglich ist.
Stellen Sie sicher, dass der Server / Dienst für das lokale Netzwerk verfügbar ist (z. B. können Sie mit einer lokalen IP von einem anderen Gerät im Netzwerk auf Ihren Webserver zugreifen.) Dies informiert Sie normalerweise über Firewall-Probleme.
Testen Sie, ob Sie vom lokalen Netzwerk über Ihre öffentliche Comcast-IP auf den Server / Dienst zugreifen können. Auf diese Weise können Sie über Probleme mit der Haarnadelung informiert werden.
Testen Sie, ob Sie von einem nicht lokalen Netzwerk (z. B. mit Ihrem Telefon über 3G / 4G) über Ihre öffentliche Comcast-IP auf den Server / Dienst zugreifen können. Dies sollte Ihnen sagen, ob der Server / Dienst wirklich öffentlich verfügbar ist oder nicht.
Wenn Sie einen nicht standardmäßigen Service-Port ausgewählt haben (z. B. 8080), müssen Sie diesen an die IP anhängen (z. B. 10.0.0.10:8080 oder 99.100.101.102:8080 ). Für Standard-Ports sollte dies nicht erforderlich sein (z. B. ein Webserver an Port 80).
Domain Namen
Während IPs alle in Ordnung und gut sind, können Sie, wenn Sie sie nicht verwenden möchten (oder etwas testen müssen, das auf Domain-Namen beruht), einen Domain-Namen registrieren und den DNS auf Ihren Server verweisen (über Ihre öffentliche IP).
Eine andere kostengünstige Option ist die Verwendung eines dynamischen DNS-Anbieters wie No-IP oder afraid.org , bei dem Clients Ihre öffentliche IP regelmäßig mit einem Domainnamen synchronisieren.
Beachten Sie, dass Namecheap FreeDNS (derzeit) kostenlose dynamische DNS-Dienste für jede registrierte Domain bereitstellt, die Sie besitzen (nicht nur Namecheap), wenn Sie diese Art der Einrichtung benötigen.