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?

Siyuan Ren
sumber
1
Anda harus menyebutkan klien apa yang Anda gunakan pada mesin OSX.
FloHimself
2
@ FloHself: Utilitas baris perintah standar openvpn.
Siyuan Ren

Jawaban:

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 .

FloHimself
sumber
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

Maddish
sumber
-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 ..

Vinood NK Maheshwari
sumber