A maioria dos programas lê a configuração do DNS do sistema (em /etc/resolv.conf
) apenas uma vez quando eles são inicializados ou quando eles fazem o primeiro acesso à rede. Eles não relêem a configuração se ela mudar.
Parece que no seu sistema, a configuração do DNS muda quando a rede sobe (provavelmente muda de não configurado para ter servidores DNS configurados). Isso é muito comum e inevitável se o sistema nem sempre estiver conectado à mesma rede.
Uma forma de garantir que os programas não sejam afetados é executar um servidor de cache DNS local. Dessa forma, a configuração do DNS para aplicativos pode ser estática (sempre nameserver 127.0.0.1
in /etc/resolv.conf
) e somente o servidor de cache DNS precisa ser informado sobre os servidores fornecidos pela conexão de rede. O Dnsmasq é uma escolha comum, especialmente em sistemas embarcados (se você tiver um roteador Linux, ele provavelmente rodará o dnsmasq). Se você está construindo sua própria imagem com o Buildroot, inclua o pacote dnsmasq
. Se você tem uma imagem pré-construída sem o dnsmasq, instalar o dnsmasq via Builtroot ainda pode ser a melhor aposta, mas eu não estou familiarizado com o Buildroot, então não posso explicar como fazer isso.