DD-WRT: statik konaklarla dnsmasq baş ağrıları


6

Yeni Asus RT-AC56U yönlendiricimde dd-wrt (kayıt için r23503) kullanıyorum. Ne yazık ki, dnsmasq konfigürasyonu başağrılarımdan başka hiçbir şey vermiyor. İşte ben ne istemek :

  • LAN / WLAN'daki ana bilgisayarlar için LAN / WLAN'dan gelen DNS sorguları hem kısa adlar hem de FQDN'ler için yanıtlanmalıdır.
  • Bazı cihazlar taşınabilir olduğundan (telefonum gibi), LAN'a bağlandığında LAN IP'sini ve LAN dışından sorgulandığında harici IP'yi çözmek için host.mydyndomain.net'e ihtiyacım var.

Ama şu anda ne alıyorum:

  • DHCP kiralık ana bilgisayarları için sorgular doğru bir şekilde döndürülüyor (dd-wrt'nin dnsmasq için "Yerel DNS" seçeneği).
  • Rasgele olmayan herhangi bir ana makineye yapılan sorgular yanlış bir şekilde harici WAN IP adresini döndürür. Bu nedenle, "nslookup foobarbaz" bir hata dönmesi gerektiğinde sonuç verir.

Statik IP'leri olan hostlarım için henüz yeterli bir çözüm bulamadım. Dnsmasq manpage sayfasını okudum ve söyleyebileceğimden doğru seçim "host-record" seçeneği.

Dd-wrt'deki dnsmasq ile ilgili yapılandırma (Servisler sekmesi altında):
"DHCP Sunucusu" bölümü:
Kullanılan alan: WAN
LAN etki alanı: [boş]
Ek DHCPd Seçenekleri: [boş]
Bir statik kiralama tanımlandı.

"DNSMasq" bölümü:
DNSMasq: etkin
Yerel DNS: etkin
DNS Rebind yok: etkin
Ek DNSMasq Seçenekleri:
host-kayıt = myhost, myhost.mydyndomain.net, 192.168.1.1
[statik LAN IP'leri olan diğer ana bilgisayarlar için birkaç ana bilgisayar kaydı girişi]

Ne yazık ki, bu ana bilgisayar kayıt satırlarını ek seçenekler kutusuna koymak dnsmasq'ı tamamen bozuyor ve LAN / WLAN'a DHCP üzerinden hiçbir şey bağlanamıyor gibi görünüyor. Kutunun içeriğini boşalttıktan sonra DHCP yeniden çalışmaya başladı.

Dnsmasq.conf dosyam aşağıdaki gibidir:

interface=br0
resolv-file=/tmp/resolv.dnsmasq
all-servers
domain=mydyndomain.net
dhcp-leasefile=/tmp/dnsmasq.leases
dhcp-lease-max=51
dhcp-option=lan,3,192.168.1.1
dhcp-authoritative
dhcp-range=lan,192.168.1.100,192.168.1.149,255.255.255.0,1440m
dhcp-host=88:53:2E:9B:3E:80,Redtail,192.168.1.5,1440m
stop-dns-rebind

/Etc/resolv.conf dosyası şudur:

search ph.cox.net
nameserver 192.168.1.1

Ve /tmp/resolv.dnsmasq dosyası:

nameserver 208.67.222.222
nameserver 208.67.220.220
nameserver 68.105.28.13

Daha küçük ama ilgisiz başka bir konu: DHCP yapılandırma bölümündeki dd-wrt'nin "temel kurulum" sayfasında OpenDNS sunucularının IP'lerini girdim (yukarıda gördüğünüz gibi). Tercih ederim sadece bu iki ad sunucusunu kullanın, ancak ad sunucusu otomatik olarak üçüncü ad sunucusu olarak dinlenir. Dd-wrt'ye modem / ISS'den bir DHCP kirası alırken aldığı DNS bilgisini yoksaymasını söylemenin bir yolu var mı?

Peki, ne yapıyorum yanlış? Açıkçası, dnsmasq, ana bilgisayar kayıt girişlerinden memnun değil, fakat doğru seçeneği ne kullanmalı? Bu bilgileri / etc / hosts yerine bu konuma koyacağım, çünkü ikincisi oluşturulan bir dosyadır ve web arayüzü aracılığıyla kolayca değiştirilemez. Tabii ki, SSH ile bağlanarak kolayca düzenleyebilirim, ancak değişikliklerim kalıcı olmayacak.

Yanıtlar:


8

Dns-wrt konusunda dd-wrt ve özellikle bu yorum tarihine yakın bir deneyimim var. Sizinle çalışma çözümümü, her ihtiyacın cevaplarının her biriyle paylaşabilirim. Daha fazla eklemek için direneceğim.

Etkin / tmp / dnsmasq.conf dosyanızdaki her seçenek yukarıda gönderildi açıklandığı gibi seçtiğiniz yapılandırma seçeneklerinden doğrudan gelir

Dışında

senin için hostname = kullanmamanız gereken giriş imo. İstediğiniz

Kullanılan Alan: [WAN/LAN] değil Kullanılan Alan [WAN].

Bu, kablolu (LAN) ve kablosuz (WAN) cihazların ağınızda çalışmasını sağlar.

Ayrıca kısa bir seçim yapın Lan Domain: [dom ] veya bunun dışında herhangi bir kısa kelime yerel . Bazı kullanım lan biraz kullanım localdomain . Bu, gereksinimleriniz için gereklidir ve yalnızca sizin ve dahili kullanıcıların göreceği / kullanacağı, yalnızca sahte bir iç sahte etki alanı sağlayacaktır. Seçtiğiniz değer, her DHCP istemcisine eklenecektir. search dom çözücü. kullanacağım dom Kalan için ama ne istersen yapabilirsin.

İlk iki gereksinimle başlayacağım.

  1. LAN / WLAN'daki ana bilgisayarlar için LAN / WLAN'dan gelen DNS sorguları hem kısa adlar hem de FQDN'ler için yanıtlanmalıdır.

  2. Bazı cihazlar taşınabilir olduğundan (telefonum gibi), LAN'a bağlandığında LAN IP'sini ve LAN dışından sorgulandığında harici IP'yi çözmek için host.mydyndomain.net'e ihtiyacım var.

Farklı bir iç vs harici ip sahip olan ama dd-wrt'nin her iki tarafında aynı adı taşıyan ana bilgisayarlar için:

  • Çözülebilir ana bilgisayar başına bir satır ekleyin. Static Leases hemen altında doğru şekilde boş Additional DHCP Options Metin alanı Dahili adı not edin web.dom ya da sadece web lan üzerinde kolaylık sağlamak içindir.

Not:

 [Static Leases++++++++++++++++++++++++++++++++++++++++++++++++++++++++]    
  [MAC Address]       [Host Name   ][IP Address    ][Client Lease Time]
  [00:19:B9:5B:2B:A5] [web         ][192.168.2.5   ][             1440]

Notlar: Bunun yalnızca udhcpcd ama bu aynı zamanda dnsmasq tarafından da kullanılır ve her iki dnsmasq.conf doğru olarak dhcp-host= hatlar ve Tüm yerel ad çözümlemesini yapmak için DNSMasq tarafından kullanılan her / tmp / hosts dosyasına bir `ip host.dom girişi koyar.

Web arayüzü biraz hantal olduğu gibi bu girişleri oluşturmak için bir komut dosyası ve metin dosyası var. İşte senaryonun kısaca yaptığı şey.

macToHostNames.txt:
# comment lines ignored unless embedded set:tag values like set:kids 
# note the ip is just the HOST portion of the subnet, eg: 192.168.1.32 -> 1.32
# host      id       mac address        cnames/aliases for same box
kidhost1    1.32     00:MA:CA:DD:E5     alias1 nabi2 # in-line comment set:kid 
web         1.5      00:AM:AC:AD:ES     www homeweb  # web server with aliases
EOF
generate_Files_Then_Send_Then_Activate_If_Tests_Are_Ok.sh < macToHostNames.txt
# this script file creates 3 files which are sent along with a test script:
dnsmasq_options.new # nvram set dnsmasq_options="$(cat dnsmasq_options.new)"
static_leases.new   # nvram set static_leases="$(cat static_leases.new)"
static_leasenum.new # nvram set static_leasenum="$(cat static_leasnum.new)"
testDnsMasqOpts.sh  # scp -p *.new test*.sh admin@gw:/tmp && ssh admin@gw "/tmp/test*.sh" 
  • eklemek address=/web.dynip.org/<ip> DNSMasq Seçenekler kutunuzdaki çizgiler address = / web.mydyndomain.net / 192.168.2.5 # bunlara istediğiniz kadar ekleyin

  • Sonunda DDNS harici ISS'nizin haritalanmasında DDNS hizmeti sağlanması web.mydyndomain.net. Sanırım bu bölümü başarıyla yapılandırdınız.

Bu yapılandırma ile yapabilirsin ping web veya ping web.dom veya ping web.mydyndomain.net geri dönücek 192.168.2.5 güvenlik duvarı içindeyken adla dışardan erişim ve erişim web.mydyndomain.org hala çalışıyor.

Diğer gereksinimler diğer konfigürasyonunuz tarafından yerine getirilir, ancak bu satırları MANY sürelerini test ettiğimden güvenle ekleyebilirsiniz (bir kerede bir dnsmasq satırı yürütmek ve ALL dns günlüğü kaldığından beri beni rahatsız eden satırı göstermek için bir komut dosyası yazma noktasına En son dnsmasq derlememdeki boş alan ve güvenebileceğiniz tek şey dnsmasq'ın geri dönüş durumu: $?).

Son taleplerinizde size config yorumlarımın satırlarını göstereceğim (DNSMasq Ek Seçenekler kutusuna yorum yazabileceğinizi unutmayın).

  1. DHCP kiralık ana bilgisayarları için sorgular doğru bir şekilde döndürülüyor (dd-wrt'nin dnsmasq için "Yerel DNS" seçeneği).
  2. Rasgele olmayan herhangi bir ana makineye yapılan sorgular yanlış bir şekilde harici WAN IP adresini döndürür. Bu nedenle, "nslookup foobarbaz" bir hata dönmesi gerektiğinde sonuç verir.
  domain-needed    # dont fwd to ext DNS names with no domain
  address=/web.mydnsdomain.org/192.168.2.5 # resolve to this internally!
  expand-hosts     # add .dom to host names without a domain 
  local=/dom/      # map all host.dom request to *this* dns
  bogus-priv       # reject local lookups not in hosts
  localise-queries # for local servers

Şüpheli olmayan, değer vermeyen bazı freebies'ler (ve site dışı yedekleme için) fırlatacağım.

 no-ping          # some swear by this one to get DNSMasq to work!
 filterwin2k      # junk from MSFT boxen (remove this if ldap SRV used)
 cache-size=3000  # fast local DNS lookups 
 clear-on-reload  # clear ifr.c changes and sig received 

Dhcp options = 6 ile yapabileceğiniz DNS sunucusu sayısını aşağıdaki gibi sınırlandırmak için:

dhcp-options = lan, 6,8.8.8.8 # bu, tüm ana bilgisayarlar için yalnızca bir ad sunucusu girişi gönderir


1
Bunun esasen doğru olduğuna eminim, ancak kesinlikle WAN'ın "Geniş Alan Ağı" (yani yönlendiricinin İNTERNET tarafı) olduğundan, Kablosuz ile bir ilgisi yok.
Auspex

İyi yazılmış cevap @Rent, +1
Marecky
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.