C'è un modo per utilizzare un DNS specifico per un dominio specifico?


29

Al lavoro utilizziamo OpenDNS e ha bloccato erroneamente irc.freenode.net per malware. Come posso assicurarmi che qualsiasi richiesta per * .freenode.net vada a 8.8.8.8 e 8.8.4.4 (DNS di Google).

Ho provato a fare questo giocherellando con resolv.conf su Ubuntu, ma non sono riuscito ad andare troppo lontano. Inoltre, c'è un modo semplice per farlo per i sistemi Mac e Windows (ho alcuni colleghi che usano quei sistemi operativi e vorrebbero usare anche IRC).


4
Fai attenzione: tentare di aggirare i controlli di sicurezza può far scortare qualcuno da alcune compagnie. Inoltre, è possibile che altri server DNS siano bloccati.
uSlackr,

Risposte:


15

Linux non supporta l'uso di server DNS specifici del dominio tramite resolv.conf. Potresti potenzialmente aggirare questo problema eseguendo un nameserver di memorizzazione nella cache (come BINDo dnsmasq) localmente e quindi configurando forwarder espliciti per ciascun dominio.

Sotto OS X, questo tipo di impostazione è relativamente semplice usando il scutilcomando. Il caso d'uso comune per questa configurazione è di inoltrare le richieste DNS per una connessione VPN a server DNS specifici della VPN, quindi questo verrà discusso spesso di concerto con, ad esempio, OpenVPN. Questo documento parla del scutilcomando come fa questo , e una ricerca di Google openvpne scutilprodurrà più risultati.

Non sono sicuro di Windows. È possibile presumibilmente utilizzare la soluzione di server DNS locale per tutte e tre le piattaforme, se necessario.


1
È ancora vero nel systemd-resolvedmondo? (Sì, mi rendo conto che la tua risposta ha 7 anni)
Pointy

35

Questo non può essere fatto con la risoluzione DNS standard fornita da * nix (e Windows AFAIK), per farlo è necessario il proprio server DNS. Su * nix dnsmasq è la scelta migliore per questo, e puoi eseguirlo su ogni workstation o eseguirlo su un server e configurare tutte le workstation per usarlo.

/etc/resolv.conf:

nameserver 127.0.0.1
nameserver 208.67.222.222
nameserver 208.67.220.220

/etc/dnsmasq.conf:

server=/freenode.net/8.8.8.8
server=/freenode.net/8.8.4.4

2
Questo può essere assolutamente fatto usando la risoluzione DNS standard fornita da alcuni sistemi operativi. Solo non da Linux.
Larsks,

Per controllare quale interfaccia utilizzare ho aggiunto @vpn0 alla fine dei server DNS. Questo può essere utile per usarlo solo quando una VPN è attiva.
Alex,


5

L'ho fatto su Fedora installando un server DNS locale.

bind prima installazione:

sudo dnf install bind

passaggio 1: aggiungere una riga a /etc/named.conf(come root):

include "/etc/named/freenode.net.conf";

passaggio 2: creare il file di zona /etc/named/freenode.net.conf(come root):

zone "freenode.net" {
    type forward;
    forwarders { 8.8.8.8; };
};

ora riavvia denominato:

sudo service named restart

ora riconfigurare le impostazioni della lan per utilizzare 127.0.0.1 come server DNS, anziché come host allocati da DCHP.


3

Per questo è possibile utilizzare l' opzione --dns di firejail. Per esempio:

firejail --dns=8.8.8.8 firefox

In questo modo il server DNS può essere impostato per applicazione anziché per dominio. Quindi potrebbe essere una soluzione migliore in alcune circostanze.


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.