AŞAĞIDAKİ GÜNCELLEMEYİ GÖR!
Ayrıca yerel makinemde Dnsmasq kullanmaktan zevk alıyorum ve bu problemi de yaşadım. İşte çözüm:
Gönderen 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/
varsayılan olarak mevcut değildir; kendiniz yaratmalısınız.
Ayrıca man sayfasından:
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.
Bu nedenle, üst düzey etki alanı için tüm dns sorgularının dev
yerel ad sunucusuna yönlendirilmesini isterseniz, şunları yaparsınız:
# mkdir /etc/resolver
# echo 'nameserver 127.0.0.1' > /etc/resolver/dev
configd
içindeki dosyaları değiştirmez /etc/resolver/
, bu nedenle bu ayar ağ değişiklikleri ve yeniden başlatmalarla devam eder.
GÜNCELLEŞTİRME 17 Temmuz 2012
Ne yazık ki, OS X Lion'dan itibaren, scutil
--dns
hiçbir arabirim etkin olmadığında üst çözücü (ile gösterildiği gibi ) kaybolur:
# 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
Çözümleyici # 1'in boş olduğuna, ancak / etc / çözümleyici türetilmiş ad sunucusu girişinin kaldığına dikkat edin.
Çözümleyici etki alanını doğrudan / etc / resolver / dosyasında belirtebildiğiniz için, özel Internet kök etki alanının belirtilmesi .
aşağıdaki gibi bir genel çözümleyici girişinin oluşturulmasına neden olduğu ortaya çıkar:
resolver #8
nameserver[0] : 127.0.0.1
Artık tüm DNS sorguları çevrimdışı olsa bile localhost'a yönlendiriliyor.
Tabii ki, yine de dnsmasq'ın --address seçeneği gibi bir şey kullanarak seçtiğiniz alan adlarını 127.0.0.1 olarak çözmeniz gerekecektir:
# dnsmasq --address=/dev/127.0.0.1
Özetle:
- Tüm ağ arabirimi dns sunucularınızı 127.0.0.1 olarak ayarlayın:
networketup -setdnsservers Ethernet 127.0.0.1
networketup -setdnsservers Kablosuz ağ 127.0.0.1
...
- / Etc / resolver / dosyasını oluşturun:
ad sunucusu 127.0.0.1
alan adı .
- Yerel bir DNS sunucusu kurun ve mutlu olun.
bakınız http://opensource.apple.com/source/configd/configd-395.11/dnsinfo/dnsinfo_flatfile.c