Como posso iniciar o nome no modo IPv4 usando o systemd?

1

Como posso configurar o meu Ubuntu 15.04 bind9 para parar de resolver consultas com o IPv6?

TL; DR

Estou usando bind9 na minha máquina Ubuntu 15.04. Parece que meu servidor nomeado está tentando resolver muitas consultas usando o IPv6.

29-Jul-2015 01:03:28.926 lame-servers: error (network unreachable) resolving 'vassg.omniroot.com.edgesuite.net/A/IN': 2600:1401:2::2#53
29-Jul-2015 01:03:30.073 lame-servers: error (network unreachable) resolving 'askubuntu.com/A/IN': 2001:503:231d::2:30#53
29-Jul-2015 01:03:30.516 lame-servers: error (network unreachable) resolving 'stackapps.com/A/IN': 2001:503:a83e::2:30#53
29-Jul-2015 01:03:30.533 lame-servers: error (network unreachable) resolving 'stackapps.com/AAAA/IN': 2400:cb00:2049:1::adf5:3b69#53

Quando pesquisei, acabei com a solução para iniciar o serviço nomeado apenas no modo IPv4 adicionando um switch -4. Eu tentei modificar meu / etc / default / bind9 para isso:

/ etc / default / bind9

# run resolvconf?
RESOLVCONF=yes

# startup options for the server
OPTIONS="-4 -u bind"

Mas ainda acabei tendo muitas falhas de resolução usando o IPv6.

Então eu verifiquei os switches usados para iniciar o named com systemd

mippy@heimdal:~/src/servermon$ sudo service bind9 status
● bind9.service - BIND Domain Name Server
   Loaded: loaded (/lib/systemd/system/bind9.service; enabled; vendor preset: enabled)
  Drop-In: /run/systemd/generator/bind9.service.d
           └─50-insserv.conf-$named.conf
   Active: active (running) since ons 2015-07-29 01:11:44 CEST; 25min ago
     Docs: man:named(8)
  Process: 6879 ExecStop=/usr/sbin/rndc stop (code=exited, status=0/SUCCESS)
 Main PID: 6884 (named)
   CGroup: /system.slice/bind9.service
           └─6884 /usr/sbin/named -f -u bind

Portanto, parece que o named é iniciado com / usr / sbin / named -f -u bind. Não é o que eu esperava do meu / etc / default / bind9.

Como posso configurar o named com o switch -4?

    
por Civing 29.07.2015 / 01:44

3 respostas

4

Este é o procedimento para atualizar as opções nomeadas após a mudança do Ubuntus para o systemd:

cp /lib/systemd/system/bind9.service /etc/systemd/system/bind9.service

editar

/etc/systemd/system/bind9.service

mudar

ExecStart=/usr/sbin/named -f -u bind

em

ExecStart=/usr/sbin/named -4 -f -u bind

então

systemctl daemon-reload
service bind9 restart

verifique novamente se a alteração entrou em vigor:

mippy@heimdal:~/src/servermon$ sudo service bind9 status
● bind9.service - BIND Domain Name Server
   Loaded: loaded (/etc/systemd/system/bind9.service; enabled; vendor preset: enabled)
  Drop-In: /run/systemd/generator/bind9.service.d
           └─50-insserv.conf-$named.conf
   Active: active (running) since ons 2015-07-29 11:09:26 CEST; 5min ago
     Docs: man:named(8)
  Process: 20737 ExecStop=/usr/sbin/rndc stop (code=exited, status=0/SUCCESS)
 Main PID: 20742 (named)
   CGroup: /system.slice/bind9.service
           └─20742 /usr/sbin/named -4 -f -u bind

Para mais informações, confira esta página do documento do SUSE. Deve ser aplicável para nós usuários do Ubuntu também. link

    
por 29.07.2015 / 11:17
0

As pesquisas de IPv6 com falha não indicam uma configuração incorreta no servidor, mas um erro de configuração no cliente. Seu servidor, executando apenas com um endereço ipv4, ainda receberá solicitações DNS (AAAA) para resoluções ipv6. Isso começou a acontecer quando vários sistemas operacionais começaram a ativar o ipv6 por padrão vários anos atrás.

    
por 29.07.2015 / 14:09
0
Embora a resposta do @Civing provavelmente funcione, pode não ser a maneira mais limpa de sobrescrever a configuração do bind9 , porque toda a definição do serviço systemd - e não apenas a diretiva ExecStart que precisa ser sobreposta - é copiada.

Uma abordagem mais compacta para alcançar a mesma coisa (para Xenial e posterior) aparece aqui .

    
por 27.06.2017 / 17:46