Vai al contenuto
PLC Forum


[Mikrotik] DNS query e redirect


serbello

Messaggi consigliati

Ciao,
Sul mio Mikrotik ho impostato l'IP del Mikrotik stesso (192.168.3.1) come server DNS nella scheda DHCP server->dns servers e spuntato il box "Allow Remote requests" in DNS setting e in cui ho impostato 1.1.1.1 e 8.8.8.8 come server dns per il router stesso.
Le query dns vengono effettuate regolarmente e la cache DNS del mikrotik viene popolata di record. Ok.

Ho provato a fare degli esperimenti per vedere cosa succedeva ed ho così impostato dei server dns (8.8.4.4) nella scheda proprietà di rete del mio pc con window 10 pro.
In questo caso ho verificato che le richieste venivano effettuate direttamente al server di google e la cache non veniva ulteriormente popolata di nuove richieste. Per evitarlo e "forzare" le query a passare per il router ho settato queste due regola NAT:

 

add action=dst-nat chain=dstnat comment="DNS redirect to MIkrotik" dst-port=53 log=yes protocol=tcp src-address=192.168.3.0/24 to-addresses=192.168.3.1 to-ports=53
add action=dst-nat chain=dstnat dst-port=53 log=yes protocol=udp src-address=192.168.3.0/24 to-addresses=192.168.3.1 to-ports=53

 

Con l'aggiunta di queste due regole la cache ritornava a popolarsi. Ho fatto poi un altro esperimento, ma prima di esporlo vorrei capire, come prima passaggio, cosa succede alle query in questo caso e la differenza tra il primo caso sopra senza regole NAT e con le regole.
Qualcuno più esperto di queste dinamiche potrebbe aiutarmi ad andare più in profondità e capire i tecnicismi del funzionamento.
Grazie

Link al commento
Condividi su altri siti


Andrea Annoni

Non capisco la domanda.......

con la regola di NAT forzi a usare, in questo caso, i DNS impostati sul Mikrotik.

In genere utile quando si usano servizi tipo OpenDNS ecc e non si vuole concedere la possibilità di bypassare le richieste .....anche se poi questo è un metodo grezzo.

 

Ma perchè hai abbilitato le risposte DNS (Allow Remote requests)? Se hai un pubblico attestato direttamente rischi attacchi.

Link al commento
Condividi su altri siti

51 minuti fa, Andrea Annoni ha scritto:

Non capisco la domanda.......

con la regola di NAT forzi a usare, in questo caso, i DNS impostati sul Mikrotik.

 

È proprio questo che vorrei capire più in profondità. Ho usato pure io la parola forzare comprendendo per sommi capi cosa in realtà facessero le regole sopra. Ma mi piacerebbe comprendere "tecnicamente" cosa succede al pacchetto della query.

 

51 minuti fa, Andrea Annoni ha scritto:

 .....anche se poi questo è un metodo grezzo.

 

Perché grezzo? Esistono metodi più efficaci e "professionali"?

 

51 minuti fa, Andrea Annoni ha scritto:

Ma perchè hai abbilitato le risposte DNS (Allow Remote requests)? Se hai un pubblico attestato direttamente rischi attacchi.

 

Se disabilito quella opzione semplicemente non navigo più

 

Grazie

 

Modificato: da serbello
Link al commento
Condividi su altri siti

Andrea Annoni

Tutte le richieste del DNS, attraverso la regola di NAT, vengono reindirizzate al Mikrotik. Quindi anche se io imposto un DNS diverso sul PC, la query di richiesta verso il dNS impostato viene reindirizzata al Mikrotik.

 

Grezzo perchè se io reindirizzo a mia volta il DNS verso un'altra porta evito la regola di NAT.

 

 

Allow remote non dovrebbe essere abilitata. Se hai un pubblico rischi attacchi. Se non navighi c'è altro.

Link al commento
Condividi su altri siti

32 minuti fa, Andrea Annoni ha scritto:

Tutte le richieste del DNS, attraverso la regola di NAT, vengono reindirizzate al Mikrotik. Quindi anche se io imposto un DNS diverso sul PC, la query di richiesta

 

 

Ok, però diciamo questa era solo una premessa per capire un altro comportamento delle query dns relativamente alle regole impostate sul Mikrotik.

Ho installato, per fare alcuni esperiment,i anche pihole in una macchina virtuale con ip 192.168.3.66 ed ho assegnato come server dns nella scheda DHCP server l'ip di pihole al posto di quello del Mikrotik stesso.

 

Ho dovuto creare queste regole NAT:

 

add action=dst-nat chain=dstnat dst-address=!192.168.3.66 dst-port=53 protocol=udp src-address=!192.168.3.66 to-addresses=192.168.3.66

add action=dst-nat chain=dstnat dst-address=!192.168.3.66 dst-port=53 protocol=tcp src-address=!192.168.3.66 to-addresses=192.168.3.66

add action=masquerade chain=srcnat dst-address=192.168.3.66 dst-port=53 protocol=udp src-address=192.168.3.0/24

add action=masquerade chain=srcnat dst-address=192.168.3.66 dst-port=53 protocol=tcp src-address=192.168.3.0/24

 

In un primo momento pensavo che sarebbero bastate le prime due regole NAT sopra come ho fatto precedentemente per reindirizzare le richieste verso il Mikrotik, ma mi sono accorto che seppur le richieste arrivassero a pihole che le risolveva regolarmente (il numero delle query nella dashboard aumentava segno che stava facendo il suo dovere) le risposte alle query partite dal pc client non venivano ricevute o venivano respinte. Leggendo in giro degli articoli pare che questo sia dovuto al fatto che il pc non riconosca in questo caso l'indirizzo originale del server a cui ha inoltrato la query cioè google (ricordiamoci che avevo settato 8.8.4.4 nella mia scheda di rete).

Ho dovuto quindi aggiungere le regola NAT masquerade per "ingannare" il client diciamo. Ok

Però da qui la domanda. Come mai non è stato necessario aggiungere le regole di masquerade anche quando le richieste erano reindirizzate al Mikrotik??

32 minuti fa, Andrea Annoni ha scritto:

Grezzo perchè se io reindirizzo a mia volta il DNS verso un'altra porta evito la regola di NAT.

 

Ok. Quale sarebbe la soluzione più idonea? Tu cosa avresti fatto?

 

32 minuti fa, Andrea Annoni ha scritto:

Allow remote non dovrebbe essere abilitata. Se hai un pubblico rischi attacchi. Se non navighi c'è altro.

Intendi IP pubblico?

Altro tipo cosa? Questo aspetto mi interessa particolarmente.

 

Grazie ancora.

Modificato: da serbello
Link al commento
Condividi su altri siti

Andrea Annoni
1 ora fa, serbello ha scritto:

Come mai non è stato necessario aggiungere le regole di masquerade anche quando le richieste erano reindirizzate al Mikrotik??

Ma perchè dovresti nattare? Il Router è lui........non serve...

 

1 ora fa, serbello ha scritto:

Ok. Quale sarebbe la soluzione più idonea? Tu cosa avresti fatto?

Occorre avere ben presente lo scopo e l'applicazione. Se parliamo di casa o piccola realtà va bene tutto.

Se invece è un applicazione più critica e si vuole usare Mikrotik allora magari è meglio applicare del mangle per capire i pacchetti che transitano.

Altrimenti meglio usare un firewall USG

 

 

1 ora fa, serbello ha scritto:

Intendi IP pubblico?

Si

 

1 ora fa, serbello ha scritto:

Altro tipo cosa?

Non lo so, non so che configurazione hai.......di sicuro non serve allow remote

Link al commento
Condividi su altri siti

20 minuti fa, Andrea Annoni ha scritto:

Ma perchè dovresti nattare? Il Router è lui........non serve...

 

Ma da quello che ho capito il masquerade però serviva proprio per "ingannare" il client che si ritrova con un indirizzo server dns di "ritorno" diverso da quello originale a cui aveva inviato la query, che sia 192.168.3.1 o il 192.168.3.66 del pihole quale sarebbe in sostanza la differenza per il client? Anche se per te è una cosa scontata, è questa dinamica che sto cercando di capire.

 

24 minuti fa, Andrea Annoni ha scritto:

 

Occorre avere ben presente lo scopo e l'applicazione. Se parliamo di casa o piccola realtà va bene tutto.

Se invece è un applicazione più critica e si vuole usare Mikrotik allora magari è meglio applicare del mangle per capire i pacchetti che transitano.

Altrimenti meglio usare un firewall USG

 

 

Mangle? hmm non saprei come utilizzarlo. Sono ancora relativamente nuovo del mikrotik. Magari provo a leggere qualcosa in giro mirato proprio per le questione del DNS. Se conosci una risorsa specifica potresti girarmela gentilmente?

A proposito, giusto a titolo di curiosità e come occasione per approfondire la problematica, cosa farebbe un firewall USG in questo caso?

 

27 minuti fa, Andrea Annoni ha scritto:

Non lo so, non so che configurazione hai.......di sicuro non serve allow remote

 

Giusto, dovresti conoscere la mia configurazione completa. In ogni caso sto continuando a provare e navigo con l'opzione disabilitata solo se imposto i DNS direttamente sul client, altrimenti niente.

Grazie

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...