Configure o LXC para usar um servidor DNS específico em vez do DNSMASQ

2

Fora da caixa, meus contêineres do LXC se conectam a uma instância em execução do dnsmasq, que é iniciada com o lxc-net service.

No meu caso, eu estou executando um servidor DNS não-conectado local que se conecta a uma coisa chamada ncdns que me permite navegar em domínios .bit que são registrados através do Namecoin.

Os dois destes conflitos. Meus contêineres lxc dependem de dnsmasq para DNS, que é executado na porta 53. Ao mesmo tempo, meu unbound server deve ser executado na porta 53 para que eu alcance domínios .bit. (veja os comentários em este post para a improbabilidade de poder incluir um nameserver em resolv.conf usando uma porta não padrão, eu também perguntei em um canal de IRC e, basicamente, aprendi que apontar resolv.conf para um servidor DNS em uma porta não padrão basicamente não é possível).

Então, o que eu preciso fazer é criar um servidor DNS combinado que suporte as coisas do LXC e também resolver domínios .bit e executar o THAT na porta 53.

Pode-se supor que o meu servidor unbound resolve recursivamente os domínios .bit e encaminha todos os outros domínios para o meu roteador, para que ele possa resolver com eficácia todos os domínios.

As perguntas são as seguintes:

1: Como você diz ao lxc-net para não iniciar o dnsmasq?

2: Presumo que unbound não funcionará como o servidor DNS dos meus contêineres LXC sem configuração adicional. Como eu configuro o unbound para que ele faça o que o dnsmasq faz para meus contêineres lxc? (Uma resposta a esta questão poderia ser a localização dos arquivos conf do dnsmasq que ela usa quando iniciada por lxc-net (que ainda não encontrei) para que eu possa tentar copiar essa configuração sob não vinculado ou alguma outra documentação que tem as mesmas informações que os arquivos conf dnsmasq usados pelo lxc-net)

    
por jcarpenter2 20.11.2017 / 02:38

1 resposta

2

Ok, acho que entendi. Eu vou aceitar essa resposta, mas marque minhas palavras. Vou postar outra pergunta se não estiver funcionando.

Ainda estou executando 3 (!) servidores DNS neste computador: dnsmasq como ele veio com o LXC (não exatamente como veio), junto com ncdns do servidor DNS Namecoin e unbound .

Mais uma vez, só posso executar 1 servidor DNS na porta 53, então tenho que escolher um ou outro para essa porta. Eu posso pegar minha unbound setup e estendê-la para fazer o que o dnsmasq faz, ou vice-versa. Como o dnsmasq parece já estar intrinsecamente configurado para funcionar com o LXC e também serve como um servidor DHCP que o unbound não pode fazer, decidi tomá-lo como ponto de partida.

Eu criei um arquivo /etc/dnsmasq.conf com o seguinte conteúdo:

listen-address=127.0.0.1
resolv-file=/etc/resolv.dnsmasq.conf
server=/bit./127.0.0.1#5301

A primeira linha permite que dnsmasq ouça meu endereço local, resolvendo nomes para não apenas os contêineres do LXC, mas também o meu PC. A segunda linha diz ao dnsmasq para usar um arquivo resolv especial, que eu copiei e colei do resolv.conf (e que, no caso de alguém se importar, aponte para o IP do meu roteador). A terceira e última linha adiciona um domínio% stub .bit para o qual as solicitações são encaminhadas para o meu servidor unbound em execução na porta 5301.

Eu também mudei meu arquivo resolv.conf para simplesmente

nameserver 127.0.0.1

para que todas as pesquisas de DNS sejam atendidas por dnsmasq .

    
por 20.11.2017 / 08:47