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

4976
Paul B

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.

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

1

3 ответа на вопрос

0
Atari911

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

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

Я удалил сетевой менеджер и перезагрузил компьютер, но dnsmasq не запустился. Я назначил серверу статический IP-адрес (используя Network Manager). Paul B 10 лет назад 0
0
Claus

I had the same problem in 14.04. It turned out to be a combination of NetworkManager and dnsmasq. In /var/log/syslog you might see, that eth0 is not ready when dnsmasq tries to start as well.

My solution was to disable eth0 for NM by configuring eth0 within /etc/network/interfaces. Add iface eth0 inet dhcp ... or similar to the config. Thus eth0 is available when dnsmasq starts.

0
Philippe Gachoud

Произошла та же ошибка, я не запустил интерфейс 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.

Похожие вопросы