O dnsmasq falha ao iniciar na inicialização do Ubuntu 13.10, mostrando o erro no syslog:
dnsmasq failed to create listening socket for 192.168.0.10: Cannot assign requested address
Quando inicio manualmente, funciona muito bem. Aqui está o dnsmasq.conf:
bogus-priv
server=212.27.40.240
server=212.27.40.241
local=/mydomain.0./
# interface=eth0
listen-address=127.0.0.1
listen-address=192.168.0.10
expand-hosts
domain=mydomain.0.
dhcp-range=192.168.0.20,192.168.0.100,24h
dhcp-option=3,192.168.0.1
dhcp-option=vendor:MSFT,2,1i
cname="www.mydomain.0",myhost
Pelo que entendi, o NetworkManager usa uma instância de uma versão reduzida do dnsmasq que pode entrar em conflito com a versão completa. Suponho que esta seja a causa do problema. Eu gostaria de ter o host com o servidor nele, além de todos os outros hosts da rede, usando dnsmasq.
Alguma idéia sobre o que está acontecendo?
Responder1
Parece que o endereço ou a porta já está sendo usado. Tente desativar networkmanager
para ver se isso ajuda. Provavelmente, essa não é a causa, pois você consegue chegar ao endereço ao iniciar manualmente o serviço.
Além disso, isso pode acontecer durante o tempo de inicialização se o seu endereço não tiver sido atribuído ao servidor antes do dnsmasq
início do serviço. Se for esse o caso, certifique-se de que seu servidor receba um endereço IP estático.
Responder2
Eu tive o mesmo problema em 14.04. Acabou sendo uma combinação de NetworkManager e dnsmasq. Você /var/log/syslog
pode ver que a eth0 não está pronta quando o dnsmasq tenta iniciar também.
Minha solução foi desabilitar o eth0 para NM configurando o eth0 dentro do /etc/network/interfaces
. Adicione
iface eth0 inet dhcp
... ou semelhante à configuração. Assim, eth0 está disponível quando o dnsmasq é iniciado.
Responder3
Ocorreu o mesmo erro, não iniciei minha interface eth0 e o endereço IP do servidor não foi atribuído. Então resolver o problema foi
- Inicie a interface eth0 e atribua IP com
sudo ifup eth0
e verifique comsudo ip a
- Reinicie o servidor dnsmask
sudo service dnsmasq restart
Se ajudar minha configuração estava seguindo /etc/rede/interfaces
allow-hotplug eth0
iface eth0 inet dhcp
address 192.168.2.1
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
dns-nameservers 8.8.8.8
dns-search lan
post-up /sbin/iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
/etc/dnsmasq.conf
interface=eth0 # Use interface eth0
listen-address=192.168.2.1 # Explicitly specify the address to listen on
bind-interfaces # Bind to the interface to make sure we aren't sending things elsewhere
server=8.8.8.8 # Forward DNS requests to Google DNS
domain-needed # Don't forward short names
bogus-priv # Never forward addresses in the non-routed address spaces.
dhcp-range=192.168.2.50,192.168.2.150,12h # Assign IP addresses between 172.24.1.50 and 172.24.1.150 with a 12 hour lease time
Meu objetivo era conseguir um servidor DHCP para poder redirecionar o tráfego cabeado para wlan do meu lptp