Alcuni dubbi su port forwarding e pacchetti


0

Sto cercando di aprire una porta nella mia macchina Linux, ma ho qualche problema. Ho cercato alcune informazioni sul port forwarding e l'ho trovato Cos'è il port forwarding e a cosa serve? e il post di jcrowfordor (il post lungo con una foto) mi ha aiutato a capirlo meglio.

Ma ho ancora qualche problema ad aprire una porta. Ho cercato tutorial e video e dice sempre:

  • 1-Inoltra la porta nel router
  • 2-Scarica ufw
  • 3-Crea una regola in ufw che consente il traffico in entrata verso quella porta

Ho fatto tutto questo e non ha funzionato. Forse sto facendo qualcosa di sbagliato? Ho ancora qualche dubbio sul port forwarding quindi penso che chiarire quei dubbi possa aiutarmi a capire cosa sto facendo male.

Inoltre, l'intero firewall che configura il + portforwarding del router potrebbe non essere necessario, perché ho una macchina virtuale Linux Mint che accetta il traffico in entrata verso qualsiasi porta che leggo usando netcat (io uso sudo nc -l portnumber). Perché? Non ho configurato nulla, tranne che per disabilitare il firewall di Linux Mint. Se disattivo l'altro firewall di Linux, rifiuta comunque le connessioni.

I miei dubbi riguardo al port forwarding sono:

  1. Quando un computer da una rete vuole comunicare con un altro computer in quella rete fa il pacchetto che invia al router conta come traffico in entrata? Se è così, in ordine per la destinazione computer per riceverlo Devo inoltrare una porta sul router, destra?
  2. Cosa succede se voglio che 2 o più computer siano in grado di ricevere connessioni sullo stesso porto? Devo inoltrare quella porta nel router per tutti quei computer?
  3. Se sì, come fa il router a sapere a quale computer deve inviare l'inbound traffico? Cosa succede quando viene dalla rete e quando lo fa viene fuori dalla rete?

Risposte:


1

1) no. va direttamente al server LAN senza attraversare il router (non viene mai ricevuto sui router WAN). La maggior parte dei router commerciali non consente a un host interno di connettersi ai router WAN. Quelli che supportano cosa hanno chiamato NAT Hairpinning. Per testare una regola di port forward NAT senza forzare, è necessario farlo da un'altra rete.

2) Se vuoi tcp \ 80 su due caselle differenti da inoltrare, dovrai usare numeri di porta esterni differenti in modo che WAN: 80 - & gt; PC1: 80 e WAN: 81 - & gt; PC2: 80. I numeri di porta sul lato WAN devono essere univoci, oppure non è possibile stabilire quale server si desidera utilizzare e l'inoltro NAT è sempre unicast, quindi non è possibile inviare il pacchetto a entrambi i server interni.

3) Le regole NAT richiedono di specificare l'indirizzo IP locale del server LAN che riceverà i pacchetti in entrata sulla porta.


Quindi, ciò significa che, per consentire a 2 computer nella stessa rete di comunicare in una porta specifica, non è necessario eseguire alcun port forwarding sul router? Questo è un problema in meno. Grazie per aver risposto.
Mark Read

è corretto. Il port forwarding è specificamente il processo per esporre la porta dei server a entità che non si trovano sulla stessa LAN del server.
Frank Thomas

@PeterSmith Ok, grazie. Hai qualche suggerimento sul motivo per cui la mia VM Linux potrebbe rifiutare le connessioni?
Mark Read

beh, questo dipende da come la VM si connette alla LAN fisica. molti VMS definiscono una nuova rete solo all'interno del PC host, quindi in genere è consigliabile che se si desidera rendere una VM accessibile alla LAN fisica, si connette la VM alla rete utilizzando una connessione "Bridged". quale VMMS stai usando (virtualbox, vmware, ecc.)?
Frank Thomas

Sto usando VMWare Player e le macchine sono in modalità Bridged.
Mark Read

0

Soluzione al problema di netcat:

Usa nc -l -p port invece di nc -l port. Così semplice

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.