Come definire il server DNS in openvpn?


17

Ho installato un server openvpn con chiave statica (la modalità certificato non è utilizzabile a causa del DPI sul gateway nazionale), ma non riesco a cambiare automaticamente il DNS automaticamente dopo la connessione. Ho cercato su Internet e SE, e ognuno suggerisce l'uso dhcp-option.

Ho provato ad aggiungere questa linea a client.ovpn

dhcp-option DNS 8.8.8.8

Non ci sono effetti Ho provato ad aggiungere questa linea nel server conf

push "dhcp-option DNS 8.8.8.8"

Né ha alcun effetto.

Infatti, secondo il manuale,

--dhcp-option type [parm]

Impostare le proprietà TCP / IP TAP-Win32 estese, deve essere utilizzato con --ip-win32 dinamico o --ip-win32 adattivo.

Ma il mio client è un computer Mac, un server Linux. Qualche soluzione al problema?


1
Dovresti menzionare quale client stai usando sulla macchina OSX.
FloHimself

2
@FloHimself: l'utilità della riga di comando standard openvpn.
Siyuan Ren,

Risposte:



5

Non sono un esperto, ma leggendo la manpagina sotto la tua citazione:

--dhcp-option type [parm]

...

Notare che se --dhcp-option viene inviato tramite --push a un client non Windows , l'opzione verrà salvata nell'ambiente del client prima che venga richiamato lo script up, con il nome "foreign_option_ {n}".

e in foreign_option_ {n} :

foreign_option_ {n}

Un'opzione inviata tramite --push a un client che non lo supporta nativamente, come l' opzione -dhcp su un sistema non Windows , verrà registrata in questa sequenza di variabili ambientali prima dell'esecuzione dello script --up .

Pertanto, il openvpnclient della riga di comando non modifica automaticamente l'impostazione DNS sul computer OSX dopo aver stabilito la connessione. Ma poiché le opzioni DNS vengono salvate nell'ambiente del client, è possibile specificare uno script per aggiungere i server push all'attuale configurazione DNS del sistema con l' --upopzione:

--up cmd

Eseguire il comando cmd dopo aver aperto correttamente il dispositivo TUN / TAP (modifica UID preutente).

cmd è costituito da un percorso per lo script (o programma eseguibile), facoltativamente seguito da argomenti. Il percorso e gli argomenti possono essere tra virgolette singole o doppie e / o escape mediante una barra rovesciata e devono essere separati da uno o più spazi.

Ad esempio Tunnelblick lo fa anche usando questo script .

Un'altra soluzione potrebbe essere uno script che è stato pubblicato nella mailing list di openvpn su DNS per client OS X: la Guida definitiva .


E l'iPhone? Senza il jailbreak, immagino che non ci sia bash o alcun comando per cambiare automaticamente il DNS.
Siyuan Ren,

@SiyuanRen Senza jailbraking probabilmente non usi il client openvpn della riga di comando su un iPhone ...
FloHimself

L'app openvpn ufficiale carica semplicemente un file di configurazione di testo e lo esegue. Non ci sono più funzionalità.
Siyuan Ren,

@SiyuanRen Bene, l'app openvpn ufficiale non è l'applicazione da riga di comando discussa qui.
FloHimself

Sembra un trucco. Quando mi collego con PPTP o L2TP, c'è un'interfaccia dedicata disponibile nelle preferenze Rete, con i loro solo IP e DNS. OpenVPN mi richiede di modificare le impostazioni DNS di altre interfacce?
Siyuan Ren,

4

Ho avuto lo stesso problema con entrambi i sistemi operativi Linux (server e client) e ho risolto l'installazione di dnsmasq sul server mancante

quindi i miei passi:

apt-get install dnsmasq

in server.conf

push "redirect-gateway def1" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4"

E potrei connettermi e sfogliare i domini attraverso l'IP del server, connettendomi con NetWorkManager con i set DNS su automatico


-1

Aggiungi questo comando al tuo file conf lato client.

# put actual dns name here
dhcp-option DNS 10.11.12.13 

Funzionerà sicuramente ..

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.