È possibile ospitare un server Web da dietro un NAT


21

Il mio PC si trova dietro un router NAT con un indirizzo IP pubblico. Se voglio ospitare un sito Web, credo di aver bisogno di un nome di dominio che posso acquistare da qualche sito che mi impegni a risolvere tutte le richieste DNS per quel nome di dominio e inviare l'indirizzo IP del mio router NAT (supponendo che non voglia ospitare il mio nome di dominio sui loro server). Ora voglio ospitare un web server sul mio computer.

  1. Quali modifiche devono essere apportate alla configurazione del router NAT per inoltrare tutte le richieste HTTP per example.com al mio PC nella rete interna.
  2. La strategia di cui sopra è corretta?
  3. È comunemente usato?

Risposte:


12

È possibile ospitare un server dietro NAT come descritto.
Guarda questa pagina di aiuto di Ubuntu su ServersBehindNAT per le basi.

Qualche altro riferimento,

  1. Hosting del server Apache dietro un NAT
  2. La configurazione di un server dietro un NAT
    utilizza un router NAT Buffalo AirStation serie ed esempi di router Linksys
  3. Metodo di condivisione della connessione Internet di Windows XP . se hai un computer Windows che esegue NAT
  4. [Se si utilizza XP, è anche possibile utilizzare IIS 6 5 (1 supporto host virtuale) andando su Pannello di controllo> Installazione applicazioni> Aggiungi componente di Windows> Internet Information Services.

Ciò presuppone che tu sappia come ospitare un server web e che tu abbia bisogno di idee su NAT.



1

Un'altra alternativa potrebbe essere qualcosa come homelinux, in cui il tuo indirizzo IP dinamico può essere mappato su uno statox .homelinux. URL

Esistono anche altre opzioni oltre a "homelinux"

http://www.dyndns.com/


1
  1. Dai un'occhiata a portforward.com . Hanno indicazioni dettagliate per questo tipo di cose, l'idea di base è che è necessario impostare il router per inoltrare le richieste TCP sulla porta 80 all'indirizzo IP del computer. Questo fa apparire un'altra cosa: dovrai impostare il tuo computer per avere un IP statico. Se hai un server DHCP in esecuzione sul tuo router (che è il caso nel 97% dei casi), assicurati di assegnarne uno molto al di sopra o al di sotto di esso. Un google per "indirizzo IP LAN statico" fornirà probabilmente istruzioni su come configurarlo su vari sistemi operativi.
  2. Funzionerà a condizione che il proprio ISP non blocchi le connessioni in entrata sulla porta 80; alcuni lo fanno per motivi di sicurezza.
  3. Può essere. È quello che sto facendo ora con ftp, http, ssh, vnc, xmpp e alcune altre cose ...

È inoltre necessario eseguire un server Web sul computer. Basta avere Apache, funziona praticamente su qualsiasi cosa ed è ciò che la maggior parte dei siti utilizza.


1

Dopo aver controllato tutte queste risposte e collegato le istruzioni, ho pensato che tutti implicassero elaborate configurazioni con grandi programmi (che sono parzialmente realizzati per altri scopi) e ho configurato file e cose così ho deciso di scrivere la mia soluzione.

https://github.com/rofl0r/nat-tunnel

È uno script Python a 250 righe, che puoi eseguire direttamente dal checkout di Git.

Esempio: hai un server HTTP in ascolto sul tuo computer locale sulla porta 80. Vuoi renderlo disponibile sul tuo server cloud / IP pubblico VPS / etc sulla porta 7000. Usiamo la porta 8000 sul server cloud per il canale di controllo.

usa come

Server:

natsrv.py --mode server --secret s3cretP4ss --public 0.0.0.0:7000 --admin 0.0.0.0:8000

Cliente:

natsrv.py --mode client --secret s3cretP4ss --local localhost:80 --admin example.com:8000

0
  1. porta tcp traffico verso il tuo router sulla porta 80 verso il tuo PC su port_whatever_you_are_running_your_webserver

  2. non hai bisogno di un nome di dominio per consentire ad altri di accedere al tuo server web, l'ip pubblico è sufficiente. un nome di dominio per il tuo IP pubblico è solo più comodo. altrimenti il ​​tuo piano sembra ok.

  3. il tuo router è solo "un firewall" tra il pubblico e il tuo server. tale installazione è piuttosto comune.



0

1.) È necessario eseguire il port forwarding della porta 80 al proprio indirizzo IP interno sulla porta 80

2.) Forse. Se hai un IP statico dal tuo ISP, sei pronto per questa strategia. Se non disponi di un IP statico, probabilmente dovrai utilizzare Dynamic Dns, che è il punto in cui esegui un software sul server e aggiorna continuamente l'indirizzo IP del tuo nome di dominio, che di solito è qualcosa loro assegnano. Tuttavia, puoi impostare un record CNAME sul tuo dominio che punta a quello del provider DNS dinamico.

3.) Personalmente non direi che è comune, ma non è neanche raro.


-2

La tua strategia è abbastanza comunemente usata e se hai acquistato un IP pubblico, allora sei praticamente pronto.

Dovresti ottenere XAMPP. XAMMP preconfigurato e Apache utilizzerà la porta 80 per impostazione predefinita. Assicurati che nessun altro processo sia in esecuzione sulla porta 80, altrimenti Apache non verrà eseguito. In genere Skype (se usi skype) riproduce sport viziati e porta hogs 80 è necessario disabilitarlo dalle impostazioni di connessione.

Contiene Apache, PHP e Mysql si prenderà cura di tutte le tue esigenze. Basta non dimenticare di proteggerlo bene .

Ricorda solo che XAMPP non è un software di produzione ma dovrebbe soddisfare le tue esigenze di hosting di un sito Web / blog personale.

Un'altra cosa, se si desidera che questo sito Web sia attivo 24 ore su 24, 7 giorni su 7, è necessario tenere il computer acceso 24 ore su 24, 7 giorni su 7.

Se hai bisogno di un dominio gratuito puoi ottenere un co.cc per uso personale e lo rinnovano ogni anno

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.