Mengatur server DNS menggunakan file konfigurasi klien OpenVPN

16

Bagaimana saya bisa mengatur server DNS pada klien hanya menggunakan konfigurasi klien. Klien saya adalah mesin windows dan saya ingin mengubah server DNS ketika klien menghubungkan dan kembali ke konfigurasi asli ketika saya memutuskan sambungan dari VPN.

Semua informasi yang saya temukan sejauh ini mengacu pada mendorong konfigurasi DNS ke klien menggunakan konfigurasi server, tetapi dalam hal ini saya tidak dapat mengubah konfigurasi server dan saat ini saya melakukannya secara manual setiap kali saya terhubung ke VPN. Opsi konfigurasi openvpn untuk mengatur server DNS mesin lokal selama koneksi akan bagus.

Fahad Yousuf
sumber

Jawaban:

3

Anda dapat menggunakan skrip batch untuk melakukan ini, sesuatu seperti yang berikut ini. Diasumsikan bahwa server DNS rumah Anda adalah 1.1.1.1 dan 2.2.2.2 dan server DNS VPN Anda adalah 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

Saya akan memasukkan metode skrip untuk menghubungkan dan memutuskan sambungan, namun saya tidak melihat opsi di OpenVPN untuk memutuskan sambungan melalui baris perintah. Jika Anda ingin mengotomatiskan koneksi, ini akan berfungsi:

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

Andrew White
sumber
15

Anda dapat menambahkan berikut ini ke file konfigurasi klien.

dhcp-option DNS <dns_server_ip_address>

Di sisi server seharusnya:

push "dhcp-option DNS <dns_server_ip_address>"

Tampaknya menggunakan dhcp-optiondi kedua sisi. Anda dapat melakukan hal yang sama dengannya route.

brunoqc
sumber
4
Ini tidak bekerja untuk saya meskipun sepertinya memang begitu. Opsi tidak ada di client.ovpn yang dihasilkan. Ketika saya menambahkannya, itu masih tidak berfungsi. Berjalan dari Asus RT-N66U dengan firmware bawaan 3.0.0.4.376_3861
Shea
2
Saya menambahkan ini ke file .ovpn saya tepat sebelum tag <ca> dan berfungsi dengan baik! Terima kasih! Saya menguji ini pada mesin windows saya dengan OpenVPN 2.4.4 Windows versi 6.2
Michael Kargl
6

Tampaknya ada masalah dengan urutan pengikatan yang salah di Windows, setidaknya termasuk Windows 2000 / XP / 7. Ini akan menyebabkan klien Windows OpenVPN menggunakan pengaturan DNS adapter jaringan default daripada pengaturan adapter VPN.

Untuk memperbaikinya, Anda harus menempatkan perangkat TUN atau TAP VPN Anda di atas adaptor jaringan lokal dalam urutan bind:

  1. Identifikasi perangkat VPN Anda dengan melihat output dari ipconfig. Bagi saya ini adalah "Local Area Connection 2". Ingat alamat IP Anda untuk adaptor ini.
  2. Buka regedit.exe dan temukan kunci HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfacesyang cocok dengan alamat IP adaptor VPN Anda. Ingat GUID untuk adaptor ini.
  3. Pergi ke HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Linkagedan klik dua kali Bind. Ini akan berisi daftar GUID untuk adaptor. Potong dan tempel baris yang sesuai dengan GUID perangkat VPN Anda ke bagian atas daftar dan simpan daftar.

Ini akan menyebabkan entri DNS untuk perangkat VPN Anda digunakan (dan hanya saat koneksi VPN aktif). Anda dapat mengaturnya sesuai dengan jawaban oleh @brunoqc. Saat Anda melakukannya, Anda mungkin juga harus menambahkan opsi openvpn block-outside-dns, untuk memastikan bahwa permintaan DNS tidak bocor.

Jawaban ini didasarkan pada posting blog yang sangat berguna ini .

jtbr
sumber
Itu bekerja dengan cukup baik! Terima kasih, Sir, karena telah menulis panduan ini
SeriousM
3

Selain salah satu dari dua di bawah ini:

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

atau

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

Tambahkan ini ke konfigurasi klien juga, untuk memaksa Windows menggunakan DNS yang dikonfigurasi:

register-dns
block-outside-dns

1st memaksa Windows untuk lebih memilih server DNS yang dikonfigurasi daripada yang lain yang mungkin telah diterima dari DHCP. Yang ke-2 mencegah kebocoran DNS ke server DNS selain yang sudah dikonfigurasi.

Duke Nukem
sumber