Vine Linux 1.1 のインストール

山森丈範 YAMAMORI Takenori ●yamamori

●一時的にネットワークインターフェースを立ち上げる方法

/etc以下の設定ファイルを修正せずに, 以下のようにして一時的にネットワークインターフェースを立ち上げることも できます.このとき,マシンをリブートする必要はありません.

ここでは,IPアドレスが192.168.1.1に設定されたマシンがすでにLAN内にあり, 自分のマシンを192.168.1.2に設定してネットワークをつなぐ方法を例にとります.

ネットワークインターフェースを立ち上げるには,ifconfig コマンドを使います.ifconfigの前に,使用しているEthernetカードに 相当するモジュールを modprobeコマンドでロードしなければなりません. たとえば,EtherExpressPro100の場合,モジュール名はeepro100 なので,以下のようにします.

# /sbin/modprobe eepro100
# /sbin/ifconfig eth0 192.168.1.2

さて,Linux以外のUNIXではこれだけでOKのはずですが, ここでなぜかpingも通りません.Linuxでは,ifconfig しただけでは,自分自身のインターフェースであっても ルーティングテーブルに登録されないのです (でも逆に,“ifconfig eth0 down”とした場合はrouteも 自動的に消えるようです).そこで,以下のように明示的にroute コマンドを実行します.

# /sbin/route add -net 192.168.1.0
なお、これは Vine 1.1 付属の kernel 2.0.36 の場合の話で、 kernel 2.2.x では、このような自明な route コマンドは、 実行する必要が無くなっています。

 このrouteコマンドの文法もLinux独特で, 192.168.1.0のような明らかなネットワークアドレス(最後が0になっている) であっても,-netを省略できないのです (-netを省略すると-hostとみなされる).

結局,modprobe, ifconfig, routeと使って, インターフェースが立ち上がりました. これで,192.168.1.1⇔192.168.1.2の間で telnetでもftpでもできるでしょう.

○モジュールを見つけるには

自分のEthernetカードに対応するモジュール名がわかっている場合はいいのですが, それがわからない場合に自動的に見つけてロードするには どうすればいいのでしょうか. 以下のコマンドでうまく行くように思えるのですが, 実際にやってみると,最初のほうのモジュールでエラーになってしまってダメでした.

# /sbin/modprobe -t net \*

ネットワーク関係のモジュールのリストは以下のようにして見られますので, この中からそれらしい名前を見つけてロードする方法も考えられます.

# /sbin/modprobe -l -t net | less

しかし,インストーラ上では自動認識されているので, 何とか自動でやる方法はないのかと思い, 以下のようなスクリプトを書いてみました(ちょっと強引な方法ですが).

●Ethernetモジュールを見つけるスクリプト(probe-eth)
--------------------------------------
#!/bin/sh

cd /lib/modules/preferred/net

for a in *.o
do
  if /sbin/modprobe $a
  then
    if /sbin/ifconfig eth0 0.0.0.0
    then
      echo $a loaded
      /sbin/ifconfig eth0 down
      exit 0
    else
      /sbin/rmmod $a
    fi
  fi
done

echo module not found
exit 1
--------------------------------------

このスクリプトは,まだEthernetのモジュールがまったくロードされていないとき のみ,うまく動作すると思います. スクリプトを実行してモジュールがロードされれば, あとは“ifconfig eth0 <IPアドレス>”で インターフェースが立ち上がります.

また,判明したモジュール名を以下のように /etc/conf.modulesに書いておけば, モジュールがまだロードされていない状態でも, ifconfig eth0を実行するときにkerneld が自動的にロードしてくれます.

● /etc/conf.modules に以下の行を追加
----
alias eth0 eepro100
----

To 「Vine Linux 1.1 のインストール」index


このページは、技術評論社 Linux×BSD HYPER PRESS Vol.1夏号、『Linuxのインストールとセットアップ/Vine Linux 1.1を導入しよう』 の原稿を元に、Web 用に再構成したものです。
To 謎の処理系 SunOS 4.1.4 Home
yamamori