LIHAT PEMBARUAN DI BAWAH INI!
Saya juga menikmati menggunakan Dnsmasq di komputer lokal saya, dan saya juga mengalami masalah ini. Ini solusinya:
Dari man 5 resolver
:
The configuration for a particular client may be read from a file
having the format described in this man page. These are at present
located by the system in the /etc/resolv.conf file and in the files
found in the /etc/resolver directory.
/etc/resolver/
tidak ada secara default; Anda harus membuatnya sendiri.
Juga dari halaman manual:
domain
Domain name associated with this resolver configuration. This
option is normally not required by the Mac OS X DNS search system
when the resolver configuration is read from a file in the
/etc/resolver directory. In that case the file name is used as the
domain name.
Jadi, jika Anda ingin semua kueri dns untuk domain tingkat atas dev
untuk dialihkan ke server nama lokal, Anda akan:
# mkdir /etc/resolver
# echo 'nameserver 127.0.0.1' > /etc/resolver/dev
configd
tidak mengubah file /etc/resolver/
, jadi pengaturan ini akan bertahan melalui perubahan jaringan dan reboot.
PEMBARUAN 17 Juli 2012
Sayangnya, pada OS X Lion, resolver atas (seperti yang ditunjukkan oleh scutil
--dns
) menghilang ketika tidak ada antarmuka yang aktif:
# scutil --dns # Online
DNS configuration
resolver #1
nameserver[0] : 127.0.0.1
...
resolver #8
domain : dev
nameserver[0] : 127.0.0.1
# scutil --dns # Offline
DNS configuration
resolver #1
...
resolver #8
domain : dev
nameserver[0] : 127.0.0.1
Perhatikan bahwa resolver # 1 kosong, tetapi entri nameserver turunan / etc / resolver tetap ada.
Ternyata karena Anda dapat menentukan domain resolver langsung di file / etc / resolver /, menentukan domain root Internet khusus .
menyebabkan penciptaan entri resolver global yang terlihat seperti:
resolver #8
nameserver[0] : 127.0.0.1
Sekarang semua permintaan DNS dirutekan ke localhost, bahkan ketika offline.
Tentu saja, Anda masih harus menyelesaikan domain yang Anda pilih sebagai 127.0.0.1 menggunakan sesuatu seperti opsi - alamat dnsmasq's:
# dnsmasq --address=/dev/127.0.0.1
Singkatnya:
- Tetapkan semua server antarmuka jaringan Anda ke 127.0.0.1:
networksetup -setdnsservers Ethernet 127.0.0.1
networksetup -setdnsservers Wi-Fi 127.0.0.1
...
- Buat file / etc / resolver / apa pun:
nameserver 127.0.0.1
domain.
- Siapkan server DNS lokal dan berbahagialah.
lih. http://opensource.apple.com/source/configd/configd-395.11/dnsinfo/dnsinfo_flatfile.c