Stai cercando di risolvere un problema che non esiste. Usa semplicemente il tuo IP interno, questo comporterà che i pacchetti non colpiranno mai il tuo router (forse lo switch sul tuo router ma non sul router stesso). È meglio in ogni modo farlo in questo modo. Ecco alcuni vantaggi:
- Avrai accesso a tutte le porte che ti piacciono (non solo quelle che hai configurato nel tuo router).
- Non sprecherai memoria del router con voci NAT per servizi che usi solo internamente.
- Troverai MOLTO più facile ricordare l'IP interno e non cambierà mai a meno che tu non lo dica.
- Ogni pacchetto farà meno salti e ogni salto sarà su un interruttore, quindi andrà molto veloce.
- I pacchetti non colpiranno il blocco stradale creato dal router mentre analizza i pacchetti. Anche se è un giorno lento sulla tua rete, questo sarà molto più veloce per te.
- I tuoi server vedranno il tuo PC come un dispositivo distinto; se scegli di utilizzare un proxy esterno per risolvere questo problema, verrai sempre visto come originato da quel proxy.
- Se il tuo servizio lo supporta, può utilizzare un'intera gamma di protocolli che non sono disponibili per i dispositivi esterni. Trasmissioni DHCP, WINS, UDP reali ... per citarne solo alcune.
- Tutta la sicurezza aggiuntiva associata alla sottorete.
Sono sicuro che ci sono più ragioni perché questo è il modo in cui dovrebbe essere fatto. Inoltre, puoi facilmente modificare il file hosts o il server DNS per assegnargli un nome senza preoccuparti di un servizio di tipo DNS dinamico.
Aggiornare
Alcune persone hanno interpretato questa domanda come chiedere a un laptop di funzionare allo stesso modo all'interno di una rete come su un'altra rete. IMO, questa è una domanda completamente diversa e amplia notevolmente la portata della domanda. Non ho visto che questo è lo stesso computer sia all'interno che all'esterno della rete (o di tutto tranne che un IP). Ora dobbiamo chiederci cose come, come ti stai connettendo, come stai risolvendo i nomi host, ecc. Alla fine, nessuna risposta potrebbe risolvere automaticamente ogni situazione.
Se sei disposto a eseguire uno script minuscolo dopo esserti connesso all'altra rete, posso fornire una risposta semplice che sarà abbastanza robusta.
Innanzitutto, crea uno script batch di piccole dimensioni:
ping -n 1 some.local.ip.addy
if errorlevel 1 goto :isremote
cp /Y %WINDIR%\System32\Drivers\etc\hosts.local %WINDIR%\System32\Drivers\etc\hosts
goto :eof
:isremote
cp /Y %WINDIR%\System32\Drivers\etc\hosts.remote %WINDIR%\System32\Drivers\etc\hosts
Passa some.local.ip.addy
a un IP reale sulla tua rete locale. Assicurati che sia sempre disponibile (l'IP del tuo router funzionerebbe bene purché risponda a una richiesta PING).
Quindi crea un file hosts locale ( %WINDIR%\System32\Drivers\etc\hosts.local
) e inseriscilo:
192.168.0.2 my-service.mynet.dyndns.org
192.168.0.3 my-service2.mynet.dyndns.org
Utilizzando gli IP del tuo server. Questo è semplificato, aggiungerei voci che funzionano specificamente anche all'interno della rete.
Quindi creare un file host remoto ( %WINDIR%\System32\Drivers\etc\hosts.remote
). Lascialo vuoto, non ne avremo bisogno ora ma potresti trovarlo in un secondo momento.
Quindi imposta un account dyndns.org chiamato mynet.dyndns.org
e assicurati di renderlo un jolly. Naturalmente, DynDNS è solo una delle centinaia di opzioni per un host DNS dinamico .
Ora, dopo esserti spostato tra le reti, basta eseguire lo script e voilà, tutto funziona allo stesso modo come all'interno e (a condizione che inoltri correttamente le tue porte e usi i nomi host corretti) dovrai solo usare my-service.mynet.dyndns.org
o my-service2.mynet.dyndns.org
o mynet.dyndns.org:24829
per ottenere i tuoi vari servizi. Se quel servizio supporta host virtuali, saprà come gestire la my-service.
parte. Molto probabilmente il tuo router lo passerà, quindi dovrai fornire anche la porta per quei servizi che non sanno come gestire la parte del vhost (ovviamente la maggior parte di quelli ha una porta predefinita nel client quindi essere in grado di entrare di mynet.dyndns.org
solito).
Lo stesso si può ottenere senza lo script se si dispone di un server DNS sulla propria rete locale, ma se lo si fa probabilmente si sa già come farlo. In caso contrario, ciò merita sicuramente una domanda separata.