
NAT Tunnel: um mühelos von hinter NAT aus bereitzustellen
Wenn Sie Zugriff auf einen Server mit öffentlicher IP und ungefilterten Ports haben, können Sie den NAT Tunnel (NT)-Server auf dem Server ausführen und den NT-Client auf Ihrem Rechner hinter einem NAT. Der Server benötigt 2 offene Ports: einen für die Kommunikation mit dem NT-Client (--admin), den anderen für die Verbindung regulärer Clients (--public: Dies ist der Port, den Ihre Benutzer verwenden sollen).
Der NT-Client stellt eine Verbindung zur Admin-IP/Port des Servers her. Sobald der Server eine neue Verbindung empfängt, signalisiert er dem NT-Client, der dann eine neue Tunnelverbindung zum Server aufbaut, welche dann mit dem gewünschten Dienst auf der Seite des NT-Clients verbunden wird (--local)
Die Verbindung zwischen NT-Client und NT-Server über die Admin-Schnittstelle ist durch ein gemeinsames Geheimnis vor unbefugter Nutzung geschützt. Ein Angreifer, der Datenpakete abfangen kann, könnte das Geheimnis knacken, wenn es nicht ausreichend komplex ist. Mindestens 10 zufällige Zeichen und Ziffern werden empfohlen.
Beispiel: Sie haben einen HTTP-Server, der auf Ihrem lokalen Rechner auf Port 80 lauscht. Sie möchten ihn auf der öffentlichen IP Ihres Cloud-Servers/VPS/etc. auf Port 7000 verfügbar machen. Wir verwenden Port 8000 auf dem Cloud-Server für den Steuerkanal.
Server:
natsrv.py --mode server --secret s3cretP4ss --public 0.0.0.0:7000 --admin 0.0.0.0:8000
Client:
natsrv.py --mode client --secret s3cretP4ss --local localhost:80 --admin example.com:8000