openwrt: não é possível alterar a configuração do servidor dns para resolver nomes de host não FQDN

2

ssh'ing para meu openwrt (ver. 10.03.1-RC6) mostra que há algo errado com seu servidor dns:

root@OpenWrt:~# nslookup starkill
Server:    127.0.0.1
Address 1: 127.0.0.1 localhost.

nslookup: can't resolve 'starkill': Name or service not known

considerando que

root@OpenWrt:~# nslookup starkill.skails.home
Server:    127.0.0.1
Address 1: 127.0.0.1 localhost.

Name:      starkill.skails.home
Address 1: 192.168.112.138 starkill.skails.home

Como você pode ver, o servidor de dns local (dnsmasq) do openwrt não pode resolver nomes de host não-FQDN. Acrescentar o domínio da minha intranet resolve esse problema, mas não funciona para mim:

Como tenho um servidor dns em execução na minha intranet, gostaria que pelo menos o dnsmasq do openwrt consultasse o meu servidor dns principal.

, verifiquei a configuração da web várias vezes, mas não consegui descobrir o que está errado ou faltando. Em seguida, verifiquei o arquivo /etc/config/network , juntamente com o manual .

o arquivo inicialmente se parecia com:

[...]
config 'interface' 'lan'
        option 'type' 'bridge'
        option 'ifname' 'eth0.0'
        option '_orig_ifname' 'eth0.0 wl0'
        option '_orig_bridge' 'true'
        option 'proto' 'static'
        option 'ipaddr' '192.168.112.253'
        option 'netmask' '255.255.255.0'
        option 'gateway' '192.168.112.112'
        option 'broadcast' '192.168.112.255'
        option 'stp' '1'
        list 'dns' '192.168.112.112'
[...]

existe um "list dns", inserido pela web-config, que não se parece com a "opção" usual que eu esperaria ver. então eu tentei isso

    option 'dns' '192.168.112.112'

Eu também tentei a opção "dns-search", de todas as maneiras possíveis

   option 'dns-search' 'skails.home'
   list 'dns-search' 'skails.home.'

toda vez que eu reiniciei a rede com /etc/init.d/network reload . as cláusulas dns-search não puderam ser analisadas, então eu tive que removê-las.

você notará que eu mostro a entrada da interface "lan" acima. A razão é que eu uso o meu WRT54G apenas como um ponto de acesso. Eu não utilizo a interface WAN, mas sim uma das 4 interfaces ethernet da LAN (que está conectada ao resto da minha intranet e onde o gateway da internet está) e basicamente uso as antenas da minha unidade para fornecer acesso à intranet e internet para dispositivos Wi-Fi.

de qualquer forma, tentar alterar / etc / config / network não produziu o resultado esperado e ainda não consigo resolver nomes de host não-FQDN.

Além disso, não posso nem fazer a resolução quando sugiro explicitamente um servidor de nomes, seja através de /etc/resolv.conf , ou diretamente com nslookup :

root@OpenWrt:~# nslookup starkill 192.168.112.112
Server:    192.168.112.112
Address 1: 192.168.112.112 stargaze.skails.home

nslookup: can't resolve 'starkill': Name or service not known

Neste momento estou perdido. o que estou sentindo falta aqui?

    
por nass 15.04.2015 / 13:02

1 resposta

1

O dnsmasq é um pouco incerto no momento em que o meu separador de barreira, o que resulta em

nslookup: can't resolve 'starkill': Name or service not known

aqui também, mesmo que o nome normalmente possa ser resolvido sem problemas.

primeiro tente um

killall -HUP dnsmasq

ou até mesmo um reinício, se você quiser ter certeza de que o dnsmasq realmente atende os pedidos como deveria.

segundo, há uma opção para completar automaticamente os FQDNs no dnsmasq. Eu tenho este trabalho aqui com a seguinte configuração (/ etc / config / dhcp):

config dnsmasq
    option domainneeded '1'
    option boguspriv '1'
    option localise_queries '1'
    option rebind_protection '1'
    option rebind_localhost '1'
    option local '/lan/'
    option domain 'lan'
    option expandhosts '1'
    option readethers '1'
    option leasefile '/tmp/dhcp.leases'
    option resolvfile '/tmp/resolv.conf.auto'
    option filterwin2k '1'
    list addnhosts '/var/adblock/block.hosts'

expandhosts é apenas para / etc / hosts, portanto, não é mais aplicável à sua configuração, mas acho que o domínio local E deve ajudá-lo.

minha / etc / config / network tem

option dns '192.168.200.1'

eu não sei agora se o recarregamento da rede realmente também recarrega o dnsmasq de tal forma que ele revincula as concessões do dhcp que você teria que acionar no lado do cliente, caso contrário a diretiva entraria em vigor.

você já tentou tcpdump'ing em seu servidor DNS ao consultá-lo diretamente com o nslookup? o pedido chega a ele? este seria um primeiro ponteiro para se certificar que o problema é realmente na caixa openwrt ...

se você encontrar uma maneira de fazer o dnsmasq consistentemente atender ao pedido, me avise, isso realmente torna as coisas aqui bastante instáveis.

Eu não sei se você pode editar o /etc/dnsmasq.conf, mas há muitas opções que você pode usar. Eu usei dnsmasq em boxe full linux algumas vezes e sempre fui capaz de configurá-lo para atender às minhas necessidades, mas eu acho que é um pouco diferente em openwrt como parece ..

provavelmente também dê uma olhada na respectiva seção (DNS secundário) em link

    
por 02.05.2015 / 23:14