OS X'te DHCP tarafından atanan DNS sunucularını geçersiz kılmak, ancak yine de yedek için tutmak mümkün müdür?


9

Varsayılan olarak, Google genel DNS sunucularını kullanmak ve bunlar başarısız olduğunda intranet sunucularına geri dönmek istiyorum.

Mümkün mü? ... dizüstü bilgisayarımı başka hiçbir ağa taşıdığımda kırılmayacak bir kurulum arıyorum.

Bu wifi ağ bağlantısına özgü bir çözüm bulursam kabul edilebilir olurdu (sadece bu durumda hile yapmak ve diğerleri için varsayılanları kullanmak için).


"Google genel DNS sunucuları başarısız olduğunda" ne anlama gelir? Ağ konumlarını değiştirmenin ve / veya farklı DNS girişlerinin komut dosyasını yazmanın birçok yolu vardır, ancak google DNS'nin hatasını nasıl test edeceğiniz açık değildir. Daha da kötüsü, VPN ile ilgili aşağıdaki yorum, bunları gereksinimlerinize eklerseniz daha da karmaşıklaşacaktır.
bmike

Bunun mümkün olmadığına şaşırdım. Bazen DHCP aracılığıyla sağlanan DNS sunucularım başarısız oluyor, bu yüzden Google'ı kullanıyorum. Ancak, şimdi esir bir portal uygulamak için DNS kullanan herhangi bir ağ kullanamıyorum. DHCP sunucularını yedek olarak temin edebilirsem bunu çözerdim. bir çözüm buldun mu?
Jake

Yanıtlar:


4

ipconfig getpacketDHCP'nin önerdiği DNS sunucusunu bulmak için kullanabilirsiniz :

$ ipconfig getpacket en0 
...
domain_name_server (ip_mult): {192.168.3.2, 192.168.42.1}
...

Yani, Wi-Fiadaptörü ve cihazını kullandığınızı varsayarsak en0, şunları yapabilirsiniz:

#!/bin/bash

default_servers=$( ipconfig getpacket en0 | \
   perl -ne'/domain_name_server.*: \{(.*)}/ && print join " ", split /,\s*/, $1' )
networksetup -setdnsservers Wi-Fi 127.0.0.1 $default_servers

2

Evet, listenin en üstüne Google DNS sunucularını ekleyebilir ve kendi (intranet sunucuları) sunucuları takip edebilirsiniz.

  • Gidin Sistem Tercihleri> Ağ
  • Soldaki listeden ağ arayüzünüzü seçin
  • Sağ taraftaki Gelişmiş düğmesini tıklayın
  • Gelen DNS diyalog sekmesi, eklemek veya "+" click "-" girdileri kaldırmak için (yapabilirsiniz adrese çift tıklayarak veya seçimi ve tıklayarak da düzenleme kayıt)
  • Google DNS adreslerini ilk iki giriş olarak ekleyin
  • İntranet DNS sunucularınızı bu sunucuların altına ekleyin
  • tıklayın Tamam
  • Uygula'yı tıklayın
  • Sistem Tercihlerini Kapat

1
Bunu biliyorum, ama sorun şu ki, bu, aynı VPN'yi başka bir yerden kullanmamı imkansız kılıyor. Başka bir çözüm, belki VPN sunucusunda (PPTP) yapılandırılacak veya 127.0.0.1 adresli bir DNS yapılandırılacak ve DHCP tarafından sağlanan DNS sunucularını hala kullanan yerel bir DNS yapılandırılacak bir şey olmalıdır.
sorin

1

Ayrıca, bunu bir toplu işte yapmanın bir yolunu arayan bir ağ yöneticisiyseniz, bunu komut satırından yapmanın bir yolu vardır:

networksetup listallnetworkservices
# look for the correct network device here, probably "Wi-Fi"
sudo networksetup -setdnsservers Wi-Fi 8.8.8.8 8.8.4.4

"Wi-Fi" yi doğru ağ cihazıyla değiştirin. Bunun yerine şunları kullanmak isteyebilirsiniz:

device=`networksetup listallnetworkservices | grep Wi-Fi`
sudo networksetup -setdnsservers "$device" 8.8.8.8 8.8.4.4

1

Ben de aynısını yapmaya çalışıyorum. El ile yerel olarak bir önbellek dns sunucusu çalıştıracak ve ben katılmak gibi intranet öğrenmek zorunda kalacağım.

Dns sunucusunun özyinelemeli arama yapmadan önce intranet ve internet ana bilgisayar adları arasında bile ayrım yapabileceğinden heyecan duyuyorum .

Kısa TTL'lere ihtiyacım olacağından veya kancalar yazmam gerektiğinden endişeliyim, böylece her arabirim değiştiğinde dns önbelleğini veya benzerlerini temizlemeyi düşünürüm.

Başarılı olursa rapor vereceğim ...

İlk% 50

DNS sunucularının Wikipedia karşılaştırmasına baktıktan sonra , Dnsmasq listemin başına geliyor.

Görünüşe göre brewbir forumla var dnsmasqve hatta bazı servicesalt arayüzler için yazılmış brew... harika, düşünmek için daha az, sadece yapılandırmayı çalışmak zorunda.

$ brew install dnsmasq  # [libidn] internation domain names
$ cp /usr/local/opt/dnsmasq/dnsmasq.conf.example /usr/local/etc/dnsmasq.conf
# To have launchd start dnsmasq now and restart at startup:
$ sudo brew services start dnsmasq 

( brewayrıca vardır bind, ancak minimum durum da beni çekici - ağ yapılandırması yaparken temizlemek zorunda değilsiniz).

Yapmak

  • Tercihleri'ni yeni dns'imi kullanacak şekilde yapılandırmayı ve
  • dnsmasqİntranet ayarlarını kullanabilmesini sağlamak için yapılandırın . (asıl zorluk)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.