Estou brincando unbound
para encaminhar consultas DNS para um servidor DNS autoritativo, armazená-las em cache e também adicionar informações locais adicionais. Minha configuração é bastante direta:
/etc/unbound/unbound.conf
:
server:
... # all default settings
include: "/etc/unbound/unbound.conf.d/*.conf"
forward-zone:
name: "."
forward-addr: 1.1.1.1 # authoritative server
Então quero adicionar alguns local-data
em vários local-zone
, por exemplo:
/etc/unbound/unbound.conf.d/foobar.org.conf
server:
local-zone: "foobar.org." transparent
local-data: "foobar.org. 3600 IN SOA admin.foobar.org. admin.foobar.org. 1710435698 86400 3600 3600000 300"
local-data: "foobar.org. 3600 IN NS admin."
local-data: "foobar.org. 3600 IN MX 0 foobar.org"
local-data: "foobar.org. 3600 IN A 12.34.56.78"
local-data: 'system.at.foobar.org. 14400 IN TXT "[email protected]"'
local-data: "private.foobar.org. 3600 IN A 10.0.1.2"
local-data-ptr: "10.0.1.2 private.foobar.org."
local-data: "public.foobar.org. 3600 IN A 98.76.54.32"
local-data-ptr: "98.76.54.32 public.foobar.org."
...
Esta configuração funciona conforme exceção. local-data
os registros estão bem resolvidos, o mesmo para o PTR, TXT
etc.
Mas esse é realmente o caminho unbound
e local-zone
precisa local-data
ser configurado?
Se eu comparar esta configuração com um bind
arquivo de zona "clássico":
$ORIGIN foobar.org.
$TTL 3600
@ IN SOA admin.foobar.org. admin.foobar.org. (
1710435698 ; Serial
86400 ; Refresh
3600 ; Retry
3600000 ; Expire
300 ) ; Negative Cache TTL
@ IN NS admin.
@ IN MX 0 foobar.org.
@ IN A 12.34.56.78
system.at IN TXT "[email protected]"
private IN A 10.0.1.2
public IN A 98.76.54.32
Nesta bind
zona:
- Não preciso repetir o TTL para cada registro
- Não preciso repetir o nome da zona para cada registro de pesquisa
- para cada registro, eu sei que eles fazem parte da zona
Então minha pergunta é: minha unbound
configuração está ok ou perdi alguma coisa na maneira de configurar local-zone
o & local-data
; e vincular registros a uma zona?
A
local-data
opção não usa arquivos de zona "clássicos" porque nunca foi planejada para hospedar uma zona. Unbound é antes de mais nada um resolvedor de cache (e foi criado para funcionar junto com o NSD para hospedagem oficial); a opção que você está usando existe apenas para permitir que você substitua as respostas DNS nome por nome. (É por isso que você tem modos de zona local como 'transparente' – zonas autoritativas normais não fariam isso.)Então sim, esse é o caminho
local-data
que precisa ser configurado, porque você está tentando fazer com que ele faça algo para o qual não foi feito.As versões atuais do Unbound (aparentemente a partir de 1.7.x) têm suporte para hospedagem autoritativa, mas você o configura usando uma
auth-zone:
seção separada: