dnsmasq kann beim Booten von Ubuntu 13.10 nicht gestartet werden

dnsmasq kann beim Booten von Ubuntu 13.10 nicht gestartet werden

dnsmasq kann beim Booten von Ubuntu 13.10 nicht gestartet werden 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 einwandfrei. 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

So wie ich es verstehe, verwendet NetworkManager eine Instanz einer abgespeckten Version von dnsmasq, die mit der Vollversion in Konflikt geraten kann. Ich vermute, dass dies die Ursache des Problems ist. Ich möchte, dass der Host mit dem Server und alle anderen Hosts im Netzwerk dnsmasq verwenden.

Irgendwelche Ideen, was los ist?

Antwort1

Es klingt, als ob die Adresse oder der Port bereits verwendet wird. Versuchen Sie, dies zu deaktivieren, networkmanagerum zu sehen, ob dies hilft. Dies ist höchstwahrscheinlich nicht die Ursache, da Sie die Adresse erreichen können, wenn Sie den Dienst manuell starten.

Dies kann auch beim Booten passieren, wenn Ihre Adresse dem Server vor dem Start des Dienstes nicht zugewiesen wurde dnsmasq. Stellen Sie in diesem Fall sicher, dass Ihrem Server eine statische IP-Adresse zugewiesen ist.

Antwort2

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

Meine Lösung bestand darin, eth0 für NM zu deaktivieren, indem ich eth0 innerhalb konfigurierte /etc/network/interfaces. Fügen Sie iface eth0 inet dhcpder Konfiguration ... oder Ähnliches hinzu. Somit ist eth0 verfügbar, wenn dnsmasq startet.

Antwort3

Hatte den gleichen Fehler, ich habe meine Schnittstelle eth0 nicht gestartet und die IP-Adresse des Servers wurde nicht zugewiesen. Die Lösung des Problems war also

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

Wenn es hilft, meine Konfiguration war folgende /etc/Netzwerk/Schnittstellen

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  

Mein Ziel war es, einen DHCP-Server zu bekommen, um den kabelgebundenen Verkehr auf das WLAN meines LPTP umleiten zu können

verwandte Informationen