Estou construindo um NAS de caixa preta para um amigo, que executará alguns contêineres docker com coisas como NextCloud e alguns outros serviços. Por caixa preta, quero dizer que ela deve ser configurada de forma que nenhuma configuração seja necessária, ela apenas será conectada ao roteador e funcionará.
Desejo configurar o dnsmasq com um domínio curinga que deve redirecionar todas as solicitações para um proxy reverso que redirecionará internamente as solicitações para o serviço correto. Mas isso significa que o DNS precisa apontar para si mesmo, o que é problemático visto que esta máquina deve obter seu IP via DHCP do roteador.
address=/mydomain.com/<host_ip>
Minha única ideia atual é ter um serviço systemd executado quando a rede estiver online e, em seguida, atualizar o arquivo conf com o IP atual do host, mas isso parece tão hacky. Não há como automatizar isso com o próprio dnsmasq?
(Minha resposta reflete em um ambiente SOHO típico)
Você não pode fazer isso sem pelo menos uma pequena configuração no lado do cliente (se incluirmos o roteador também), porque você precisa direcionar a solicitação do computador cliente para o endereço IP correto, onde os serviços como o NextCloud serão executados.
Como o serviço DHCP do seu amigo já possui uma ou mais entradas de servidor DNS que (por padrão) correspondem a um dos servidores DNS recursivos do ISP, você precisará anular esse mecanismo.
Posso ver que você deseja implementar este serviço com a configuração de toque zero necessária, mas se você optar por um servidor DNS local, precisará pelo menos definir um endereço IP fixo, que se refere às configurações de DHCP no roteador.
Sugiro fazer um dos seguintes:
- Execute um servidor DNS recursivo local , adicione uma zona mydomain.com, defina os registros A que apontam para o endereço IP do proxy reverso e defina esse servidor DNS no roteador. (Neste caso, você terá controle total sobre as configurações de DNS com configuração minúscula no lado do cliente, mas com mais trabalho a fazer e responsabilidade, porque isso também deve responder a quaisquer consultas de DNS relacionadas à web.
- Modifique o arquivo hosts no computador cliente onde você pode adicionar entradas com o endereço ip de destino (ip do proxy reverso) com cada subdomínio. (Eu recomendaria este em um ambiente pequeno)
Você pode tornar esse método mais elegante executando um script de inicialização que extrai o arquivo hosts do FTP, para que você possa obter uma solução centralizada quando se trata de atualizar o mapeamento de domínio.) Isso script deve ser colocado em cada dispositivo cliente, o que pode ser complicado em dispositivos móveis.
Como você pode ver, você precisa considerar a responsabilidade e a configuração do lado do cliente para encontrar a solução certa, mas nenhuma delas envolve 0% de configuração no lado do cliente.