Impostazione dei server DNS utilizzando il file di configurazione del client OpenVPN


16

Come posso impostare i server DNS sul client usando solo la configurazione del client. Il mio client è un computer Windows e voglio cambiare i server DNS quando il client si connette e ripristinare la configurazione originale quando mi disconnetto dalla VPN.

Tutte le informazioni che ho trovato finora si riferiscono al trasferimento della configurazione DNS al client utilizzando la configurazione del server, ma in questo caso non riesco a modificare la configurazione del server e attualmente lo sto facendo manualmente ogni volta che mi collego alla VPN. Un'opzione di configurazione openvpn per impostare i server DNS dei computer locali per la durata della connessione sarebbe ottima.

Risposte:


3

È possibile utilizzare lo script batch per fare questo, qualcosa di simile al seguente. Presuppone che i server DNS di casa siano 1.1.1.1 e 2.2.2.2 e i server DNS VPN siano 8.8.8.8 9.9.9.9:

vpn-connect.bat:

netsh interface ip set dns "Local Area Connection" static 8.8.8.8

netsh interface ip add dns "Local Area Connection" 9.9.9.9

vpn-disconnect.bat

netsh interface ip set dns "Local Area Connection" static 1.1.1.1

netsh interface ip add dns "Local Area Connection" 2.2.2.2

Stavo per includere in questi script metodi di connessione e disconnessione, tuttavia non vedo un'opzione in OpenVPN per disconnettersi dalla riga di comando. Se desideri automatizzare la connessione, dovrebbe funzionare:

C:\Program Files\bin\openvpn.exe C:\Program Files\conf\client.ovpn


15

È possibile aggiungere quanto segue al file di configurazione del client.

dhcp-option DNS <dns_server_ip_address>

Sul lato server sarebbe stato:

push "dhcp-option DNS <dns_server_ip_address>"

Sembra che stia usando dhcp-optionsu entrambi i lati. Puoi fare lo stesso con route.


4
Questo non ha funzionato per me, anche se sembra che dovrebbe. L'opzione non era nel client.ovpn generato. Quando lo aggiungo, non funziona ancora. In esecuzione da un Asus RT-N66U con firmware di serie 3.0.0.4.376_3861
Shea,

2
Ho aggiunto questo al mio file .ovpn appena prima del tag <ca> e ha funzionato magnificamente! Grazie! Ho provato questo sul mio computer Windows con OpenVPN 2.4.4 Windows versione 6.2
Michael Kargl

6

Apparentemente c'è un problema con un ordine di associazione difettoso in Windows, almeno incluso Windows 2000 / XP / 7. Ciò farà sì che i client OpenVPN di Windows utilizzino le impostazioni DNS della scheda di rete predefinita anziché le impostazioni della scheda VPN.

Per risolvere questo problema, è necessario posizionare il dispositivo TUN o TAP VPN sopra la scheda di rete locale nell'ordine di bind:

  1. Identifica il tuo dispositivo VPN guardando l'output da ipconfig. Per me questo era "Local Area Connection 2". Ricorda il tuo indirizzo IP per questo adattatore.
  2. Apri regedit.exe e trova la chiave in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfacescorrispondenza dell'indirizzo IP dell'adattatore VPN. Ricorda il GUID per questo adattatore.
  3. Vai a HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Linkagee fai doppio clic su Bind. Questo conterrà un elenco di GUID per gli adattatori. Taglia e incolla la linea corrispondente al GUID del tuo dispositivo VPN in cima all'elenco e salva l'elenco.

Questo farà sì che vengano utilizzate le voci DNS per il tuo dispositivo VPN (e solo mentre la connessione VPN è attiva). Puoi impostarli in base alla risposta di @brunoqc. Mentre ci sei, dovresti probabilmente aggiungere anche l'opzione openvpn block-outside-dns, per assicurarti che le query DNS non perdano.

Questa risposta si basa su questo post di blog molto utile .


Ha funzionato abbastanza bene! Grazie signore per aver scritto questa guida
SeriousM,

3

Oltre a uno dei due seguenti:

dhcp-option DNS <dns_server_ip_address>          (add to client config)

o

push "dhcp-option DNS <dns_server_ip_address>"   (add to server config)

Aggiungili anche alla configurazione del client, per forzare Windows a utilizzare il DNS configurato:

register-dns
block-outside-dns

Il 1o costringe Windows a preferire il server DNS configurato rispetto a qualsiasi altro potrebbe aver ricevuto dal DHCP. Il secondo impedisce la perdita di DNS su qualsiasi server DNS diverso da quello configurato.

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.