Dnsmasq ile OpenWRT tabanlı ağ geçidi ve bağlamalı dahili sunucu


3

Dnsmasq 2.59 olan OpenWRT'yi temel alan yönlendiricim var. Yerel ağımın içinde bir NS sunucu bağlantım var. Bu sunucu birkaç etki alanım için iç ve dış görünümlere sahip. Yönlendiricim, 53 numaralı TCP ve UDP bağlantı noktasını dış IP'den (yönlendirici WAN) bu sunucuya iletir. Dış müşteriler için her şey iyi çalışıyor.

İç görünümü düzenlemek için istisnaları eklemeye karar verdim.

/etc/dnsmasq.conf

server=/mydomain1.com/192.168.1.1
server=/mydomain2.com/192.168.1.1
server=/mydomain3.com/192.168.1.1

(192.168.1.1 - NS sunucusunun IP adresi)

Dnsmasq manstrong metne göre:

More specific domains take precendence over less specific domains, so: --server=/google.com/1.2.3.4 --server=/www.google.com/2.3.4.5 will send queries for *.google.com to 1.2.3.4, except *www.google.com, which will go to 2.3.4.5

bu alan adının tüm alt alan adlarıyla birlikte NS sunucuma iletilmesi gerekiyor.

A kaydı hariç her şey çalışıyor (SOA, NS, MX, CNAME, TXT, SRV vb.):

# nslookup -type=a mydomain1.com

Server:         192.168.1.100
Address:        192.168.1.100#53

*** Can't find mydomain1.com: No answer

192.168.1.100 - Yönlendiricimin IP adresi (dnsmasq)

Ancak, TXT kayıt sorgusunun cevabını alabilirim:

# nslookup -type=txt mydomain1.com
Server:         192.168.1.100
Address:        192.168.1.100#53

mydomain1.com        text = "v=spf1 include:mydomain1.com -all"

Sadece NS sunucumun yerel IP'sini belirttiğimde (dnsmasq kullanmadan doğrudan sunucuya erişim);

# nslookup -type=a mydomain1.com 192.168.1.1

Server:         192.168.1.1
Address:        192.168.1.1#53

Name:   mydomain1.com
Address: 192.168.1.1

MX kaydında da benzer bir durum var:

C:\>nslookup -type=mx mydomain1.com
Server:  router.lan
Address:  192.168.1.100

mydomain1.com         MX preference = 10, mail exchanger = mail.mydomain1.com
mydomain1.com         nameserver = ns.mydomain1.com
mail.mydomain1.com   internet address = 192.168.1.1
ns.mydomain1.com     internet address = 192.168.1.1

C:\>nslookup -type=a mail.mydomain1.com
Server:  router.lan
Address:  192.168.1.100

*** No address (A) records available for mail.mydomain1.com

Bu bir kazı sonucu:

# dig +nocmd mydomain1.com any +multiline +noall +answer
mydomain1.com.          86400 IN SOA ns.mydomain1.com. hostmaster.mydomain1.com. (
                                121204007  ; serial
                                28800      ; refresh (8 hours)
                                7200       ; retry (2 hours)
                                604800     ; expire (1 week)
                                3600       ; minimum (1 hour)
                                )
mydomain1.com.          86400 IN NS ns.mydomain1.com.
mydomain1.com.          86400 IN A 192.168.1.1
mydomain1.com.          604800 IN MX 10 mail.mydomain1.com.
mydomain1.com.          3600 IN TXT "v=spf1 include:mydomain1.com -all"

Ping yapmaya çalıştığımda:

# ping mydomain1.com
ping: cannot resolve mydomain1.com: Unknown host

Bu dnsmasq 2.59 bir hata mı? Bu problem nasıl yönetilir?

Yanıtlar:


2

Bu konuyu yakın zamanda kendim gördüm.

Büyük olasılıkla yeniden yapılandırma korumasını config içinde "açık" olarak ayarlamışsınızdır. Öyleyse, bu etki alanı için RFC1918 yanıtlarına izin vermelisiniz:

--rebind-domain-ok=/mydomain1.com/domain2.com/domain3.com/

Bu benim için sorunu çözdü. Umarım yardımcı olur.

Değilse, dnsmasq sürüm notlarına bakın, sürüm 2.5x-2.6x'te bildirilen bazı regresyon hataları vardı. 2.62 ve 2.65 en kararlı görünüyor (v62 kullanıyorum). Yükseltmeyi deneyin ve sorunu çözüp çözmediğini kontrol edin.

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.