Bagaimana cara menentukan server DNS di openvpn?


17

Saya menyiapkan server openvpn dengan kunci statis (mode sertifikat tidak dapat digunakan karena DPI di gateway nasional), tetapi saya tidak dapat berhasil mengubah DNS secara otomatis setelah koneksi. Saya mencari di Internet dan SE, dan setiap orang menyarankan penggunaannya dhcp-option.

Saya mencoba menambahkan baris ini ke client.ovpn

dhcp-option DNS 8.8.8.8

Tidak ada efek. Saya mencoba menambahkan baris ini di server conf

push "dhcp-option DNS 8.8.8.8"

Tidak ada efek apa pun.

Bahkan, menurut manual,

--dhcp-option type [parm]

Setel properti TCP / IP TAP-Win32 yang diperluas, harus digunakan dengan --ip-win32 dynamic atau --ip-win32 adaptif.

Tetapi klien saya adalah mesin Mac, server Linux. Ada solusi untuk masalah ini?


1
Anda harus menyebutkan klien apa yang Anda gunakan pada mesin OSX.
FloHimself

2
@ FloHself: Utilitas baris perintah standar openvpn.
Siyuan Ren

Jawaban:


7

Pada sistem Linux, Anda perlu menjalankan skrip eksternal .

Berikut dokumentasinya: https://wiki.archlinux.org/index.php/OpenVPN#DNS

Skrip ditemukan di sini atau versi Linux yang lebih baru di sini dan Anda dapat memanggilnya dengan menambahkan ini pada konfigurasi klien openvpn:

script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf

1
Jika rasa Linux Anda menggunakan NetworkManager, lihat perubahan untuk bekerja dengannyanmcli .
palswim

5

Saya bukan ahli, tetapi dari membaca manhalaman di bawah ini kutipan Anda:

--dhcp-option type [parm]

...

Perhatikan bahwa jika --dhcp-option didorong melalui --push ke klien non-windows , opsi akan disimpan di lingkungan klien sebelum skrip dipanggil, dengan nama "foreign_option_ {n}".

dan di bawah foreign_option_ {n} :

foreign_option_ {n}

Opsi yang didorong melalui --push ke klien yang tidak mendukungnya secara native, seperti --dhcp-option pada sistem non-Windows , akan direkam ke urutan variabel lingkungan ini sebelum eksekusi skrip - up .

Jadi openvpnklien baris perintah tidak secara otomatis mengubah pengaturan DNS pada mesin OSX Anda setelah membuat koneksi. Tetapi karena opsi DNS disimpan ke lingkungan klien, Anda dapat menentukan skrip untuk menambahkan server yang didorong ke konfigurasi DNS sistem saat ini dengan --upopsi:

--up cmd

Jalankan perintah cmd setelah perangkat TUN / TAP berhasil terbuka (perubahan pra-pengguna UID).

cmd terdiri dari path ke skrip (atau program yang dapat dieksekusi), opsional diikuti oleh argumen. Path dan argumen dapat dikutip secara tunggal atau ganda dan / atau melarikan diri menggunakan backslash, dan harus dipisahkan oleh satu ruang atau lebih.

Misalnya Tunnelblick juga melakukan ini dengan menggunakan skrip ini .

Solusi lain mungkin skrip yang diposting ke mailing list openvpn di DNS untuk klien OS X - Panduan Definitif .


Bagaimana dengan iPhone? Tanpa jailbreaking, saya membayangkan tidak ada bash atau perintah untuk mengubah DNS secara otomatis.
Siyuan Ren

@ SiyuanRen Tanpa jailbraking, Anda mungkin tidak menggunakan klien openvpn baris perintah pada iPhone ...
FloHimself

Aplikasi openvpn resmi hanya memuat file konfigurasi teks dan menjalankannya. Tidak ada lagi fungsionalitas.
Siyuan Ren

@ SiyuanRen Nah, aplikasi openvpn resmi bukan aplikasi baris perintah yang dibahas di sini.
FloHimself

Ini terasa seperti retasan. Ketika saya terhubung dengan PPTP atau L2TP, ada antarmuka khusus yang tersedia di preferensi Jaringan, dengan hanya IP dan DNS mereka. OpenVPN mengharuskan saya untuk mengubah pengaturan DNS dari antarmuka lain ?
Siyuan Ren

4

Saya memiliki masalah yang sama dengan OS Linux (server dan klien), dan saya menyelesaikannya dengan menginstal dnsmasq di server yang hilang

jadi langkah saya:

apt-get install dnsmasq

di server.conf

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

Dan saya bisa menghubungkan dan menelusuri domain melalui IP server, menghubungkan dengan NetWorkManager dengan DNS yang diatur ke otomatis


-1

Tambahkan perintah ini ke file conf sisi klien Anda ..

# put actual dns name here
dhcp-option DNS 10.11.12.13 

Ini pasti akan berhasil ..

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.