最新更新日 '99.11.06.
更新項目  isc-dhcp-2.0 用にほぼ全文書き直しました。


DHCP 使う?
 いやぁ、昨日、N+I99 で FreeBSD の BOF に参加して来ました。沢山の人が来ていました。有名な方々も沢山拝見できました。感激。その前には、mew users meeting と言うモノに参加してきました。かず山本さん に、「ミューツー」のポケモンカードにサインしてもらいました。感激(g_g)。うるうる。

 さて、これらの共通した項目に、自分で NotePC を持っていた場合、会場には DHCP が用意されれていて、一応、あいぴーりーちゃぼぉ。な環境になっているんですね。けど、実際には FreeBSD で DHCP を使える人は少ないのでは?と思います。

 私自身も、自宅では NAT しているのでほぼムジンゾウな IP アドレスを持っているし、DNS の設定も出来るので何も好き好んで DHCP の設定ナンザする必要はこれっぽっちも感じて居なかったんですね。しかし、今回の二つの meeting に参加してみて DHCP が必要だ。と、感じました。ふみふみ。

 けど、自宅には導入するつもりはこれっぽっちも無いのでデスクトッブでの利用およびサーバの設定は一切するつもりは無いです。あるのはクライアントの設定に付いてのみです。それも NotePC でです。そのつもりでお読みください。

 と、言う事で、DHCP は全然知らなかったので、www.jp.freebsd.org で検索すべく探したのですが、なかなか「ばしっ!!」ってのが見当たらないのです。困った・・。がなんとか見付けたのが ISC 版 DHCP クライアントの設定方法です。WIDE 版 DHCP もあるみたいですが、今回、私は ISC 版を選びました。isc-dhcp-2.0.tgz を packages から pkg_add しておしまいです。

 続いて設定です。が・・。あーうー・・。どーもいまいち解りません。今回は本当に、この Web のポリシーとも言うべき(^^;;

「細かい事はうだうだ書かない。こうすれば動くっ!!。」

ってな感じの設定です。詳細に付いては、man dhclient.conf で調べてください。また私にも教えてください(^^;;。

 さて、本題の設定ですが、/usr/local/etc/dhclient.conf を作って、rc.conf にちろちろっと手を加えればおしまいです。後はリブートすれば DHCP クライアントとして動き出します。isc-dhcp-2.0.tgz のインストール直後は /usr/local/etc/dhclient.conf のサイズは 0 で、何の設定もありません。これに値を書き込んであげます。では見てみましょう。

--- /usr/local/etc/dhclient.conf 
send dhcp-lease-time 3600;
script "/usr/local/etc/dhclient-script";
----------------
(^^;;。こ、これだけです。何故これだけで動くのだろう・・。すげー不思議。と、言いつつ、/usr/local/etc/dhclient-script を覗いて見ると、こっちでいろいろなんかやっているみたいです。ふみふみ。

 /usr/local/etc/dhclient-script を覗いて見ると解るのですが、このままだと、/etc/hosts と、/etc/resolv.conf がつぶされてしまうみたいなのです。 HDCP クライアントとして起動する前にこの二つのファイルはセーブして保存しておきましょう。

 尚、確認ですが、今回の設定に付いてのポリシは、

普段は普通の IP 割り当てのマシンの設定です。ミーティング等で NotePC を持ち出した時は DHCP を利用する。
 マシンは Thinpad535E で 3.3-RELEASE+PAO3 がインストールされているモノとします。

と、言う様な環境です。

 /usr/local/etc/dhclient.conf を上記の様に書き込んだら次に /etc/rc.conf に手を加えます。私の場合は、/etc/defaults/rc.conf に PAO3 の設定が組み込まれています。そして、rc.conf.local と言うファイルは使っていません。/etc/defaults/rc.conf を覗くと、起動時に /etc/defaults/rc.conf と、/etc/rc.conf.local、/etc/rc.conf の順序に実行されると思います。が、/etc/rc.conf.local は使っていないです。

 では、それぞれのファイルに付いて見てみましょう。

--- /etc/defaults/rc.conf (重要項目抜粋)
##############################################################
### Important initial Boot-time options  #####################
##############################################################

apm_enable="YES"        # Set to YES if you want APM enabled.
pccard_enable="YES"     # Set to YES if you want to configure PCCARD devices.
pccard_mem="DEFAULT"    # If pccard_enable=YES, this is card memory address.
pccard_ether="ed0 ep0 sn0 fe0"
pccard_beep="2"
ifconfig_common="DHCP"
ifconfig_ed0=$ifconfig_common
ifconfig_ep0=$ifconfig_common
ifconfig_sn0=$ifconfig_common
ifconfig_fe0=$ifconfig_common
local_startup="/usr/local/etc/rc.d /usr/X11R6/etc/rc.d" # startup script dirs.
local_periodic="/usr/local/etc/periodic /usr/X11R6/etc/periodic" # periodic script dirs
rc_conf_files="/etc/rc.conf /etc/rc.conf.local"
----------------
 こんな感じで PAO3 の設定がされています。続いて、/etc/rc.conf です。
--- /etc/rc.conf (重要項目抜粋)
#--- Network Setup ---#
hostname="boss.running-dog.net"
#network_interfaces="ed0 ep0 lo0"
network_interfaces="auto"

defaultrouter="192.168.1.5"
#defaultrouter="NO"
gateway_enable="NO"

# --- DHCP OFF --- #
#ifconfig_common="inet 192.168.1.4  netmask 255.255.255.0"
# --- DHCP ON --- #
ifconfig_common="DHCP"
# --- --- #

#--- Network Setup ---#
ifconfig_ed0=$ifconfig_common
ifconfig_ep0=$ifconfig_common
----------------
 #--- Network Setup ---# 以下で、確定的なネットワークの設定をしています。そして、 DHCP を利用しないで IP を使う場合は、# --- DHCP OFF ---# の一行を有効にして、# --- DHCP ON --- # の二行をコメントにしてからマシンを reboot します。上記の設定は DHCP が有効になっている場合の設定です。これでマシンをリブートすると DHCP サーバから IP がもらえる様になります。

 私の場合は WindowsNT4.0 の DHCP サーバと、FreeBSD の ISC 版 DHCP サーバでテストしました。無事に IP アドレスをもらう事が出来ました。そして、クライアント側の確認には ifconfig -a を使いました。ISC 版の DHCP サーバでは syslog が吐き出されるのでそれを確認するのも手です。

 クライアントではパケットも流れているので簡単に DHCP の設定が終ってしまった。と、言う事になります。ちなみに hostname コマンドを叩いたら boss とだけ表示されました。domain 名なしです(^^;;。

 DHCP での接続が終ったら /etc/hosts と /etc/resolv.conf を元に戻して rc.conf を書き換えてマシンをリブートすれば元の IP を使う設定で動き出します。うひひひ(^^)V。

 後、ちょっと試したのですが、samba がどうも動かないですねぇぇ。hostname が取得出来ないみたいです。まぁ、一時的な DHCP なんだからどーでもいーじゃん。って感じなのですがね(^^;;。

 それにしてもこれで完璧にモービル PC になりました。うひひひ(^^)V。

 FreeBSD 3.3-RELEASE からはインストール時に DHCP サーバを利用するか選択できる様になったのでインストールしやすいネットワーク環境を持っている人はだいぶラクチンになつたのではないでしょうか。ふふふ。良かったですねぇぇ。あ、僕はあんまり DHCP は 好きでは無いですけどね(^^;;。


Copyright (c) 1997-2004 takachan@running-dog.net All Rights Reserved.