イントラに接続されるクライアントマシンのネットワーク設定を簡素化する為にfreeBSDサーバーにDHCPを動かしましょう!
これはMACアドレスに応じでIPアドレスを固定できます。なので例えばとある1台しかfreeBSDのSSH接続を許可したくないなど
名前解決に関してもDHCPとはいえIP固定になりますので扱いやすいです。
クライアントマシンのネットワーク設定は全てサーバーから取得するで動きますので、ノートPCのように持ち出す事のある
場合などとても便利になります。
これまたパッケージでインストールしてしまいましょう!これだけでインストールは終了です。
# pkg_add -r wide-dhcp
もしくは
/stand/sysinstall
Webmin
などからでもインストールして下さい。
まずカーネルの再構築が必要な場合が有ります。
自分の作成したカーネルの設定ファイルを見て下さい。
以下の行が無い場合は追加(修正)してカーネル再構築+インストールしてください。
device bpf
DHCPサーバーデーモンを走らせるシェルを編集します。
/usr/local/etc/rc.d/wide-dhcps.sh を編集するfxpの部分をDHCPを走らせるインターフェース名に修正して下さい。
#!/bin/sh if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then echo "$0: Cannot determine the PREFIX" >&2 exit 1 fi DB_POOL=/etc/dhcpdb.pool DB_RELAY=/etc/dhcpdb.relay DB_BIND=/var/db/dhcpdb.bind case "$1" in start) if [ -f ${DB_POOL} -a -f ${DB_RELAY} -a -x ${PREFIX}/sbin/dhcps ]; then if [ -f ${DB_BIND} ]; then find ${DB_POOL} -newer ${DB_BIND} -exec rm ${DB_BIND} \; fi ${PREFIX}/sbin/dhcps fxp0 #DHCPを走らせるインターフェース名 echo -n ' dhcps' fi ;; stop) killall dhcps && echo -n ' dhcps' ;; *) echo "Usage: `basename $0` {start|stop}" >&2 ;; esac exit 0
使わないが無いと行けないらしいので以下のコマンドで
空のファイルをつくっておく
# touch /etc/dhcpdb.relay
このファイルがDHCPのメインとなる設定を書くファイルである。
/etc/dhcpdb.pool を編集する各項目の説明をします
global:!snmk=255.255.255.0:tmof=32400: internal:tblc=global:rout=192.168.1.1:dht1=500:dht2=850:\ :brda=192.168.1.255:dnsv=192.168.1.1 202.238.95.26:dnsd=hogehoge.org:nnsv=192.168.1.1: 1: :ipad=192.168.1.2:hstn="windows1.hogehoge.org":clid="1:0x0123456789ab":tblc=internal: 2: :ipad=192.168.1.3:hstn="windows2.hogehoge.org":clid="1:0x123456789abc":tblc=internal: 3: :ipad=192.168.1.4:hstn="windows3.hogehoge.org":clid="1:0x23456789abcd":tblc=internal: 4: :ipad=192.168.1.5:hstn="windows4.hogehoge.org":clid="1:0x3456789abcde":tblc=internal: 5: :ipad=192.168.1.6:dfll=3600:maxl=7200:tblc=internal: 6: :ipad=192.168.1.7:dfll=3600:maxl=7200:tblc=internal: 7: :ipad=192.168.1.8:dfll=3600:maxl=7200:tblc=internal: 8: :ipad=192.168.1.9:dfll=3600:maxl=7200:tblc=internal:
snmk=255.255.255.0・・・・・・・・DHCPサーバーを稼働させるイントラ側のサブネットマスク
tmof=32400・・・・・・・・・・・・・・オフセット時間(日本は+32400秒)
internal・・・・・・・・・・・・・・・・・・名前なので何でもかまいません
tblc=global・・・・・・・・・・・・・・・わかりません同じにしておきましょう
rout・・・・・・・・・・・・・・・・・・・・DHCPで出力するIPアドレス(freeBSDのイントラ側IPアドレス)
dht1,dht2・・・・・・・・・・・・・・・・有効時間関係だと思う
\・・・・・・・・・・・・・・・・・・・・・・行が続くが改行したい場合は入れる
brda・・・・・・・・・・・・・・・・・・・・ブロードキャストアドレス
dnsv・・・・・・・・・・・・・・・・・・・クライアントが使用するDNSサーバーアドレス
dnsd・・・・・・・・・・・・・・・・・・・ドメイン名(イントラなので自由ですがrc.confと同じにしてください)
nnsv・・・・・・・・・・・・・・・・・・・WINSサーバーアドレス(freeBSDマシンをWINSサーバーにしてた場合など)
1〜8は行番号
ipad・・・・・・・・・・・・・・・・・・・IPアドレス
hstn・・・・・・・・・・・・・・・・・・ホスト名
clid="1:0x************"・・・・・・・・・MACアドレスを入れる
tblc・・・・・・・・・・・・・・・・・・・上で入れたinternalの名前との関連させる
MACアドレスの記入の無いIPアドレス割り当てはMACアドレスがどれにも一致しない場合に割り当てるアドレスである。
最初は必ず作っておいて、Windowsマシンで希望のアドレスが割り当てられるまでは削除しないでおきましょう。
立ち上げ直せば自動でシェルが走りDHCPサーバーが動き出すはずです。
コマンドラインからはで起動するはずです。
# /usr/local/etc/rc.d/wide-dhcps.sh start
あとはクライアントマシンを接続してもらったネットワーク設定を確認して見ましょう!