[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:21836] route command on Kernel 2.0.*/2.2.*
渡辺大作@t3.rimと申します。
/etc/init.d/network ファイルに関して疑問があり
質問させていただくことにしました。
現在使用しているpotatoの /usr/doc/sysvinit/examples/networkは 以下のように
なっています。
------ ここから
(snip)
case "`uname -r`" in
2.0.*) ADDROUTE="yes" ;;
*) ADDROUTE="" ;;
esac
# Configure the loopback device.
ifconfig lo 127.0.0.1
[ "$ADDROUTE" ] && route add -net 127.0.0.0 dev lo
(snip)
ifconfig eth0 ${IPADDR} netmask ${NETMASK} broadcast ${BROADCAST}
[ "$ADDROUTE" ] && route add -net ${NETWORK}
(snip)
--------- ここまで
上記スクリプトの通り、
カーネルのバージョンが、2.0.*か、それ以外か(2.2.*)によって
route add コマンドを実行するしないを振り分けていることがわかります。
これは一体なぜなのでしょうか。
現在自分のマシンでは,カーネル2.2.14を使用していますが
強制的にroute addをするようなスクリプトだと、
ブート時に"requestされたIPアドレスはアサインできない"というような
旨のエラーが出ていることが確認できます。
それでも起動後netstat -nr等では問題ないテーブルが
構成されていることが確認できます。
route addのコマンドをコメントアウトして再起動して、
netstat等でテーブルを確認しても、やはり問題なく、テーブルができています。
2.2.* だと、明示的なroute add -net なしに、ローカルデバイスのrouteは
追加されるとか、そういったことがあるのでしょうか。
カーネル2.2代ののchangesドキュメントにも目を通したつもりですが情報は
得られませんでした。
これに関して情報を頂けたらと思います。
FAQでしたら申し訳ございません。
ドキュメントのリンク等アドバイスいただけましたら幸いです。
Best regards,
Watanabe, Daisaku<dwata@xxxxxxxxxxxx>