2つのネットワーク環境を共存させる

Last-modified: 2007-01-15 (月) 11:46:42
 

X21は自宅と研究室で使用しています。
それぞれに異なったネットワークを利用しているので、ネットワーク設定を切り替えなければいけません。

何かいい方法がないかと思ってDebianのリファレンスを読んでいたところ、laptop-netというパッケージで実現できるようでした。

※ログ中のIPなどネットワークの情報は*で伏せてあります。

laptop-netのインストール

いつもどおりaptでgetします。

apt-get install laptop-net

Configrationを書く

laptop-netのConfigurationで使用するにのモジュールを指定します。
設定ファイルは/etc/default/laptop-netです。
X21はe100またはeepro100で動作するので、それを書きます。

MODULE_NAME="eepro100"
MII_SUPPORTED="yes"

Scheme

laptop-netはSchemeと呼ばれる設定ファイルで複数のネットワーク設定を共存させているようです。
Schemeの設定ファイルは,/etc/laptop-net/schemesです。
picoの場合は自宅ではdhcpで、研究室では固定ipで使用したいので、次のような設定ファイルを作成しました。

case "${SCHEME}" in
offline)
   # Setting nothing means to leave the network interface disabled.
   ;;
labo)
   # Settings on the laboratory network.
   ADDRESS="***.***.***.***"
   NETMASK="***.***.***.***"
   GATEWAY="***.***.***.***"
   NAMESERVERS="***.***.***.*** ***.***.***.***"
   ;;
*) DHCP="yes"
   ;;
esac

ほとんどデフォルトのテンプレートに従っています。

動作確認

ネットワークだけの再起動でも済むと思いますが、念のためにX21を再起動します。
起動後、研究室用のSchemeを適用します。

sudo /etc/init.d/laptop-net scheme labo
Changing scheme from offline to labo

ここでschemeオプションの後に指定しているのは、先にScheme設定ファイルに書いたオプションです。
設定を確認してみます。

sudo ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:03:47:8B:F2:92
          inet addr:***.**.***.95  Bcast:***.**.***.127  Mask:***.***.***.***
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2106 errors:0 dropped:0 overruns:0 frame:0
          TX packets:397 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:521319 (509.1 KiB)  TX bytes:118462 (115.6 KiB)

簡単に変更できるようにスクリプトを書く。

毎回先のコマンドを書くのは面倒臭いので、スクリプトを書きます。
change.shをホームディレクトリに作成し、以下の内容を書きます。

/etc/init.d/laptop-net scheme $1

これで、以下のコマンドで設定を変更することができます。

sudo ./change.sh Scheme名

あんまり簡単になっていませんか><;

以上でlaptop-netの設定は終了です。

参考資料
The Laptop-net Manual
Debian-Users ML:ifup eth0 を一般ユーザーでもできるようにするには