vine-users ML アーカイブ



[vine-users:059376] Re: DHCP と NTPD

  • From: saito@xxxxxxxxxxxxxxxxxxx (Yasuyuki SAITO)
  • Subject: [vine-users:059376] Re: DHCP と NTPD
  • Date: Thu, 3 Apr 2003 01:28:35 +0900
こんばんは.齋藤です.

In article Message-ID:<20030402.085635.91326053.snozawa@xxxxxxxxxxxxxxxxxxxxx>
Satoshi I.Nozawa wrote:

= のざわです。
=
= > こんにちは.齋藤です.
=
= >   私の得た結論は,/etc/sysconfig/network-scripts/ifcfg-eth0 を
= > 削除するというものです.このファイルにBOOTPROTO=dhcp と書かれて
=
= 削除しても認識するんですか。いや純粋に興味あります。こんな方法があった
= とは、驚きとともに、参考にしようと思います。

  boot loader のGRUB にNIC のモジュールを組み込んでいる
ため,最初のOS load の時点ですでにNIC はactive になっており,
かつ,DHCP によりIP が割り当てられるので,OS 起動後にIP を
もう一度割り当てる必要はないのでは,という予測の下に試してみて
うまくいきました./etc/rc.d/init.d/network では,
/etc/sysconfig/network-scripts/ifcfg-* が存在していればその
設定を有効にするというようにしているので,diskless マシンに
おいては,なければないでどうということはない,と考えました.
  ただ,(手動でやってもよいのですが)gateway やNIS domain 名の
設定をやって欲しいので,下記のようにしています.↓↓


= > /etc/rc.d/init.d/network が実行されるときにもう一度DHCP に
=
= は何を書いていますか。
=
= NETWORKING=yes
= HOSTNAME=localhost.localdomain
= NISDOMAIN=nis-domain
=
= という感じですが、eth0 の指定はどうされていますか。モジュールでなくカー
= ネルに組み込んでいても、関係ないのか。

  NIC 用のドライバは,カーネルに組み込むように再構築しています.
先に紹介したWeb page でも組み込むように,とアドバイスしてありま
すし,/lib/modules 以下がきちんと読み込まれるのか,ちょっと不安
だったからです(module の状態で試したことはまだありません).

  /etc/rc.d/sysconfig/network には

NETWORKING=yes
GATEWAY=172.22.3.6
NISDOMAIN=himitsu

とだけ書いています.ホスト名を設定するために,
/etc/rc.d/rc.sysinit の中で

――――― ここから ―――――――――――――――――――――――――
...

# Read in config data.
if [ -f /etc/sysconfig/network ]; then
    . /etc/sysconfig/network
else
    NETWORKING=no
fi

if [ -z "$HOSTNAME" -o "$HOSTNAME" = "(none)" ]; then
    HOSTNAME=localhost
fi

hostname $(cat /etc/hosts |\                                         #←追加
 grep $(ifconfig eth0 | grep inet | cut -d: -f2 | cut -d' ' -f1) |\  #←追加
   awk '{ print $2 }')                                               #←追加
HOSTNAME=$(hostname)                                                 #←追加

...

――――― ここまで ―――――――――――――――――――――――――
としています.diskless client の/etc/hosts は,
diskless サーバ上で

ypcat hosts | sort | uniq

の結果をdiskless client 用のhosts ファイルに書き込んでいます.
/etc/rc.d/rc.sysinit を実行している段階でホスト名が設定される
ことから,その直前で/etc/rc.d/init.d/ypbind start を記述しても
動作が怪しそうなので,上記のようにしています.

  他の情報も同様にしてサーバマシン上で更新すればdiskless 
client でNIS を使わなくても済むのかもしれませんが,アカウント
情報が必要なのはdiskless マシンだけではないことから,管理が
ややこしくなりそうなので,NIS を使うようにしています.

-- 
Yasuyuki SAITO