Qual è la differenza tra l'indirizzo IP di una macchina e localhost


12

Il dubbio è stato sollevato da un'altra mia domanda: dove se do localhost al mio percorso, funziona. Ma non funziona se do il mio IP di sistema.

127.0.0.1 è mappato su localhost in my / etc / hosts. Devo mappare il mio ip su localhost? Non cambia?

Non sono uguali?

Risposte:


14

Alcuni servizi sono configurati per l'ascolto solo sull'indirizzo IP localhost.

Un esempio potrebbe essere un database MySQL: vuoi che la tua applicazione PHP in esecuzione sullo stesso server si connetta ad esso, ma non vuoi che nessun servizio esterno o hacker esterno si connetta. Configurando MySQL per accettare solo gli indirizzi localhost ( 127.0.0.1ad esempio) e non l'indirizzo IP reale del tuo server ( 10.x.x.xad esempio) stai riducendo la possibilità di essere compromesso.

Quindi, per rispondere alla tua domanda - sì, sono diversi.

localhostviene assegnato un indirizzo IP nella 127.0.0.0rete e assegnato a un dispositivo di rete di loopback virtuale lo. Questo dispositivo è presente su tutti i sistemi, indipendentemente dal fatto che disponga di un dispositivo di rete fisico (WiFi o Ethernet, ad esempio). Un sistema che non è collegato a nessuna rete avrà questo dispositivo di loopback e quindi un 127.0.0.0indirizzo. Il nome localhostè semplicemente un nome che si risolve in questo indirizzo IP ed è configurato in /etc/hosts.

Il tuo vero indirizzo IP (ad esempio 10.xxx) è assegnato a un dispositivo di rete. Di solito si tratta di un dispositivo di rete fisico (WiFi o Ethernet), sebbene tunsia tappossibile utilizzarli anche con configurazioni avanzate o dispositivi. Anche in questo caso, la risoluzione di nome (ad esempio www.example.orga 10.0.1.1) può essere configurata in /etc/hostsoppure può essere configurato per utilizzare DNS.


4

127.0.0.1 è localhost , è l'indirizzo della macchina corrente, a cui si accede tramite un'interfaccia loopback (non tramite la scheda di rete - funziona anche se non ci sono chip di rete nel sistema).

L'ip che ricevi dal router è una storia diversa: è l'indirizzo che consente a altri computer della rete di trovarti. Bene, puoi anche usare quell'ip sulla stessa macchina, ma funziona in modo diverso rispetto a prima: esce sul router e rientra (sto semplificando qui, ma questa è l'idea generale).

E se sei connesso a Internet, ricevi anche un altro IP dal tuo ISP - l'IP con cui ti trovano altri computer in tutto il mondo. Tuttavia, questi due si riferiscono almeno alla stessa scheda di rete ( eth0o alla scheda wireless o altro). localhostè diverso.

Il sistema operativo, i server e così via ... possono comportarsi diversamente quando vi si accede localhost. Di solito non hai un firewall per questo, e molti servizi locali hanno localhostun'interfaccia che è pensata semplicemente per comunicare con un'applicazione. Molte volte, vorrai testare il tuo server web collegandolo prima di ascoltarlo localhostsolo, quindi puoi verificare se funziona, ma altre persone non possono. Quindi, puoi riconfigurare per ascoltare sul tuo indirizzo IP esterno e iniziare a pubblicare il sito Web (e provare di nuovo se tutto funziona ancora).


Grazie per una lunga spiegazione. Un altro dubbio sollevato: se dico il mio servizio a localhost, non andrà al router. Ma se specifico IP, verrà reindirizzato dal router. Quindi devo avere una connessione Internet nel mio secondo caso. Non con l'host locale. Per favore fatemi sapere
Gibbs,

Hai bisogno di una connessione al router, altrimenti otterrai network is unreachableo qualcosa di simile. Il trucco è che (almeno con dhcp) è il router che ti dà un IP LAN in primo luogo. È possibile che ciò vari in alcuni casi se il percorso persiste, ma in sostanza, per l'IP della LAN, hai bisogno della LAN e per l'IP esterno, hai bisogno di una connessione all'ISP.
Orione,

3

Quando accedi localhost, il tuo /etc/hostsfile dirà al tuo computer di non cercare oltre e ti reindirizzerà sul tuo computer. Quando si accede all'indirizzo IP locale, il computer chiederà al router di recuperare i dati e il router tornerà quindi al computer.


3
@serenesat - No. Quando accedi al tuo indirizzo IP "reale", non ti sposterai fino al router, non lascerai nemmeno quella macchina. Prova a eseguire il ping del tuo indirizzo IP locale e osserva i tempi di andata e ritorno ...
garethTheRed,

Questa risposta è chiaramente sbagliata.
Rui F Ribeiro,
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.