dnsmasq не запускается при загрузке Ubuntu 13.10

dnsmasq не запускается при загрузке Ubuntu 13.10, показывая ошибку в системном журнале:

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

Когда я запускаю его вручную, он прекрасно работает. Вот 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

Насколько я понимаю, NetworkManager использует экземпляр урезанной версии dnsmasq, которая может конфликтовать с полной версией. Я предполагаю, что это является причиной проблемы. Я хотел бы иметь хост с сервером на нем, плюс все остальные хосты в сети, использовать dnsmasq.

Есть идеи о том, что происходит?

3 ответа

У меня была такая же проблема в 14.04. Оказалось, что это комбинация NetworkManager и dnsmasq. В /var/log/syslog вы можете видеть, что eth0 не готов, когда dnsmasq пытается запустить также.

Моим решением было отключить eth0 для NM, настроив eth0 в /etc/network/interfaces, добавлятьiface eth0 inet dhcp... или похож на конфиг. Таким образом, eth0 доступен при запуске dnsmasq.

Похоже, адрес или порт уже используется. Попробуйте отключить networkmanager чтобы увидеть, поможет ли это. Скорее всего, это не причина, так как вы можете добраться до адреса, когда вы запускаете службу вручную.

Кроме того, это может произойти во время загрузки, если ваш адрес не был назначен серверу до dnsmasq служба запускается. Если это так, убедитесь, что вашему серверу присвоен статический IP-адрес.

Произошла та же ошибка, я не запустил интерфейс eth0, и IP-адрес сервера не был назначен. Таким образом, решение проблемы было

  1. Запустите интерфейс eth0 и назначьте IP с sudo ifup eth0 и проверить это с sudo ip a
  2. Перезагрузите сервер dnsmask sudo service dnsmasq restart

Если это поможет, мой конфиг был следующий / 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  

Моя цель состояла в том, чтобы сервер dhcp мог перенаправлять кабельный трафик на wlan моего lptp.

Другие вопросы по тегам