попытка отправить запрос в powerdns и ожидаемый результат, не будучи возвращенным

Попытка использовать powerdns для перечисления (voip) запросы DNS.

Я полагаю, что у меня есть все это установка правильно.

это, кажется, корректно в mysql таблицах

select * from records\G
     id: 3
     domain_id: 3
     name: 0.1.9.2.8.4.3.3.0.7.1.e164.arpa
     type: NAPTR
     content: 100 10 "u" "E2U+sip" "!^.*$!sip:17033482910@10.0.0.12!" .
     ttl: 120
     prio: NULL
    change_date: NULL

 select * from domains\G
         id: 3
         name: e164.arpa
         master: 127.0.0.1
         last_check: NULL
         type: MASTER
         notified_serial: NULL
         account: NULL

и я вижу запрос на основе журналов pdns:

Jun  8 16:10:47 localhost pdns[12575]: Remote 127.0.0.1 wants '0.1.9.2.8.4.3.3.0.7.1.e164.arpa|NAPTR', do = 0, bufsize = 512: packetcache MISS
Jun  8 16:10:47 localhost pdns[12575]: Query: select content,ttl,prio,type,domain_id,name from records where type='SOA' and name='0.1.9.2.8.4.3.3.0.7.1.e164.arpa'
Jun  8 16:10:47 localhost pdns[12575]: Query: select content,ttl,prio,type,domain_id,name from records where type='SOA' and name='1.9.2.8.4.3.3.0.7.1.e164.arpa'
Jun  8 16:10:47 localhost pdns[12575]: Query: select content,ttl,prio,type,domain_id,name from records where type='SOA' and name='9.2.8.4.3.3.0.7.1.e164.arpa'

однако мой роет сбой:

dig NAPTR @127.0.0.1  0.1.9.2.8.4.3.3.0.7.1.e164.arpa

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>> NAPTR @127.0.0.1 0.1.9.2.8.4.3.3.0.7.1.e164.arpa
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 8911
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;0.1.9.2.8.4.3.3.0.7.1.e164.arpa. IN    NAPTR

;; Query time: 4 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Jun  8 16:04:28 2015
;; MSG SIZE  rcvd: 49

Я вижу, почему нет никаких результатов "type=SOA" в запросе mysql, но почему пробует тип ='SOA' и не 'NAPTR'?

Ответ основан на предложениях Håkan Lindqvist:

заставьте таблицу записей быть похожей на это:

     id: 6
     domain_id: 3
     name: someServer.com
     type: SOA
     content: ns1.someDNSServer.com
     ttl: 120
     prio: NULL
     change_date: NULL
      *************************** 2. row ***************************
     id: 7
     domain_id: 3
     name: someServer.com
     type: NS
     content: ns1.someDNSServer.com
     ttl: 120
     prio: NULL
     change_date: NULL
1
задан 8 June 2015 в 23:46
1 ответ

I полагаю, что проблема не в вашей записи NAPTR сама по себе, а в том, что PowerDNS не считает вашу зону действительной, пока в ней не будет запись SOA .

Не обращая внимания на конкретное поведение PowerDNS, Требования в DNS в целом заключаются в том, что любая зона должна иметь как минимум SOA и NS записи на вершине.
(PowerDNS, похоже, не проверяет аспект NS этого, но отсутствие этих записей вызовет проблемы.)

Я не уверен, что на самом деле имеет смысл настраивать зону для весь e164.arpa , но в более общем плане, если имя вашей зоны foo.example , вам нужно что-то вроде этого:

foo.example.     7200    IN      SOA     ns1.example.com. hostmaster.example.com. 1 3600 1800 2419200 7200
foo.example.     7200    IN      NS      ns1.example.com.
foo.example.     7200    IN      NS      ns2.example.com.
...

Вы захотите добавьте эти обязательные записи в свои зоны в дополнение к конкретным данным, которые вам нужны.


Как было отмечено Майклом, 2.8.4.3.3.0.7.1.e164.arpa - более вероятное имя зоны (которое будет +1 703 348 2 ).

В конкретных условиях PowerDNS, если вы работаете непосредственно в SQL (что не обязательно идеально), добавление этой зоны будет примерно таким:

INSERT INTO domains (name, type) VALUES('2.8.4.3.3.0.7.1.e164.arpa', 'MASTER');
INSERT INTO records (domain_id, name, ttl, type, content) VALUES(7, '2.8.4.3.3.0.7.1.e164.arpa', 7200, 'SOA', 'ns1.example.com hostmaster.example.com 1 3600 1800 2419200 7200');
INSERT INTO records (domain_id, name, ttl, type, content) VALUES(7, '2.8.4.3.3.0.7.1.e164.arpa', 7200, 'NS', 'ns1.example.com');
INSERT INTO records (domain_id, name, ttl, type, content) VALUES(7, '2.8.4.3.3.0.7.1.e164.arpa', 7200, 'NS', 'ns2.example.com');

После чего вы должны добавить свои NAPTR записи:

INSERT INTO records (domain_id, name, ttl, type, content) VALUES(7, '0.1.9.2.8.4.3.3.0.7.1.e164.arpa', 7200, 'NAPTR', '...');
...
1
ответ дан 4 December 2019 в 00:06

Теги

Похожие вопросы