Para adicionar um registro de endereço ( A
/ AAAA
) como em seu exemplo, independentemente de estar no ápice da zona ou em outro nível, basta especificar o nome do proprietário desejado.
Um exemplo que não depende de nenhum "truque":
example.com. IN A 192.0.2.7
O que você fez também é uma maneira potencialmente funcional de fazer isso, mas o valor de @
é muito sensível ao contexto.
@
expande para a origem atual (pode ser alterado usando a diretiva $ORIGIN
).
Em um ponto no arquivo de zona em que não há diretivas $ORIGIN
, a origem é o nome da zona ( example.com.
em seu exemplo).
Se houver $ORIGIN
diretivas você terá que acompanhar qual é a origem atual para saber o que significa @
. (Onde você adiciona sua linha afetará seu significado.)
O mesmo também se aplica aos nomes relativos (que você usou para os outros registros em seu exemplo), estes também são relativos à origem atual.
Por exemplo
wifi.example.com. IN A 192.0.2.8
está usando um nome absoluto e não é sensível ao contexto
enquanto
wifi IN A 192.0.2.8
é sensível ao contexto e expandirá para wifi
com qualquer que seja a origem atual anexada a ele, com implicações praticamente idênticas às do uso de @
.
Você obtendo êxito diferente com, por exemplo, wifi
e @
poderia ser explicado ao adicionar essas linhas em posições diferentes em um arquivo de zona que tenha $ORIGIN
diretivas.
named-checkconf -zj
/ named-checkzone
não mostrando nenhum erro suporta esta teoria, já que não é um erro real, é apenas que você adicionou o registro em um lugar diferente do pretendido, por exemplo, em foo.example.com.
em vez de em example.com.
.
Para ver os dados da zona propriamente ditos, você pode querer formatá-los em sua forma totalmente expandida, você pode facilmente obter isso usando por exemplo dig @localhost example.com AXFR
(se você se permitir AXFR) ou named-compilezone -f text -F text -s full -j -o - example.com db.example.com
( se você tiver o arquivo disponível).