Non includere automaticamente tutti i sottodomini nell'indirizzo DNSMasq


10

È possibile configurare DNSMasq in modo tale che restituisca un indirizzo IP fisso solo per una richiesta per quel dominio esatto e non per i suoi sottodomini? Cioè, voglio che per restituire un IP fisso quando si risolve example.com, ma non a.example.com, b.example.com, etc.

Risposte:


9
host-record=example.com,1.2.3.4

La pagina man di dnsmasq dice:

--host-record = <name> [, <name> ....] [<IPv4-address>], [<IPv6-address>]
Aggiungi i record A, AAAA e PTR al DNS. Ciò aggiunge uno o più nomi al DNS con i record IPv4 (A) e IPv6 (AAAA) associati. Un nome può apparire in più di un record host e pertanto può essere assegnato più di un indirizzo. Solo il primo indirizzo crea un record PTR che collega l'indirizzo al nome. Questa è la stessa regola usata per leggere i file host. le opzioni del record host vengono considerate come lette prima dei file host, quindi un nome che appare lì inibisce la creazione del record PTR se appare anche nel file host. A differenza dei file hosts, i nomi non vengono espansi, anche quando è in espansione. Nomi brevi e lunghi possono apparire nello stesso record host , ad es. --host record = laptop, laptop.thekelleys.org, 192.168.0.1,1234 :: 100


La domanda porta il tag "internal-dns", dove "host-record" si applica a dns esterno noto anche come dns autorevole.
Pro Backup

si noti che se si sta tentando di acquisire un record host esistente su Internet (ad es. riscriverlo per la propria lan), quindi se si omette l'indirizzo v6 e l'host ha un indirizzo v6 reale su Internet, dnsmasq restituirà il V4 annullato indirizzo come A e il vero record AAAA di Internet v6. specificare entrambi se non si desidera che gli host compatibili con v6 non "cadano" nell'host Internet reale tramite v6. Stavo riscrivendo archive.ubuntu.com per puntare al mio mirror locale e ho specificato solo l'indirizzo v4 sulla mia LAN - risulta che ha anche un indirizzo v6 e dovevo assicurarmi di averlo configurato anche in dnsmasq.
sgattaiolare il

3

Come è il tuo file di configurazione? dnsmasq risolverà i sottodomini solo se la voce inizia con il punto.

Esempio: address=/.subdomain.pc01.domain.com/192.168.1.2

Se ce l'hai in questo modo:

address=/subdomain.pc01.domain.com/192.168.1.2

risolverà anche asd.subdomain.pc01.domain.com:

$ host asd.subdomain.pc01.domain.com
asd.subdomain.pc01.domain.com has address 192.168.1.2

Punto interessante, ma se leggi attentamente la domanda, questo non è ciò che l'OP stava chiedendo.
jcharaoui,

1

Basta aggiungere una voce per quel dominio specifico nel file hosts sul server che esegue DNSMasq


Questo non funziona; DNSMasq restituisce lo stesso IP fisso per tutti i sottodomini del dominio inserito
Michael Mrozek,

1

Dalla pagina man di dnsmasq (per --server, ma vale anche per --address):

Domini più specifici hanno la precedenza su domini meno specifici, quindi: --server = / google.com / 1.2.3.4 --server = / www.google.com / 2.3.4.5 invierà query per * .google.com a 1.2. 3.4, tranne * www.google.com, che andrà alla 2.3.4.5

Quindi l'unica soluzione che posso vedere è invece quella di aggiungere singoli record per ciascuno dei sottodomini necessari. Ovviamente non è l'ideale, ma è il miglior dnsmasq in grado di fornire in questo momento (che posso trovare).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.