情報少ない?

スタティックルートの設定ファイルについて。

RedHat7.3では、/etc/sysconfig/static-routesに以下の書式で書き込む(ぶっちゃけ/sbin/routeコマンドの書式と一緒なんだけどね)。

any net [networkaddress] netmask [netmask] gw [gateway] metric [metric] dev [device]

dev [device]の部分は最後だから別にdev省略してもいいんだけど、見てパッとわかるように一応書いといた。んで何で先頭にanyがくるのかっつーと、/etc/rc.d以下の各ランレベルスクリプトにこう書いてあるからだ。

grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do
    /sbin/route add -$args
done

ちょいとignoreの意味がわかんなかったので、この部分だけコピペして$argsに何が入っているかechoさせてみた。出力は最初の単語を除いた文字列(ってことは実際に走る場合はanyを除いた設定情報だね)なので、つまりany無視ですか!?…Webでは「最初の単語はデバイス指定です。」とか書いてあるとこもあるのに。

以上から/etc/sysconfig/static-routesにはとりあえずanyを書いとけ、ってまとめですな。後ファイル名はstatic-routesだよ、と(1時間ほどハマった)。ふぅ。

RedHat8.0に関してはこういう情報もあるけど、手元に環境がないのでちとわからん。RedHat9は/etc/sysconfig/network-scripts以下にroute-eth0っていう設定ファイルを作るらしいが、こっちは時間できたときに検証ということで。