wiki:UbuntuUpstartVLAN

Ubuntu 10.04 で、OS起動時にVLANインターフェイスにサービスするdhcp3-serverが自動起動に失敗する

Ubuntu 10.04 Server版で、dhcp3-serverがOS起動時に自動起動に失敗していました。
VLANインターフェイスにDHCPのサービスを提供するよう設定した場合にのみ起こる問題です。

/etc/default/dhcp3-server

INTERFACES=''VLANインターフェイス名''

わたしは、この問題について以下のように対処することにしました。

/etc/init/rc-sysinit.conf

start on filesystem and net-device-up IFACE= lo

start on filesystem and started networking

に変更。

これで、OS起動時にdhcp3-serverが起動に成功するようになりました。


経緯をちょっとメモしておきます。

起動に失敗したときのエラーはこんな感じ。

”dhcpd: No subnet declaration for VLANインターフェイス名 (0.0.0.0)"

当該のVLANインターフェイスがまだ準備できてないときにdhcpdが起動されている感じです。何度やっても同じ。

(ちなみに、後から Bootchartで見てみたら、やはりdhcp3-serverより後にvlanが起動されているようでした。)

そこで、起動関連の設定をみてみたところ。。。

(このとき、はじめてUbuntuのinitデーモンのSysVinitから、Upstartへの移行がずいぶん進んでいることを知りました。もう、inittabもありません。)

dhcp3-serverは、/etc/rc2.d/S40dhcp3-serverで起動されていました。そして、ランレベル2を指定しているのは、/etc/init/rc-sysinit.confでした。
このrc-sysinitの起動条件に、IFACE= loというのが指定されています。きっとこのせいだろうと、上記の対処を試してみたらOS起動時に自動起動されるようになりました。

(2010/9/17 - itsuko)