Indirizzi IP dispositivo vs interfaccia di rete


11

Sto cercando di capire la relazione tra:

  • Un dispositivo Linux "in rete"; e
  • La scheda NIC fisica situata su quel dispositivo (dandogli la possibilità di essere "collegata in rete"); e
  • Interfacce Vari Ethernet / Wi-Fi di rete ( eth0, eth1, wlan0, etc.); e
  • Indirizzi e porte IP

Da quello che ho raccolto, è sembra che ciascuna interfaccia (di nuovo, eth0, eth1, wlan0, etc.) vengono assegnati loro proprio IP univoco. Significato sulla mia macchina eth0avrebbe un IP diverso rispetto, ad esempio, wlan1.

Ma questo contraddice la mia impressione che i dispositivi di rete nel loro insieme ricevano un singolo IP per l'intero dispositivo.

Quindi che cos'è? Un dispositivo ottiene 1 IP utilizzato da tutte le interfacce o ciascuna interfaccia ha effettivamente il proprio IP? Se ognuno ottiene il proprio, allora cosa determina quante porte sono disponibili su quell'interfaccia?


come / dove è connessa un'interfaccia influisce sull'indirizzo IP che dovrebbe avere, come 3 LAN ethernet diverse, quindi interfacce diverse hanno indirizzi diversi. questo indirizzo diventa anche l'indirizzo di origine predefinito.
Skaperen,

Risposte:


10

Ogni interfaccia di rete avrà il proprio indirizzo IP se il traffico IP deve attraversarlo.

Ad esempio, il dispositivo router / modem utilizzato dalla maggior parte delle case e / o dei piccoli uffici.

Ci sarà una connessione ai tuoi computer / laptop sul lato interno del router, che sia WiFi o Ethernet. Questi sono normalmente negli intervalli di indirizzi privati 191.168.0.0 - 192.168.255.254o talvolta 10.0.0.0 - 10.255.255.254. Il desktop / laptop / tablet si collegherà a questo lato del dispositivo e avrà se stesso e indirizzo IP nello stesso intervallo (ma non identico al dispositivo).

Sul lato esterno del router / modem avrai un indirizzo IP completamente separato solitamente assegnato automaticamente al tuo dispositivo dal fornitore di servizi. Questo è un indirizzo instradabile come 98.23.45.62univoco a livello globale per il tuo modem / router mentre è collegato.

Piccoli modem / router come questi possono essere fonte di confusione in quanto sembreranno avere un solo indirizzo - quello citato nel manuale dell'utente per l'amministrazione del dispositivo tramite un browser web (come http://192.168.0.1) - mentre ha molte porte Ethernet. Questo perché il dispositivo, in sostanza, ha uno switch di rete taggato sul router per dividere la singola porta Ethernet del router in molte porte e per connettere un bridge WiFi.

Allo stesso tempo, il lato esterno del router / modem avrà il suo indirizzo IP automaticamente configurato dal fornitore di servizi, quindi potresti non vederlo mai. (Digita qual è il mio indirizzo IP su Google per scoprire di cosa si tratta).

Un diagramma può aiutare:

                                                                 +--------+
                                                                 | laptop |
                                                                 +--------+
+-----+                +-------------+              +--------+       | 10.0.0.2
|     |98.23.45.61     |             |10.0.0.1      |        |-------+
| ISP |----------------+ modem/router|--------------| switch |
|     |     98.23.45.62|             |              |        |-------+
+-----+                +-------------+              +--------+       | 10.0.0.3
                                                                  +---------+
                                                                  | desktop |
                                                                  +---------+

Come puoi vedere, il modem / router ha due indirizzi IP, uno per ogni interfaccia di rete. Il desktop e i laptop ne hanno uno: sul dispositivo di rete collegato al router. La maggior parte dei modem / router ha connessioni WiFi ed Ethernet come la maggior parte dei laptop. Se dovessi collegare il cavo Ethernet al tuo laptop e abilitare e configurare anche il WiFi del tuo laptop, anche quello avrebbe due indirizzi IP - uno per ciascun dispositivo - entrambi nell'intervallo di 10.0.0.xindirizzi. Ciò ti farebbe solo pensare ai problemi, non farlo.

Una porta è solo un numero collegato all'indirizzo IP di destinazione. È simile a un interno telefonico in un centralino di un ufficio e decide quale servizio deve ricevere il tuo traffico. È un numero a 16 bit, che gli dà un massimo possibile 65535. Tuttavia, viene utilizzato solo un sottoinsieme molto piccolo di questi. Alcune sono porte pre-allocate note come il traffico http sulla porta 80 e la shell sicura (ssh) sulla porta 22. Queste porte sono aperte e in attesa di traffico solo se il servizio pertinente è in esecuzione sul dispositivo installato dal produttore del dispositivo .

Nel caso del modem router sopra, la porta 80 sarà in ascolto sul lato interno perché un server web è in esecuzione in modo da poter amministrare il dispositivo utilizzando un browser web. Alcuni router hanno anche un servizio ssh in ascolto sulla porta 22 in modo da poter gestire il dispositivo usando un client ssh. Probabilmente avranno la porta 53 aperta in quanto ci sarà anche un server DNS in esecuzione sul router.

Probabilmente il tuo laptop (spero) non avrà porte in ascolto, a meno che tu non abbia installato un servizio su quel dispositivo. Nel diagramma sopra, è possibile installare un server server ssh sul PC desktop a quel punto (e firewall permettendo) il desktop avrà la porta 22 aperta. Il laptop può quindi accedere alla porta 22 del desktop e accedere.

Pertanto, il numero di porte su un dispositivo dipende dal numero di servizi in esecuzione su quel dispositivo, dalla configurazione di quel servizio e dalla configurazione del firewall.

Se vuoi rendere il server ssh in esecuzione sul desktop nell'esempio sopra, accessibile da un utente remoto da qualche parte su Internet, potresti riscontrare un piccolo problema in quanto, sebbene tu abbia molti indirizzi interni, ne hai solo uno esterno ( 98.23.45.62).

Per risolvere questo problema, dovresti configurare una funzione nota come Port Forwarding sul tuo router. Ciò indica al router di prendere tutto il traffico che arriva a una determinata porta e di inoltrarlo a un host e una porta interni specifici.

In questo caso, tutto il traffico che arriva alla porta 22 viene inoltrato alla 10.0.0.2porta 22. Come è possibile che tu abbia raccolto, ciò significa che puoi avere solo la porta 22 inoltrata a un server interno.

Se volessi essere in grado di eseguire lo ssh sia sul desktop che sul laptop, dovresti configurare il router per l'ascolto su una porta esterna alternativa (come 2022) e inoltrarlo al tuo laptop sulla 10.0.0.2porta 22. L'utente remoto dovrebbe devi ssh 98.23.45.62accedere al desktop e ssh -p 2022 98.23.45.62al tuo laptop.

Naturalmente, non è sempre così semplice come può cambiare l'indirizzo IP esterno a meno che non si richieda / acquisti specificamente un indirizzo IP statico.


Grazie @garethTheRed (ti darei un voto se avessi il rappresentante per farlo). Alcuni rapidi follow-up se non ti dispiace: puoi confermare che, usando il tuo eccellente esempio sopra, se andassi a Google " Qual è il mio IP " sia sul laptop che sul desktop, entrambi vedrebbero il loro IP come 98.23.45.62(fondamentalmente, l'IP esterno del loro router comune)? In tal caso, quindi se avessi installato un server in esecuzione sul mio laptop e volessi che fosse raggiungibile dal mondo esterno, in che modo i client esterni / remoti farebbero richieste a quel server se avesse lo stesso IP di tutti gli altri dispositivi dietro il router ?!? Grazie ancora!
Zac,

Sì, tutti i dispositivi interni mostrerebbero lo stesso indirizzo IP su Google - il tuo unico indirizzo IP :-) Ho modificato la mia risposta per coprire la tua altra domanda.
garethTheRed,

Grazie ancora @garethTheRed! Quindi è giusto dire che il port forwarding sta facendo la stessa cosa da esterno a interno come fa NAT da interno a esterno?
Zac,

Vagamente: NAT è più dinamico in quanto "funziona". Il port forwarding deve essere configurato dall'amministratore del router, ma in sostanza entrambi ricevono traffico attraverso il router.
garethTheRed,

2

"Dispositivo" è una parola sovraccarica. A volte viene usato per indicare una macchina, e talvolta per indicare una periferica o un'interfaccia di una macchina.

Ogni interfaccia di rete ha il suo indirizzo.

Ogni macchina ha zero, uno o più indirizzi a seconda di quante interfacce di rete ha.

In casi semplici, ogni interfaccia di rete fisica ha un indirizzo IP e il tuo sistema ha anche un'interfaccia di loopback che i programmi usano per parlare con i programmi in esecuzione sullo stesso computer. Ogni interfaccia ha un indirizzo IP distinto. Sono possibili molte, molte configurazioni complesse (incollaggio, aliasing, indirizzi locali, ecc.), Ma l'intuizione di base è che ogni indirizzo IP corrisponda a una interfaccia.

Quando si accede a una macchina in rete, si utilizza un indirizzo IP, quindi si accede effettivamente a un'interfaccia di rete specifica di quella macchina. Nella maggior parte dei casi, la distinzione è controversa, poiché è possibile raggiungere solo un'interfaccia dalla macchina remota e non farebbe alcuna differenza, poiché i programmi accettano connessioni su tutte le interfacce. Tuttavia è possibile che un server ascolti solo su una singola interfaccia.


1

Il dispositivo potrebbe avere diverse interfacce di rete. Questi possono corrispondere a dispositivi reali ( NIC ) o essere virtuali .

Per essere utilizzabile (ovvero avviare o ascoltare le connessioni), ogni interfaccia deve avere un indirizzo IP. Di solito ci sarà un IP per interfaccia, ma è possibile averne diversi tramite aliasing IP .

Le singole connessioni su ciascun indirizzo IP sono identificate dal numero di porta. Esiste un limite di 65536 porte per indirizzo IP imposto dal protocollo IP. Uno dei motivi alla base dell'aliasing IP è superare questa limitazione.

Quindi alla fine il tuo dispositivo può avere tutti gli IP che vuoi (entro limiti ragionevoli - suppongo che ci siano limiti imposti dal kernel sul numero di interfacce e IP che è in grado di gestire), che è totalmente indipendente dal numero di interfaccia di rete adattatori che hai. D'altra parte, il tuo dispositivo avrà almeno tanti IP quanti sono le interfacce di rete utilizzate .


0

Un dispositivo è un oggetto fisico rappresentato da un'etichetta all'interno del sistema. In questo modo il sistema può eseguire diverse azioni come impostazione / query / utilizzo del dispositivo fisico. L'etichetta è creata dal driver che gestisce l'hardware fisico nel sistema del kernel.

Quindi puoi avere più dispositivi di rete, ognuno identificato con un'etichetta uniq (non compliciamo troppo un discorso sul legame).

Il tuo problema riguarda l'indirizzo IP.

Esistono diverse classi di indirizzi IP. Hai quello pubblico, che può essere raggiunto da qualsiasi luogo su Internet e indirizzo privato che di solito è limitato all'area privata (rete domestica / aziendale per esempio).

Di solito una rete domestica o una rete di ufficio ha pochi indirizzi IP pubblici e molti indirizzi privati ​​(tra laptop / cellulare / tablet / frigorifero / tostapane / di tutti i membri della famiglia).

Puoi assegnare altrettanti indirizzi IP a un hardware fisico, ma devi farlo bene e rispettare la logica tcp / ip sottostante, se non vuoi affrontare un problema inestricabile :)

Ad esempio nella rete locale (lan) non è possibile avere due hardware con lo stesso indirizzo IP. Ciò è dovuto principalmente al protocollo Ethernet che si basa sull'indirizzo MAC (identificatore uniq dell'hardware) e che esiste una relazione uno a uno tra l'indirizzo MAC e l'indirizzo IP sulla rete locale.

Puoi anche avere una macchina, con due hardware uno con un indirizzo pubblico dal tuo provider e uno all'interno della tua rete locale. Questa macchina verrà generalmente utilizzata come gateway per il mondo esterno per tutte le macchine nella rete locale.

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.