起動時にlagg(4) を有効化するスクリプト

バックアップサーバ (という名前の何もしていない箱w) をちゃんと設定しようといろいろやっているうち、せっかくオンボードNICと別にIntelNIC刺してるんだから念のため冗長化 (チーミング) しておこうとしてカーネル再構築して再起動したらなぜかIntelNICが息をしなくなってしまったという事故が発生…。急に死んだので急に生き返るかもしれないという一縷の望みをかけてlagg(4) を設定しようとしたところ、OSから見えていないNICをlaggportとして指定するとlaggが構成されないっぽいことがtry & errorで判ったので、起動時に見えているNICを問答無用でlaggに突っ込むスクリプトを作成。
ちょっと考えれば誰でも思いつく内容だけども車輪の再発明を防ぐために公開しておきます。

#!/bin/sh

IPv4ADDR="192.168.0.1/24"

LAGGPORTS=""

for IF in `/sbin/ifconfig -l`; do
  case ${IF} in
    gif* )
      break ;;
    lo* )
      break ;;
    plip* )
      break ;;
    tun* )
      break ;;
    * )
      LAGGPORTS="${LAGGPORTS} laggport ${IF}"
  esac
done

if [ -n "${LAGGPORTS}" ]; then
  /sbin/ifconfig lagg0 laggproto lacp ${LAGGPORTS} ${IPv4ADDR}
fi