Ubuntu 13.10 の起動時に dnsmasq が起動に失敗する

Ubuntu 13.10 の起動時に dnsmasq が起動に失敗する

Ubuntu 13.10 の起動時に dnsmasq が起動に失敗し、syslog にエラーが表示されます。

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

アドレスまたはポートがすでに使用されているようです。無効にして、networkmanagerこれが役立つかどうかを確認してください。サービスを手動で開始するとアドレスにアクセスできるため、これが原因ではない可能性が高いです。

また、サービス開始前にアドレスがサーバーに割り当てられていない場合、起動時にこの問題が発生することがありますdnsmasq。その場合は、サーバーに静的 IP アドレスが割り当てられていることを確認してください。

答え2

14.04 でも同じ問題が発生しました。NetworkManager と dnsmasq の組み合わせが原因であることが判明しました。dnsmasq/var/log/syslogが起動しようとしたときに eth0 が準備ができていないことがわかるかもしれません。

私の解決策は、 内で eth0 を設定することにより、NM の eth0 を無効にすることでした/etc/network/interfacesiface eth0 inet dhcp設定に ... などを追加します。こうすることで、dnsmasq の起動時に eth0 が使用できるようになります。

答え3

同じエラーが発生し、インターフェースeth0を起動しておらず、サーバーのIPアドレスが割り当てられていませんでした。そのため、問題を解決するには

  1. eth0インターフェースを起動し、IPを割り当ててsudo ifup eth0確認します。sudo ip a
  2. dnsmaskサーバーを再起動しますsudo service dnsmasq restart

もし役に立つなら、私の設定は次の通りです /etc/ネットワーク/インターフェース

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

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サーバーを取得して、ケーブルトラフィックをLPTPのWLANに再ルーティングできるようにすることでした。

関連情報