È possibile eseguire il port forwarding dello stesso numero di porta su 2 diversi indirizzi IP interni?


14

Se porto il port forwarding 80 UDP sul mio PC, posso accedere alla porta 80 dall'altro mio laptop?


1
No; Quando si inoltra una porta, si invia tutto il traffico a un singolo indirizzo. Se hai bisogno di 2 dispositivi per ricevere i dati sulla stessa porta, devi inoltrarli a un singolo dispositivo che collega quei 2 dispositivi aggiuntivi alla rete (ad esempio un altro router).
Ramhound,

1
La porta 8080 può essere utilizzata in modo sicuro in alternativa a 80 sul sistema secondario. Quindi inoltra 80 a PC e 8080 a notebook se è necessario per le tue esigenze.
Sovrascrivi il

Scrivi "Se porto la porta 80 UDP sul mio PC, posso accedere alla porta 80 dall'altro mio laptop?" <--- Beh, ovviamente, altrimenti, qual è il punto del port forwarding.
barlop

A Ramhound Davvero eh, ok, quindi perché non mi spieghi come lo faresti ?
barlop

1
Ti consiglio di accettare la risposta di VL-80. La sua risposta è molto buona Risponde a ciò che hai effettivamente chiesto: nessuno può parlare di come risponde a ciò che intendevi chiedere.
David Betz,

Risposte:


14

Stai facendo due domande diverse qui.

È possibile eseguire il port forwarding dello stesso numero di porta su 2 diversi indirizzi IP interni?

No. Pensaci. Se un pacchetto arriva al tuo indirizzo esterno e alla porta UDP 80 (supponendo che tu abbia un solo indirizzo IP esterno), come farà il tuo router a quale dei due indirizzi IP interni dovrebbe essere inoltrato?

Se desideri ospitare due servizi diversi, avrai bisogno di una porta separata per ciascuno.

Se porto il port forwarding 80 UDP sul mio PC, posso accedere alla porta 80 dall'altro mio laptop?

Sì. Il port forwarding generalmente riguarda solo i pacchetti che hanno la porta 80 dalla propria parte. Quando qualcuno prova a connettersi a te, il tuo router vedrà:

  • pacchetto in arrivo dalla porta casuale X dell'altro computer alla porta 80
  • risposta in uscita dalla porta 80 alla porta X dell'altro

Ma le connessioni in uscita (quando si visita una pagina web altrove) l'avranno invertito dal punto di vista del router.

  • pacchetto in uscita dalla porta casuale X alla porta 80 dell'altro computer (server Web)
  • risposta in arrivo dalla porta 80 dell'altro alla porta X

Quindi il port forwarding non influenzerà affatto quelli.

(A proposito, HTTP funziona generalmente su TCP . Solo gli esperimenti QUIC di Chrome usano UDP.)


Ri "a quale dei due indirizzi IP interni deve essere inoltrato ", perché non inviare sia al server 192.168.1.100 che al server 192.168.1.101?
Pacerier,

1
@Pacerier: cosa farà il cliente quando riceverà due risposte completamente diverse? Non effettuerà automagicamente due connessioni in cui un programma ne ha richiesto solo una. Nella migliore delle ipotesi, accetterà un pacchetto di risposta e scarterà l'altro, il che è inutile dal momento che non puoi dirlo quale server desideri ... a meno che entrambi .100 e .101 non forniscano esattamente gli stessi servizi (bilanciamento del carico). Nel peggiore dei casi, la seconda risposta impedirà persino il completamento del primo tentativo di connessione (ad esempio, se il secondo server continua a ricevere pacchetti destinati al primo, continuerà a rispondere con TCP RST)
user1686

1
@Pacerier: Quindi, nel caso specifico del bilanciamento del carico (con server quasi identici), ciò può essere fatto - vedi la risposta di VL-80 sotto per maggiori dettagli. Esistono infatti programmi di bilanciamento del carico che duplicano il pacchetto iniziale e utilizzano il server più veloce a rispondere. Ma se si desidera ospitare due diversi siti Web in questo modo, non funzionerebbe perché il browser non invia il nome host del sito Web fino a quando non viene stabilita la connessione TCP.
user1686

4

È possibile eseguire il port forwarding dello stesso numero di porta su 2 diversi indirizzi IP interni?

Sì, puoi assolutamente farlo con UDP e in una certa misura con TCP .

Poiché UDP è un protocollo stateless senza connessione, è possibile ascoltare una determinata porta e, una volta arrivato il pacchetto, è possibile copiarlo e inviarlo a due diverse destinazioni interne. Dal momento che non vi sono strette di mano o monitoraggio dello stato, tutte le destinazioni saranno in grado di ricevere questi pacchetti con successo. Samplicator è uno dei programmi che può farlo per te. Si noti che questo non è un puro port forwarding per sua definizione.

Questo è possibile per TCP , ma con alcune limitazioni: è possibile ascoltare una determinata porta e, una volta arrivato il pacchetto, è possibile inoltrarlo a un determinato host interno in un pool. TCP utilizza le connessioni, quindi una volta inoltrato un pacchetto iniziale a un determinato host interno è ora necessario inoltrare il resto dei pacchetti in questa sessione allo stesso host interno.

Utilizzando questa tecnologia è possibile avere più server back-end che gestiscono le richieste verso una destinazione esterna.

Se porto il port forwarding 80 UDP sul mio PC, posso accedere alla porta 80 dall'altro mio laptop?

Questa domanda non è chiara. Se inoltri il traffico dal tuo indirizzo esterno a uno degli host interni, questo fatto da solo non ti impedisce di accedere alla stessa porta dalla rete interna.

Supponiamo che inoltri la porta 80 da Aa B. Allo stesso tempo Csarà in grado di accedere direttamente alla porta 80 Bsenza problemi.

     A (external IP)
     |
 ---------
 |       |
 B       C

2
La domanda riguarda i router. Nessun router di livello consumer dispone delle funzionalità di bilanciamento del carico TCP / copia UDP descritte e nessuna di queste viene mai chiamata "port forwarding".
Jason C

4
1) La domanda non specifica che deve essere un'apparecchiatura di livello consumer. 2) Indipendentemente da ciò che hai scritto, la tecnica che ho descritto funziona.
VL-80

2
Nessun router di livello professionale avrebbe queste funzionalità, a meno che il pacchetto includa più di un semplice router. Non è il port forwarding e i router non svolgono queste funzioni. La domanda sul "port forwarding" è stata taggata come router . Pensa alle persone che avrebbero avuto la stessa domanda, trovala e leggi la tua risposta e considera se stai aiutando o confondendo. La tua terminologia è comunque sbagliata.
Jason C,

Scrivi "Questo è possibile per TCP, ....... una volta inoltrato un pacchetto iniziale a un determinato host interno, ora è necessario inoltrare il resto dei pacchetti in questa sessione allo stesso host interno." <--- Quindi come è possibile con TCP? Citi il ​​campionatore per UDP, ok .. in modo che lo copi per UDP .. Ma cosa stai suggerendo per TCP?
barlop

4
Questa risposta è buona Stavo per dire qualcosa di simile. Con UDP, questo è multicast e IGMP. TCP, sì, roundrobin, failover, ecc ... Sì, i router possono farlo: i router di oggi non sono i dispositivi ciechi degli anni '90. La domanda è abbastanza vaga da consentire letture multiple, ma è così che leggo anche la domanda.
David Betz,

1

Non è possibile inoltrare la stessa porta a più IP contemporaneamente, non ho nemmeno visto un router / switch gestito che ti permetterà anche di farlo senza inviare un messaggio di errore di configurazione. È possibile configurarlo per più IP ma è possibile abilitare solo una delle regole di inoltro alla volta. Quindi puoi disabilitare un'abilitazione all'altra e viceversa, ma questo è uno spreco Devi solo preoccuparti di inoltrare le porte se vuoi accedere a porte / servizi specifici sul computer LAN tramite il suo indirizzo IP esterno. Supponiamo che tu voglia eseguire 2 server Web su 2 dei tuoi PC LAN ed essere in grado di accedervi entrambi in qualsiasi momento, il modo più semplice per farlo è cambiare le porte dei servizi, avere uno in ascolto sulla porta 80 e l'altro su 8080 o porta che desideri. Il 99% dei servizi ti consentirà di ospitare / ascoltare su qualsiasi porta desideri. Se non si specifica una porta, tornerà al valore predefinito del servizio. Esistono altri modi più avanzati di fare le cose, ma questo è il modo più semplice e i metodi avanzati non sono considerati o chiamati "Port Forwarding" chiunque dica che i diversi bisogni devono tornare alla scuola di rete.


1
"Non ho nemmeno visto un router / switch gestito che ti consentirà persino di farlo ..." - Il router Technicolor TC7200.U di livello consumer ti consentirà di aggiungere la configurazione di inoltro per le stesse porte a indirizzi IP diversi. Non sono sicuro se effettivamente in avanti però.
Jonathan Cross,

-2

No. Pensaci. Se un pacchetto arriva al tuo indirizzo esterno e alla porta UDP 80 (supponendo che tu abbia un solo indirizzo IP esterno), come farà il tuo router a quale dei due indirizzi IP interni dovrebbe essere inoltrato?

Se desideri ospitare due servizi diversi, avrai bisogno di una porta separata per ciascuno.

Come fa il tuo router a inoltrare gli indirizzi? A causa della NAT.

Se acquisti un dominio puoi impostare quel nome dominio come nome del tuo computer e nome NETBIOS.

Ad esempio, 2 computer diversi che ospitano siti Web su porte interne diverse ma su stesse porte esterne devono avere il nome dei domini oppure devi configurare il tuo server DNS interno con entrambi gli domini IP interni aggiunti ai record a cui si connette il router e ogni volta che qualcuno tenta di connettersi il nome di dominio (non l'indirizzo IP pubblico) router NAT inoltrerà la connessione di conseguenza.

Non è possibile inoltrare porte esattamente identiche a più IP sulla stessa rete, ma è possibile utilizzare le stesse porte esterne purché le porte interne siano diverse, viceversa quando si parla di traffico di rete in uscita


Per favore, non copiare altre risposte.
Scott,
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.