dnsmasq: falha ao criar soquete de escuta para a porta 53: Endereço já em uso

10

Eu estava configurando um servidor como no link abaixo   link

root@user-desktop:/etc/init.d# sudo apt-get install dnsmasq
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  dnsmasq
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/15.4 kB of archives.
After this operation, 120 kB of additional disk space will be used.
Selecting previously unselected package dnsmasq.
(Reading database ... 146283 files and directories currently installed.)
Unpacking dnsmasq (from .../dnsmasq_2.59-4_all.deb) ...
Processing triggers for ureadahead ...
Setting up dnsmasq (2.59-4) ...
 * Starting DNS forwarder and DHCP server dnsmasq                                                                                                                                                            
dnsmasq: failed to create listening socket for port 53: Address already in use [fail]
invoke-rc.d: initscript dnsmasq, action "start" failed.
    
por Ram 21.09.2012 / 09:01

3 respostas

9

Eu recebo o mesmo problema que você. Eu acho que é verdade desde 12.10, mas este tópico foi fechado antes do lançamento do 12.10.

Fazendo algumas pesquisas (principalmente inspiradas em aqui ), encontrei esta solução:

  • edite o arquivo /etc/NetworkManager/NetworkManager.conf com seu editor mais amável
  • comente a linha dns=dnsmasq
  • reinicie o gerenciador de rede: sudo service network-manager restart

Mas em sua configuração do dnsmasq ( /etc/dnsmasq.conf ), você precisa ter certeza de ouvir as consultas DNS do localhost com a linha listen-address=127.0.0.1 .

Se você alterar a configuração do dnsmasq, não se esqueça de executar sudo /etc/init.d/dnsmasq restart

Espero que isso ajude.

    
por Grumot 09.04.2013 / 13:20
1

Eu tive o mesmo problema.

dnsmasq-base foi instalado e escutado na porta 53, impedindo que dnsmasq fosse iniciado.

É possível usar dnsmasq-base insead de dnsmasq para o mesmo propósito: use outro diretório de configuração: aquele colocado na pasta Network Manager :

/etc/NetworkManager/dnsmasq.d/
    
por e-1 19.06.2014 / 15:07
-1

EDIT: alguns googling, e eu encontrei a solução . Parece que o gerenciador de rede depende de um pacote chamado "dnsmasq-base", que fornece algumas das funcionalidades do dnsmasq. A entrada do Dnsmasq no Wiki do Ubuntu afirma que

  

"Observe que o pacote" dnsmasq "interfere no Network Manager, que pode usar o" dnsmasq-base "para fornecer serviços DHCP ao compartilhar uma conexão com a Internet. Portanto, se você usar o gerenciador de rede (apenas em configurações simples), em seguida, instale o dnsmasq-base, mas não o dnsmasq.Se você tiver uma configuração mais complicada, desinstale o gerenciador de rede, use o dnsmasq ou um software semelhante (bind9, dhcpd, etc) e configure as coisas manualmente. "

Em outras palavras: você quer usar o dnsmasq? Então é melhor você saber o que está fazendo. A solução mencionada anteriormente sugere a substituição do dnsmasq-base pelo dnsmasq da seguinte maneira (o primeiro comando também removerá gerente):

sudo apt-get remove dnsmasq-base
sudo apt-get install dnsmasq
sudo apt-get install network-manager network-manager-gnome

E aqui alguns comentários gerais sobre como localizar os blocos das portas: você pode encontrar o que está ouvindo em qual porta usando lsof :

lsof -Pn +M -i4

listará as portas IPv4 devido ao -i4, enquanto

lsof -Pn +M -i6

listará as portas IPv6. Ou digite apenas

lsof -Pn +M | grep ':53 (LISTEN)'

Isso deve (espero) dizer o que está usando a porta 53. As opções de linha de comando -Pn impedem a conversão de IPs de número de porta / host em nomes.

Como alternativa, execute

netstat -utlnp
    
por January 21.09.2012 / 09:29

Tags