DHCPサーバ

 りなざうには DHCPサーバデーモン、dhcpd本体が、標準で用意されています。

 これは PCリンクを行う際、擬似的にネットワークデバイスとして扱われる usbd0にIPを割り当てるために使われているものです。

 ですんで、実は設定を行ってやるだけでりなざうDHCPサーバとして稼動させることが可能だったりします。

 具体的に、りなざうDHCPサーバとして稼動させるための手順は以下の通りです。


 まず、設定ファイルを用意します。


# /etc/dhcpd.conf

subnet 192.168.0.0 netmask 255.255.255.0{
range 192.168.0.100 192.168.0.116; # IPアドレスのリース範囲、この場合192.168.0.100-116の16個
default-lease-time 86400; # IPを貸し出す時間、基本的には余り触る必要なし
max-lease-time 86400; # 同じく、IPを貸し出す最大時間。上との違いが良くわからん(^^;)
option routers 192.168.0.1; # クライアントに知らされるデフォルトゲートウェイのアドレス
option domain-name-servers 192.168.0.1; # 同じく、クライアントに知らされる DNSのアドレス
option subnet-mask 255.255.255.0; # ネットマスク
}

 次に、dhcpサーバからリースされる IPの記録ファイル


/var/state/dhcp/dhcp/dhcpd.leases

を用意します。ファイルの内容自体は、自動的に更新されるものですが、あらかじめ用意しておかないと dhcpdの起動時にエラーとなります。


mkdir /var/state/dhcp/dhcp
touch /var/state/dhcp/dhcp/dhcpd.leases

 上記二つのファイルを用意したら、後は dhcpdを起動するだけ。

 起動時には IPをリースする先のネットワークインターフェイスを指定します。
 基本的に、りなざうで使用出来るネットワークインターフェイスは CFスロットの NICになるハズなので、


dhcpd eth0

でOKのはずです。

 REX-CFU1経由で、USB-LAN変換アダプタなんかを使う場合は、この限りでは無いかもしんないけど、そのへんは使う人が自前で調べて下さい。ふつー、ifconfig -aなんかですぐ調べられると思うので(^^;)。

 あ、当然っちゃあ当然ですが、ルート権限要りますんで。


@注意点

 標準で入ってるこの dhcpdは、前述の通り本来、母艦PCとの接続(PCリンク)時に使用されます。
 その際の起動オプションは、


/usr/sbin/dhcpd -cf /etc/hotplug/dhcpcd.conf -lf /var/state/dhcp/dhcp-usbd0.leases

 この場合、USBインターフェイス(usbd0)に 192.168.129.201 が割り当てられています。
 設定ファイルは


/etc/hotplug/dhcpcd.conf

ですが、これはPCリンク起動時に自動的に生成され、PCリンク終了時には削除されるので、普段は存在しません。

 dhcpd自体は、別プロセスで複数同時に稼働させても問題は無い(?)ので、一応PCリンクとの共存自体に問題はありません。

 ただ、何故か C700では dhcpdを動作している状態だと、標準のターミナルが起動出来なくなる現象が発生しました。
 embedded-konsole等、別のターミナル入れると問題なく起動出来るんで、まぁそこまでクリティカルな問題ではありませんが、そもそも原因が分からないんで、ちょと不安です(^^;)。