リンクアップに時間のかかるネットワークインターフェースがある場合、たとえば kea-dhcp4-server などはリンクアップの前に起動されるため、正常に機能しません。また Debian 12 の場合ですが、post-up に処理を入れるとシステム全体のアップそのものが遅れてしまいます。そこで/etc/rc.local (chmod +x) に以下のような処理を入れることで、リンクアップ後に kea-dhcp4-serverを再起動させることができたので、備忘録として挙げてみました。
#!/bin/bash
if [ -e /sys/class/net/enp2s0/carrier ]; then
enp2s0_up=$(</sys/class/net/enp2s0/carrier)
else
enp2s0_up=""
fi
while [ "$enp2s0_up" == "0" -o ! -n "$enp2s0_up" ]
do
echo enp2s0_up: $enp2s0_up
if [ -e /sys/class/net/enp2s0/carrier ]; then
enp2s0_up=$(</sys/class/net/enp2s0/carrier)
else
enp2s0_up=""
fi
if [ "$enp2s0_up" == "1" ];then
systemctl restart kea-dhcp4-server
echo restarted kea-dhcp4-server
fi
sleep 1
done
リンクアップ以前に /sys/class/net/enp2s0そのものが作成されていなかったので少し手間取りましたが、これでリンクアップの検出ができ所用の目的は達成できました。今回は以上です。それでは。
コメント
コメントを投稿