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 を一般ユーザーでもできるようにするには