PDA

View Full Version : IPTABLES... BLOCCO... dns


galact
30-12-2008, 08:44
ciao a tutti,
posseggo un router con firware DDWRT con comandi impostati a bloccare il dns dalle rete locale, obbligando quindi ad utilizzare quelli proprio del router .. :

iptables -t nat -A PREROUTING -p tcp -i br0 --dport 53 -j DNAT --to $(nvram get lan_ipaddr)

vorrei creare una regola che oltre a questa consenta solo ad 1 determinato pc della lan ad utilizzare i dns che preferisce ... è possbile ??

e-Tip
06-01-2009, 15:14
iptables -t nat -A PREROUTING -p tcp -i br0 --dport 53 -j DNAT --to $(nvram get lan_ipaddr)

uhm ... iptables -t nat -A PREROUTING -p tcp -i br0 --dport 53 -s ! $indirizzolibero -j DNAT --to $(nvram get lan_ipaddr)

Così facendo dovrebbe funzionare... ovviamente $indirizzolibero dev'essere statico o quantomeno variare poco

Devil!
06-01-2009, 15:21
le richieste DNS non sono su UDP?

e-Tip
06-01-2009, 15:35
le richieste DNS non sono su UDP?

Effettivamente... si... ho brutalmente copiato la regola postata da lui e non ci avevo nemmeno fatto caso.. chissà se gli funziona allora

galact
06-01-2009, 23:23
allora facendo un giro per i forum dd wrt inglese ...ho trovato quello che fa al caso mio .. e ho risolto cosi ... grazie... a tutti... .......:

**********************
dnsmasq -S 212.216.112.112 -R -i br0 -p 1054
iptables -t nat -A PREROUTING -p udp -i br0 -s 192.168.2.122 --dport 53 -j DNAT --to $(nvram get lan_ipaddr):1054
iptables -t nat -A PREROUTING -p tcp -i br0 -s 192.168.2.122 --dport 53 -j DNAT --to $(nvram get lan_ipaddr):1054
**************************

Xfight
07-01-2009, 06:44
I dns, se non ricordo male, lavorano sempre con UDP però se falliscono per un tot di tentativi ( UDP è un protocollo best-effort (http://it.wikipedia.org/wiki/Consegna_Best_Effort), ma estremamente veloce ) allora ricorre a TCP e lì è molto più sicuro che la richiesta arrivi e torni indietro ( TCP è un protocollo affidabile per la trasmissione di pacchetti grazie agli ACK, però è lento e dispendioso in termini di attesa ).

Ormai sono molto rari i casi dove si usa TCP dato che le linee internet sono ben costruite ed è difficile perdere molte volte lo stesso pacchetto.

Ciao !

e-Tip
07-01-2009, 08:07
allora facendo un giro per i forum dd wrt inglese ...ho trovato quello che fa al caso mio .. e ho risolto cosi ... grazie... a tutti... .......:

**********************
dnsmasq -S 212.216.112.112 -R -i br0 -p 1054
iptables -t nat -A PREROUTING -p udp -i br0 -s 192.168.2.122 --dport 53 -j DNAT --to $(nvram get lan_ipaddr):1054
iptables -t nat -A PREROUTING -p tcp -i br0 -s 192.168.2.122 --dport 53 -j DNAT --to $(nvram get lan_ipaddr):1054
**************************

Così facendo solo il pc con indirizzo ip 2.122 viene rediretto al dns interno però

galact
07-01-2009, 08:31
si era proprio quello che volevo poiche tutta la rete locale utilizza il dns del router ( open dns.... impostando li i criteri di navigazione evito anche i contenuti per solo adulti ) e solo il pc 122 utilizza il dns normale di tin.it ( telecom....

spero che possa essere da aiuto a qualcuno... grazie a tutti voi ..