Saya menggunakan MacBook dengan Mac OS X 10.8.2 dan terhubung ke jaringan perusahaan saya melalui VPN. Semuanya berfungsi baik saat membuat koneksi VPN melalui LAN atau WLAN. Namun, ketika saya menggunakan koneksi dial-up (Huawei HSDPA USB Stick) nama host tidak diselesaikan dengan benar dalam aplikasi (misalnya Web-Browser). Alat baris perintah seperti host name
akan dengan benar menyelesaikan alamat IP, ping name
tidak akan menyelesaikan.
Menggunakan scutil --dns
I membuang konfigurasi DNS saat menghubungkan melalui WLAN vs dial-up. Ada perbedaan penting dalam urutan pencarian:
connecting using WLAN:
resolver #1
nameserver[0] : 192.168.80.10
nameserver[1] : 192.168.80.24
if_index : 6 (ppp0)
reach : Reachable,Transient Connection
order : 100000
resolver #2
nameserver[0] : 192.168.80.10
nameserver[1] : 192.168.80.24
if_index : 6 (ppp0)
reach : Reachable,Transient Connection
order : 200000
resolver #3
domain : local
options : mdns
timeout : 5
order : 300000
resolver #4
domain : 254.169.in-addr.arpa
options : mdns
timeout : 5
order : 300200
resolver #5
domain : 8.e.f.ip6.arpa
options : mdns
timeout : 5
order : 300400
resolver #6
domain : 9.e.f.ip6.arpa
options : mdns
timeout : 5
order : 300600
resolver #7
domain : a.e.f.ip6.arpa
options : mdns
timeout : 5
order : 300800
resolver #8
domain : b.e.f.ip6.arpa
options : mdns
timeout : 5
order : 301000
DNS configuration (for scoped queries)
resolver #1
nameserver[0] : 192.168.1.1
if_index : 4 (en0)
flags : Scoped
reach : Reachable,Directly Reachable Address
resolver #2
nameserver[0] : 192.168.80.10
nameserver[1] : 192.168.80.24
if_index : 6 (ppp0)
flags : Scoped
reach : Reachable,Transient Connection
Koneksi ppp0 adalah koneksi VPN. Seperti yang Anda lihat, dua server terhubung dan mereka menjawab dengan benar pada baris perintah dan dalam aplikasi.
Connecting via UMTS:
resolver #1
nameserver[0] : 139.7.30.126
nameserver[1] : 139.7.30.125
if_index : 6 (ppp0)
reach : Reachable,Transient Connection
order : 100000
resolver #2
nameserver[0] : 192.168.80.10
nameserver[1] : 192.168.80.24
if_index : 7 (ppp1)
reach : Reachable,Transient Connection
order : 100000
resolver #3
nameserver[0] : 192.168.80.10
nameserver[1] : 192.168.80.24
if_index : 7 (ppp1)
reach : Reachable,Transient Connection
order : 200000
resolver #4
domain : local
options : mdns
timeout : 5
order : 300000
resolver #5
domain : 254.169.in-addr.arpa
options : mdns
timeout : 5
order : 300200
resolver #6
domain : 8.e.f.ip6.arpa
options : mdns
timeout : 5
order : 300400
resolver #7
domain : 9.e.f.ip6.arpa
options : mdns
timeout : 5
order : 300600
resolver #8
domain : a.e.f.ip6.arpa
options : mdns
timeout : 5
order : 300800
resolver #9
domain : b.e.f.ip6.arpa
options : mdns
timeout : 5
order : 301000
DNS configuration (for scoped queries)
resolver #1
nameserver[0] : 192.168.80.10
nameserver[1] : 192.168.80.24
if_index : 7 (ppp1)
flags : Scoped
reach : Reachable,Transient Connection
resolver #2
nameserver[0] : 139.7.30.126
nameserver[1] : 139.7.30.125
if_index : 6 (ppp0)
flags : Scoped
reach : Reachable,Transient Connection
Kali ini, ppp1 adalah koneksi VPN dan ppp0 adalah koneksi UMTS. Dari waktu respons dari perintah (menggunakan hostname yang tidak ada foo.bar.local
) saya menyimpulkan bahwa ping
menggunakan rantai resolver pertama, di mana sebagai host
menggunakan konfigurasi permintaan scoped. ping
Dibutuhkan 5 detik untuk mengembalikan "Tuan rumah tidak dikenal", host
segera kembali. Saya menganggap ping berjalan ke timeout 5 detik dari mdns resolver.
Untuk memperbaiki masalah saya dengan pencarian DNS yang rusak ketika melakukan panggilan melalui VPN melalui modem, saya perlu mengubah urutan resolver. Sejauh ini saya belum menemukan cara untuk melakukan ini.
Ada ide yang menyambut.
Saya menemukan solusinya: DNS VPN Anda masih akan diabaikan, dan hanya DNS 3G-dongle yang akan digunakan, tetapi hanya menambahkan DNS VPN Anda ke daftar di bawah antarmuka 3G adalah caranya… Masalah utamanya adalah manajer konektivitas 3G menimpa konfigurasi setiap kali Anda mengklik terhubung, dan Anda memerlukan manajer konektivitas untuk mengaktifkan Radio pada dongle 3G ... jadi saya mencampurkan kedua solusi dalam satu:
Sambungkan ke VPN Anda dan tulis DNS Anda (saya punya 2 di daftar). Anda dapat memeriksanya di Preferensi Jaringan → Lanjutan → tab DNS. Putuskan sambungan VPN. Anda perlu terhubung ke VPN karena DNS ditetapkan secara dinamis saat koneksi ...
Sambungkan ke 3G Anda dan lakukan hal yang sama: tulis DNS di atas kertas. Lalu putuskan sambungan 3G.
Buka Preferensi Jaringan → klik pada antarmuka 3G → Tingkat Lanjut → Tab DNS, dan di bawah tabel DNS (yang biasanya akan kosong karena Anda tidak terhubung) klik '+'. Tambahkan semua server DNS (yang dari 3G dulu dan kemudian tambahkan VPN nanti). Klik OK dan Terapkan.
Mulai sekarang , untuk terhubung ke 3G, cukup colokkan USB Anda dan tunggu hingga Anda memiliki jangkauan 3G (Anda harus membuka manajer konektivitas 3G), tetapi jangan gunakan manajer konektivitas yang disediakan untuk terhubung. Dan jika terhubung secara otomatis, buka preferensi dan hapus centang pada centang itu. Anda perlu bahwa manajer hanya untuk menghidupkan radio di dalam USB Dongle, tidak ada yang lain.
Jika Anda mengklik "terhubung" pada manajer 3G Anda, itu akan menimpa konfigurasi pada antarmuka 3G Anda dan Anda perlu mengulangi langkah 3 lagi.
Buka Jaringan → Preferensi dan klik pada antarmuka 3G. Kemudian klik connect. Ini akan terhubung ke 3G Anda menggunakan server DNS yang dikonfigurasi (bukan diterima secara dinamis), yang mencakup DNS "publik" dan DNS VPN Anda.
Hubungkan ke VPN Anda. Ini akan berfungsi seperti yang diharapkan.
Perlu diketahui bahwa:
Jika DNS VPN Anda berubah, Anda harus mengubahnya secara manual. Ini dapat dengan mudah diperiksa di bawah Jaringan → antarmuka VPN dengan Lanjutan → tab DNS karena DNS VPN Anda masih ditetapkan secara dinamis ke antarmuka (meskipun diabaikan oleh OS X).
Jika perubahan DNS 3G Anda (tidak mungkin) Anda perlu mengubahnya secara manual juga. Jika terjadi kesalahan dan Anda tidak dapat menavigasi Anda harus melalui manajer konektivitas 3G Anda, klik "Sambungkan" dan lihat DNS apa yang ditetapkan secara dinamis ... Itu akan mengharuskan Anda kembali ke langkah 3 dan mengonfigurasi ulang.
sumber
Saya memiliki masalah yang sama untuk waktu yang lama, tetapi sekarang saya punya waktu untuk menemukan solusi yang cocok untuk saya. Saya tidak mengubah urutan server DNS, tapi saya menggunakan server DNS di belakang VPN secara permanen.
Terhubung melalui dial-up.
Hubungkan koneksi VPN dan salin IP server DNS dan domain pencarian dari Koneksi VPN → Lanjutan → DNS.
Putuskan koneksi VPN.
Ping
<name>
atau<hostname>
server VPN Anda dan tulis IP.Putuskan koneksi dial-up.
Gandakan koneksi dial-up (mis. Beri nama "3G untuk VPN").
Masukkan IP dan domain pencarian ke tab DNS dari koneksi dial-up. Mereka akan disimpan dan digunakan secara permanen.
Terhubung melalui koneksi dial-up baru.
Sekarang Anda tidak memiliki akses ke server nama (karena diamankan oleh VPN) - Anda harus mengedit alamat server dari koneksi VPN. Ganti host dengan IP.
Terhubung melalui koneksi VPN dan Anda harus dapat menggunakannya.
Catatan: Secara umum nama host tidak berubah, tetapi IP bisa. Jadi jika itu tidak berhasil suatu hari nanti, lakukan langkah-langkahnya lagi ...
sumber
apa yang Anda katakan memberi saya petunjuk, jadi saya telah menambahkan ip dns dalam koneksi vpn ke daftar dns di koneksi utama (tidak ada yang mewah, hanya menggunakan antarmuka grafis untuk preferensi Jaringan.) Saya tidak yakin jika apa yang Anda berurusan dengan berbeda, tetapi berhasil dengan saya.
sumber
Ini masih terjadi di 10.13.0
Saya telah membuka laporan bug dengan Apple. Tidaklah normal bahwa "ping internalhostname" berfungsi tetapi "host internalhostname" atau "nslookup internalhostname" gagal dengan VPN terowongan terpisah (berbasis Cisco IPSec atau IKEv2).
Juga, seperti yang diperhatikan oleh beberapa orang, koneksi Cisco IPsec serta koneksi IKEv2 tidak dapat diprioritaskan dengan "Tetapkan urutan layanan" tidak seperti L2TP / IPsec yang bisa.
Poin lain yang ingin saya kemukakan adalah bahwa tunnel split Cisco IPSec atau IKEv2 VPN tidak menampilkan server DNS atau Search Domains dalam pengaturan Advanced mereka meskipun informasi ini muncul dengan "scutil --dns". L2TP / IPsec VPN tidak menunjukkan informasi ini dengan baik.
Sesuatu harus diberikan dan Apple perlu memberikan penjelasan / perbaikan.
sumber
scutil --dns
perintah di atas dan tampaknya DNS dari VPN selalu yang terakhir, dan tidak digunakan untuk domain pencarian, bahkan jika sudah diatur dengan benar.Tidak bekerja di Lion / Mountain Lion, karena bug yang menyebabkan Server DNS lokal karena selalu digunakan alih-alih server DNS dari jaringan jarak jauh bahkan ketika Split DNS secara benar diatur di router VPN.
Namun, jika Anda menggunakan router Cisco ASA IPSEC, Anda dapat memaksa Server DNS jarak jauh untuk digunakan setiap kali Anda membuat koneksi VPN:
Jika menggunakan Cisco ASDM, buka Configuration> Network (Client) Access> Kebijakan Grup> (grup vpn Anda untuk OSX / iPhone)> Advanced> Split Tunneling
Ada set: Nama DNS (hapus centang "mewarisi" dan mendefinisikan nama domain dns internal, misalnya myoffice.local) Kirim Semua Pencarian DNS Throug Tunro: Setel ke YA (Ini adalah pengaturan penting)
Simpan dan jangan lupa untuk menyimpannya di flash untuk digunakan di masa depan.
Jika Anda menggunakan baris perintah iOS, setel:
sumber
Anda dapat memperbaikinya dengan menyesuaikan urutan layanan koneksi jaringan. Pindahkan VPN ke bagian atas daftar dan urutan resolver akan mengikuti.
http://support.apple.com/kb/PH14006
sumber