dnsmasq startet beim Booten von Ubuntu 13.10 nicht

5092
Paul B

dnsmasq startet beim Booten von Ubuntu 13.10 nicht und zeigt den Fehler im Syslog an:

dnsmasq failed to create listening socket for 192.168.0.10: Cannot assign requested address 

Wenn ich es manuell starte, funktioniert es großartig. Hier ist die 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 

Soweit ich es verstanden habe, verwendet NetworkManager eine Instanz einer reduzierten Version von dnsmasq, die mit der Vollversion in Konflikt stehen kann. Ich vermute, das ist die Ursache des Problems. Ich möchte, dass der Host mit dem Server und alle anderen Hosts im Netzwerk dnsmasq verwenden.

Irgendwelche Ideen, was los ist?

1

3 Antworten auf die Frage

0
Atari911

Es klingt wie die Adresse oder der Port wird bereits verwendet. Versuchen Sie zu deaktivieren, um networkmanagerzu sehen, ob dies hilft. Dies ist höchstwahrscheinlich nicht die Ursache, da Sie beim manuellen Starten des Dienstes zur Adresse gelangen können.

Dies kann auch während des Startvorgangs geschehen, wenn dem Server vor dem dnsmasqStart des Dienstes keine Adresse zugewiesen wurde . Wenn dies der Fall ist, stellen Sie sicher, dass Ihrem Server eine statische IP-Adresse zugewiesen ist.

Ich habe den networkmanager entfernt und neu gestartet, aber dnsmasq wurde nicht gestartet. Ich habe dem Server eine statische IP-Adresse zugewiesen (mit dem Network Manager). Paul B vor 10 Jahren 0
0
Claus

Ich hatte das gleiche Problem in 14.04. Es stellte sich heraus, dass es eine Kombination aus NetworkManager und dnsmasq war. In /var/log/syslogSie könnten sehen, ist, dass eth0 nicht bereit, wenn dnsmasq auch versucht zu starten.

Meine Lösung bestand darin, eth0 für NM zu deaktivieren, indem eth0 innerhalb konfiguriert wurde /etc/network/interfaces. Hinzufügen iface eth0 inet dhcp... oder ähnlich zur Konfig. Somit steht eth0 zur Verfügung, wenn dnsmasq startet.

0
Philippe Gachoud

Hatte den gleichen Fehler, ich habe meine Schnittstelle eth0 nicht gestartet und die IP-Adresse des Servers wurde nicht zugewiesen. So war das Problem zu lösen

  1. Starten Sie die eth0-Schnittstelle und weisen Sie IP mit zu sudo ifup eth0und überprüfen Sie es mitsudo ip a
  2. Starten Sie den dnsmask-Server neu sudo service dnsmasq restart

Wenn es hilft, folgte meine Konfiguration nach / etc / network / 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  

Meine Aufgabe bestand darin, einen DHCP-Server zu erhalten, um den Kabelverkehr auf das WLAN meines Lptp umleiten zu können