PDA

View Full Version : aiuto per creazione server dns


NiubboXp
01-09-2016, 21:55
vi spiego quello che vorrei fare (se possibile farlo) e spero in un vostro aiuto

vorrei creare un server dns che risolva gli indirizzi del web senza dover fare delle query ai dns del mio isp, lo scopo sarebbe proprio quello di sostituirlo ed utilizzare quindi esclusivamente il mio server, mi basta che funzioni nella mia lan, non necessito di utilizzarlo altrove

è possibile farlo?

vorrei utilizzare un raspberry con raspian, ho visto che come programma per gestire un server dns viene spesso usato bind9, avete qualche dritta su come configurarlo per le mie necessità? vorrei inoltre proteggerlo tramite il firewall software presente nella distro, in maniera che accetti solo le query provenienti dalla lan e blocchi qualunque richiesta proveniente dall'esterno

grazie

zeMMeMMez
03-09-2016, 18:37
...

NiubboXp
04-09-2016, 20:46
grazie per le risposte, torno con un po' di news e forse con le idee piu chiare quindi cerco di spiegarmi meglio

i nomi che vorrei risolvere sono tutti quelli presenti in internet (facebook, google etc etc) diciamo che vorrei bypassare i dns del isp ed evitare dns alternativi come opendns
e questo vorrei farlo quantomeno per un pc della mia rete (una volta che sono sicuro funzioni correttamente vedrò se e come implementare altri client)

ho visto che ci sono 2 tipi di server dns che posso configurare con la relativa guida a questo link https://www.digitalocean.com/community/tutorials/how-to-configure-bind-as-a-caching-or-forwarding-dns-server-on-ubuntu-14-04 e da quello che mi sembra di capire io devo optare per il caching dns server che da quanto ho capito non effettua la richiesta a nessun server dns ma cerca la risoluzione passando dal top level domain poi dal sub level domain e via dicendo sino a trovare l'ip questa è la fonte (https://www.digitalocean.com/community/tutorials/an-introduction-to-dns-terminology-components-and-concepts), una volta trovato lo mette in cache e lo mantiene per il tempo stabilito nella TTL che di base in BIND è di 7 giorni, e ad ogni successiva richiesta di quel nome invece ti ricercalo altrove lo prende dalla cache sino a che l'indirizzo nella cache non "scade"

la prima domanda è se quanto ho scritto è corretto o è meglio che mi mi dia al giardinaggio :D

poi leggendo qua e la ho letto che consigliano di mettere bind sotto chroot, mi chiedevo però se essendo questo dns ad uso esclusivo di un client (impostando opportunamente l'ACL con l'indirizzo ip lan del mio client) e sopratutto non essendo un dns pubblico, ma un server interno alla mia lan, potessi saltare questa soluzione mantenendo una buona sicurezza, e se in via generale, essendo sotto router posso star tranquillo che nessun accesso dall'esterno possa avvenire sul server dns per evitare system exploit o dns hijacking vari


spero di esser stato chiaro, purtroppo sto cercando di "autoformarmi" su questo argomento e non è per nulla facile

zeMMeMMez
04-09-2016, 21:18
...

NiubboXp
04-09-2016, 22:49
sicuro? continuando a leggere mi sembra che sia fattibile
anche leggendo il seguente link
https://en.wikipedia.org/wiki/Domain_Name_System#Address_resolution_mechanism
sembrerebbe che configurando il server come cache only vada a prendere le informazioni tramite i root server, senza passare quindi da altri dns, che è esattamente quello che vorrei fare, e succesivamente viene mantenuto nella cache del mio server

zeMMeMMez
04-09-2016, 22:51
...

zeMMeMMez
04-09-2016, 23:14
...

NiubboXp
05-09-2016, 09:04
Potresti darmi qualche dritta e dirmi dove sbaglio? Preferirei continuare con bind visto che ci ho gia smanettato un po ed ho trovato della documentazione

zeMMeMMez
05-09-2016, 09:09
...

NiubboXp
05-09-2016, 09:13
Esatto

Dane
05-09-2016, 17:48
domanda numero due: Cosa deve fare più del dns che al 99% è già integrato nel modem/router?

zeMMeMMez
05-09-2016, 17:51
...

NiubboXp
05-09-2016, 21:10
Avete gia risposto voi, vorrei imparare come funziona internet, linux in generale e la gestione di un server, e vorrei cominciare creandomi un vero server dns che succesivamente alla richiesta da parte del client faccia le request ai root server, senza forwarding su altri dns quindi, e che faccia da cache

Qualcosa di simile l ho provato sul mio pc e funziona!! Pero non so come capire se gli indirizzi non contenuti in cache li richiede ad un root server o al dns del provider

mmiat
05-09-2016, 22:02
Avete gia risposto voi, vorrei imparare come funziona internet, linux in generale e la gestione di un server, e vorrei cominciare creandomi un vero server dns che succesivamente alla richiesta da parte del client faccia le request ai root server, senza forwarding su altri dns quindi, e che faccia da cache

Qualcosa di simile l ho provato sul mio pc e funziona!! Pero non so come capire se gli indirizzi non contenuti in cache li richiede ad un root server o al dns del provider

non può NON fare il forwarding, non esiste nessun DNS che abbia in memoria tutti gli indirizzamenti di tutti i domini del mondo.... e se anche ci fosse, dopo 2 minuti sarebbe probabilmente già obsoleto

NiubboXp
05-09-2016, 22:24
non può NON fare il forwarding, non esiste nessun DNS che abbia in memoria tutti gli indirizzamenti di tutti i domini del mondo.... e se anche ci fosse, dopo 2 minuti sarebbe probabilmente già obsoleto

hai capito male, ho scritto forwarding su altri server dns, perchè voglio lo faccia sui server root

zeMMeMMez
11-09-2016, 22:20
...

Dane
11-09-2016, 22:25
Interessa anche a me questa discussione.
Non vedo cosa ci sia di male ad usare il proprio dns anzichè quelli di google o di un provider.

è un servizio in più da gestire.
Passi per una decina di pc, per uno solo è più facile cambiarli alla bisogna.

Non so se ti è mai successo, ma per esempio a me è capitato che usando i root dns non riuscivo ad andare su alcuni siti. Fastweb (l'isp) aveva reindirizzato chissà cosa e si riusciva ad accedere a tali siti usando i dns di fastweb.

In sintesi, aldilà della finalità didattica (che è un mondo a parte), "rischi" di ritrovarti dei problemi assurdi. Se ad un certo punto qualche sito non ti funziona basta usare un altro dns (root, opendns, ecc ecc ecc) o - ancora meglio - un proxy da un'altra nazione.

evil weasel
12-09-2016, 10:37
Potrebbe essere interessante mettere in piedi un server DNS locale con DNSCrypt + pdnsd.
La componente DNSCrypt permette di risolvere le richieste DNS cifrando il traffico, pdnsd invece mantiene una cache (che non viene cancellata se riavvii la macchina) degli indirizzi già risolti.

Client DNSCrypt: https://www.dnscrypt.org/
pdnsd: http://members.home.nl/p.a.rombouts/pdnsd/ - In alcune distro c'è nei repo, non in CentOS/Fedora.
Lista di server DNS che supportano DNSCrypt: https://servers.opennicproject.org/
Configurare il tutto è abbastanza semplice, ci sono parecchie guide online, prima fra tutte la wiki di archlinux.