Indice   FAQ  
Iscriviti  Login
Indice RouterOS RouterOS

Hairpin NAT e IP

Tutto su questo sistema operativo linux based - Configurazioni, dubbi, problematiche &....

Hairpin NAT e IP

Messaggioda kimba » mer 30 mar 2022, 19:10

Ciao
Mi stavo interessando dell'hairpin NAT non tanto perché mi serva al momento ma giusto per capire come funziona e comprendere meglio i processi interni al routerOS.
So anche che per quanto possibile è meglio evitarlo e affidarsi a soluzioni come il DNS split ad esempio.
Ho letto un paio di articoli in merito che ho trovato in rete oltre alla guida:

https://help.mikrotik.com/docs/display/ ... HairpinNAT
e qui:
https://gregsowell.com/?p=4242

Ho letto in giro anche discussioni accese tra utenti sul topic.
Credo di aver compreso il suo scopo (in pratica, semplificando, se il client che ha fatto una richiesta di connessione al server riceve una risposta da un IP differente, rifiuta la connessione). Ok, tutto chiaro fin qui credo.

Ora, in una richiesta normale dove il server si trova altrove il pacchetto inviato dal client deve passare per la WAN e l'indirizzo IP interno viene tradotto dalla regola di NAT di solito un masquerade nell'IP pubblico, l'unico che può andare in internet. Prendendo come punto di riferimento il secondo link sopra come esempio L'IP passa da 192.168.1.2 a 1.1.1.1.

In questo caso però il server si trova nella stessa LAN, ma il client (192.168.1.2) non ne ha nessuna idea. Di regola la richiesta di connessione farebbe il percorso di cui sopra e paradossalmente il pacchetto potrebbe avere un indirizzo sorgente e destinazione identico. Questo ovviamente non avviene, il pacchetto non ci arriva proprio alla WAN credo.
Da qui il mio dubbio su cosa avviene a questo punto all'interno del router e di conseguenza la mia domanda.
Ho dato un'occhiata al diagramma del packet flow, ma non credo di avere le competenze per interpretarlo correttamente.
Vorrei comprendere bene insomma dove il router "capisce" che il pacchetto è indirizzato su un altro pc in LAN (pur avendo un IP pubblico) e non lo spedisce sulla porta WAN. Da qui poi è semplice: il destination NAT traduce l'IP pubblico in IP privato del server e il masquerade scatta perché ha come regola:

Codice: Seleziona tutto
add action=masquerade chain=srcnat disabled=no dst-addresses=192.168.1.0/24 src-addresses=192.168.1.0/24


Traduce così l'indirizzo sorgente in quello del gateway LAN del bridge cioè 192.168.1.1 perché opera su questa, alla porta wan non ci è arrivato.
Spero di essere stato chiaro e che abbiate capito qual è il punto che mi interessa approfondire per capire meglio il processo.

Grazie
Avatar utente
kimba
Mikrotik-User 10° Liv
Mikrotik-User 10° Liv
 
Messaggi: 48
Iscritto il: mer 12 feb 2020, 16:25
Uso routerOS dalla Versione: v6.x

Re: Hairpin NAT e IP

Messaggioda abbio90 » mer 30 mar 2022, 22:17

Secondo me è più corretto utilizzare hairpinat che il DNS... è chiaro che è sempre una regola che usa un minimo CPU e va processata...quindi conta anche il contesto è l'hardware che viene usato..il resto hairpinat, intercetta i pacchetti che son destinati all'uso pubblico e li rigira su un ip privato senza lanciare i pacchetti nella default route
Scopri https://foisfabio.it - Tutorial sul Network
Avatar utente
abbio90
Mikrotik-Pro 1° Liv
Mikrotik-Pro 1° Liv
 
Messaggi: 536
Iscritto il: lun 26 giu 2017, 19:11
Località: Oristano
Uso routerOS dalla Versione: v4.x
Certificazioni Mikrotik: MTCNA

Re: Hairpin NAT e IP

Messaggioda kimba » gio 31 mar 2022, 9:08

abbio90 ha scritto:Secondo me è più corretto utilizzare hairpinat che il DNS... è chiaro che è sempre una regola che usa un minimo CPU e va processata...quindi conta anche il contesto è l'hardware che viene usato


Eh si, come ho detto sopra alcuni si "accapigliano" su questo punto. :P

..il resto hairpinat, intercetta i pacchetti che son destinati all'uso pubblico e li rigira su un ip privato senza lanciare i pacchetti nella default route


Qui, se non ti dispiace dovremmo andare più nel dettaglio. Nel complesso ho capito cosa fa e sostanzialmente come funziona questa tecnica, ma mi manca un passaggio specifico per comprendere bene il tutto. Certo la difficoltà è dovuta alla scarsa conoscenza del networking e del mondo Mikrotik in particolare, ma affrontando una problematica del genere mi aiuta nello studio, forse è il mio modo di imparare le cose.

La regola di NAT inserita sopra nel testo in codice traduce l'IP di provenienza con quello del router stesso (lato LAN). OK, ma prima che questa sia "attivata" bisogna tradurre o sostituire anche l'IP di destinazione per non "lanciare" il pacchetto in internet (passami l'espressione seppur tecnicamente imprecisa immagino).
Dove e quando avviene questo? Spero di essere stato più chiaro.

Grazie ancora
Avatar utente
kimba
Mikrotik-User 10° Liv
Mikrotik-User 10° Liv
 
Messaggi: 48
Iscritto il: mer 12 feb 2020, 16:25
Uso routerOS dalla Versione: v6.x



Torna a RouterOS

Chi c’è in linea

Visitano il forum: Google Adsense [Bot] e 1 ospite