blocca dns esterno, correggi la perdita dns ubuntu 18.04


10

Usando il test delle perdite DNS durante la mia VPN ho scoperto che stava perdendo. Ho configurato la mia VPN tramite NetworkManager e funziona correttamente tranne la perdita.

Innanzitutto, ho provato ad aggiungere block-outside-vpnal file di configurazione, tranne per il fatto che sotto di /etc/NetworkManager/system-connectionsesso non segue lo stesso formato. Non sono riuscito a trovare il documento su come scriverne correttamente uno per le perdite DNS.

Inoltre, usando Ubuntu 18.04 resolv.conf non funziona come prima, tutte le altre risposte si basano su questo.

In breve, come bloccare il DNS esterno (perdita) utilizzando i file di configurazione di Network Manager o la GUI?


block-outside-vpnin genere è solo un'opzione di connessione OpenVPN di Windows. Correggere la "perdita" DNS sarebbe utilizzare un server DNS specifico che esiste solo dall'altra parte della VPN. Quali sono stati i risultati del test di tenuta DNS che hai visto? (sono rilevanti)
Thomas Ward

Risposte:


3

Suggerisco di usare dnscrypt.

Prima installalo:

sudo apt install dnscrypt-proxy

Per impostazione predefinita, ascolta la 127.0.2.1porta 53.

Modifica la tua VPN o qualsiasi altra connessione che ti piace e imposta 127.0.2.1come suo server DNS, utilizzando l'interfaccia della riga di comando puoi eseguire:

nmcli connection modify [CONNECTION-NAME] ipv4.dns 127.0.2.1

E nel caso in cui blocchi le richieste DNS in uscita:

sudo ufw deny out 53

E assicurati che il firewall sia abilitato:

sudo ufw enable

Il mio DNS perde ancora come da test di tenuta DNS. È anche importante ricordare che la disabilitazione di VPN mentre ufw è abilitato renderebbe Internet non disponibile (porta 53 bloccata).
Pobe,

Esegui questo comando: nmcli connection modify [CONNECTION-NAME] ipv4.ignore-auto-dns yesvedi se aiuta.
Ravexina,

3

Per correggere le perdite DNS su Ubuntu 18.04, puoi modificare un file chiamato /etc/dhcp/dhclient.conf. Secondo la pagina del manuale, questo file "fornisce un mezzo per configurare una o più interfacce di rete utilizzando il protocollo di configurazione host dinamico, il protocollo BOOTP o se questi protocolli falliscono, assegnando staticamente un indirizzo".

Per quanto riguarda la correzione delle perdite DNS, modificheremo questo file. Aprendolo con le autorizzazioni appropriate, vedrai una riga commentata simile a questa:

#prepend domain-name-servers 127.0.0.53;

Rimuovi il commento da questa riga e modifica il domain-name-server in uno diverso, come OpenDNS: 208.67.222.222. Utilizzando questo indirizzo OpenDNS, questa riga ora dovrebbe apparire così:

prepend domain-name-servers 208.67.222.222;

Dopo aver salvato il file e riavviato il sistema, questo dovrebbe correggere le perdite DNS su Ubuntu 18.04.


Oppure potresti semplicemente modificare la tua connessione in una GUI e ottenere lo stesso risultato: apri la finestra di modifica per la tua connessione => Impostazioni IPv4 / IPv6, cambia "Metodo" in "Automatico, solo indirizzi" e aggiungi i tuoi "server DNS".
GoodGuyNick,

Il metodo di @GoodGuyNick tramite la GUI non ha funzionato per me. Ho cercato su google questo problema tutto il giorno, e ha funzionato solo il trucco "antepone domini-nomi-server". Alleluia per questa risposta. Tutto il resto che ho provato (inclusa la GUI per i server DNS) è stato sovrascritto e non sopravvivere al riavvio.
pestofago il

3

Se hai una perdita DNS come indicato controllando su browserleaks.com o dnsleaktest.com ,

  1. Chiudi la tua connessione VPN

  2. Tenta di annullare tutte le modifiche ai file .conf che hai perso tempo facendo. Se hai provato molti suggerimenti, la tua migliore possibilità potrebbe essere quella di fare una nuova installazione e assicurarti di aver installato anche networkmanager-openvpn-gnome poiché Ubuntu non ha l'importazione della configurazione VPN fornita di default.

  3. Installa dnsmasq

    sudo apt update
    sudo apt install dnsmasq  
    
  4. Disabilita risolta

    sudo systemctl disable systemd-resolved.service
    sudo systemctl stop systemd-resolved.service 
    
  5. Rimuovi / etc/resolv.confe creane uno nuovo:

    sudo rm /etc/resolv.conf
    sudo nano /etc/resolv.conf  
    
  6. Inserisci nel tuo .conffile vuoto :

    nameserver 127.0.0.1`         that's all!
    
  7. Premi Ctrl+ x per uscire dall'editor. Invio yper salvare, quindi premere Enterper sovrascrivere il nuovo resolv.conffile.

  8. Modifica il tuo file NetworkManager.conf

    sudo nano /etc/NetworkManager/NetworkManager.conf 
    

    e aggiungi quanto segue:

    dns=dnsmasq 
    

    sotto le linee (navigare usando i tasti freccia), [main] e plugins = ifupdown, file di chiavi esattamente come questo con la nuova linea aggiunta.

    [main]
    plugins=ifupdown, keyfile
    dns=dnsmasq
    

    Premi Ctrl+ xper uscire dall'editor. Invio y per salvare, quindi premere Enterper sovrascrivere il file.

  9. Esci dal terminale e riavvia il sistema e controlla i risultati del sito di test di dnsleak.

Grazie a VPN anonima le cui soluzioni per Perdite su Ubuntu / Network Manager sembrano ben studiate e di successo. FUNZIONANO e quando nessun'altra soluzione ha funzionato per me, queste hanno funzionato. La soluzione sopra indicata funziona per Ubuntu 17.xe 18.04 LTS . Guarda la sua altra soluzione per 16.04 LTS .


Ho testato questa soluzione su una VM e tutto ha funzionato. Poi ho provato su una macchina principale e ho visto dns da VPN e perdita di dns. Su una VM nameservercambiata da 127.0.2.1a 192.168.122.1e quando mi connetto a VPN in un resolv.confvedo due nameserverlinee, una con 192.168.122.1e l'altra con VPN dns ma su una macchina principale vedo sempre due linee search lan nameserver 127.0.1.1.
GoodGuyNick,

come posso fare cosa senza gestore di rete? metti il ​​DNS in / etc / network / interfaces?
Mehdi,

1

Ho avuto problemi con questo esatto problema per 2 giorni prima di trovare la soluzione che funzionava per me qui: https://unix.stackexchange.com/a/470940

TL; DR

$ cd /etc/NetworkManager/system-connections

Qui sono archiviate le connessioni create con Network Manager.

$ sudo nmcli connection modify <vpn-connection-name> ipv4.dns-priority -42

Semplice comando per modificare il file di configurazione della connessione. Potrebbe essere fatto anche manualmente, ma in questo modo credo sia più facile.

$ sudo service network-manager restart

Apporta le modifiche al tuo sistema.

Fondamentalmente copia incollato dal link sopra, merito all'autore originale.

Se il tuo sistema non conosce nmcli o l'aggiunta di connessioni tramite la GUI di Network Manager genera un errore, ti consiglio questo link

Ora, per quello che è meno di una spiegazione e più di un commento (piuttosto non ho idea)

Ho provato molte delle soluzioni tra cui resolv.conf, dnsmasq e dnscrypt, che hanno portato al blocco di Internet o alla chiusura della connessione VPN. Nessuno di loro ha risolto la perdita di dns, secondo dnsleaktest.com . Se viene tentato uno di questi, ogni passaggio lungo il percorso deve essere tracciato in modo da poterli invertire in caso di esito indesiderato. Mi ci è voluto poco tempo per sistemare la mia Internet interrotta più volte senza, suppongo, Internet. Non sto affermando che queste soluzioni non funzionano periodo, molto probabilmente ho fatto qualche errore da qualche parte.
La soluzione a cui ho collegato ha tuttavia l'enorme vantaggio di non interferire con le impostazioni di rete generali, ma solo con l'unica connessione che stai modificando.

Successivamente, block-outside-dns, come menzionato qui prima, è una soluzione solo per Windows e ha lanciato una sorta di errore di opzione non riconosciuto sul mio sistema Ubuntu.

L'uso dei comandi di ovpn cli non ha risolto la perdita neanche per me.

Il link che ho fornito menziona una spiegazione ( qui ) su alcune incongruenze di versione che sono state risolte in Ubuntu 18.10, forse qualcuno con più esperienza su questo argomento si preoccupa di spiegare ulteriormente. Se questo è vero, gli utenti LTS dovranno aspettare aprile il prossimo anno.

Infine, voglio sottolineare che per i residenti dei paesi con censura di Internet, la perdita di DNS rappresenta un grave problema perché consentire l'accesso isp locale al tuo traffico può e porterà a bloccare i domini censurati nonostante siano collegati a una VPN. Quindi, per future visite in Cina, ecc., Questo è qualcosa di cui ti devi occupare in anticipo.

Spero che sia di aiuto.


0

Prova a utilizzare lo update-systemd-resolvedscript che non apporta modifiche a resolv.confe utilizza invece il systemd-resolvedservizio utilizzando la sua API DBus

Scarica da git e installalo tramite:

git clone https://github.com/aghorler/update-systemd-resolved.git
cd update-systemd-resolved
make

Ora modifica nsswitch.confdi:

sudo nano /etc/nsswitch.conf

e poi cambia la linea iniziando con hosts:dire

hosts: files resolve dns myhostname

Abilita il servizio e assicurati che funzioni automaticamente:

sudo systemctl enable systemd-resolved.service
sudo systemctl start systemd-resolved.service

NOTA: se non si desidera seguire i passaggi precedenti e si è d'accordo con l'utilizzo del terminale, la perdita DNS si verifica solo quando si utilizza NetworkManager, finora nella mia esperienza non si verifica quando si esegue openvpn dal terminale consudo openvpn --config config.ovpn


Quale sarebbe la linea in config.ovpn che bloccherebbe la perdita? Ne hai un esempio? (La soluzione sopra non ha funzionato per me).
Pobe,

0

Ho provato praticamente tutte le soluzioni che ho trovato online per risolvere il problema di perdita di DNS. Openvpn è iniziato bene ma ha dimostrato che stava perdendo quando sono andato nei siti di prova. Dopo che non ho provato gioia a provare tutti i rimedi, sono andato nelle mie impostazioni wifi ed ethernet e ho usato i server DNS di openvpn invece dei miei ISP e da allora tutto è andato bene. Sono sicuro che hai visto gli indirizzi IP dappertutto ma eccoli qui: 208.67.222.222 e 208.67.220.220.


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.