4.wide-dhcp-1.4.0p5 (DHCPサーバ&クライアント)のインストール&設定 [目次へ] |
ed1は、wide-dhcpのなかのdhcpc(dhcpクライアント)を使用して、アドレスを取得できるようにする。起動時は、192.168.13.7という仮のアドレスを設定しているので、それを置き換えるようにします。
1) wide-dhcp-1.4.0p5のインストール
CD-Rで作成したCD-ROMを入れてください。
#/stand/sysinstall
「c.Configure」「P.Packages」「1.CD-ROM」[All]「[X]wide-dhcp-1.4.0p5」
「OK」「Install」「OK」
インストールが終了したら「Exit」「OK」「Exit Install」
通常は、この方法で出来るのですが、自分で作成したCD-ROMからのpackageのインストールに問題がありますので、次の方法で行ってください。
#mount /cdrom
#cd /cdrom/3.2-release/packages/net
#pkg_add wide-dhcp-1.4.0p5.tgz
#cd /
#/umount /cdrom
2)カーネルを再構築
カーネルに bpfilter を追加してなければ、"pseudo-device bpfilter 4" を追加してカーネルを再構築する。すでに前項でbpfilter 4にしていればカーネルの再構築ありません。
bpf0〜bpf3 のデバイスファイルがあるか確認する
#cd /dev
#ls bpf* ←でbpf0〜bpf3 のデバイスファイルがあるか確認する
なければ
./MAKEDEV bpf0
./MAKEDEV bpf1 bpf2 bpf3 ←で3つ一度にできる
3) DHCP ServerおよびClient が起動するようにSetup
インストールすると/usr/local/etc/rc.d/wide-dhcps.sh-sample が出来ますので書き換えます。
#cd /usr/local/etc/rc.d/
#mv wide-dhcps.sh-sample wide-dhcp.sh
#ee wide-dhcp.sh
元のファイルの変更点は、
下の例の10行目/usr/local/sbin/dhcps fe0のように、[fe0]をdhcpサーバーを動かしたいポートに変更します。
最後の2行を追加し、dhcpクライアントソフトも起動するようにします。
#!/bin/sh
DB_POOL=/etc/dhcpdb.pool
DB_RELAY=/etc/dhcpdb.relay
DB_BIND=/var/db/dhcpdb.bind
if [ -f ${DB_POOL} -a -f ${DB_RELAY} \
-a -x /usr/local/sbin/dhcps ]; then
if [ -f ${DB_BIND} ]; then
find ${DB_POOL} -newer ${DB_BIND} -exec rm ${DB_BIND} \;
fi
/usr/local/sbin/dhcps fe0
echo -n ' dhcps'
fi
echo -n ' dhcpc '
/usr/local/sbin/dhcpc -r -n ed1
次のファイルを作らなければ、dhcpcのクライアントのみが動きます。
WIDE-DHCP の設定は /etc/dhcpdb.pool と /etc/dhcpdb.relay という2つのファイルで行なう。
relay の方は、今回の場合はリレーエージェントの設定の必要がないので、0バイトファイルとして作成する。
#touch /etc/dhcpdb.relay
#ee /etc/dhcpdb.pool
/etc/dhcpdb.pool の変更 # define a global entry which specifies the stuff every host uses.
global:!snmk=255.255.255.0:tmof=32400:# define different master entries for each subnet.
internal:tblc=global:rout=192.168.13.11:dht1=500:dht2=850:\(←半角)
:brda=192.168.13.255:\(←半角)
:dnsv=210.ddd.nnn.sss(CATV側のDNS)# entries for dynamic / automatic allocation (DHCP)
1001: :ipad=192.168.13.32:dfll=3600:maxl=7200:tblc=internal:
1002: :ipad=192.168.13.33:dfll=3600:maxl=7200:tblc=internal:
1003: :ipad=192.168.13.34:dfll=3600:maxl=7200:tblc=internal:
1004: :ipad=192.168.13.35:dfll=3600:maxl=7200:tblc=internal:上記のように、192.168.13.32〜192.168.1.35 の 4つのアドレスを DHCP アドレスに割り当てる。
dhcpsをすぐ動かしてみたい場合は、 #/usr/local/sbin/dhcps fe0 で起動します。(ep0は内部LAN側)
dhcpcをすぐ動かしてみたい場合は、 #/usr/local/sbin/dhcpc -r -n ed1 で起動します。(ed1は外部CATV側)
-r:/etc/resolv.confを、dhcpサーバーから知らされたDNSサーバーアドレスに書き換える
-n:クライアントのホスト名をdhcpサーバーから知らされた名前に書き換える。
これにより、ed1に192.168.13.7 を仮設定しておいたものを、FreeBSDの立ち上げ時に、
CATVのグローバルのIPアドレスをCATVのDHCPサーバーからのグローバルなIPアドレスに置き換える。
5) 確認
#ifconfig -a でed1のIPアドレスを確認する 192.168.13.7のはずです
#/usr/local/sbin/dhcpc -r -n ed1
#ifconfig -a でed1のIPアドレスを確認する 210.rrr.uuu.abcのはずです
OKなら
#reboot した後
#ps ax でdhcpsとdhcpcが動いているかを確認する
#ifconfig -a で、ed1 がDHCPからグローバルなアドレスが割り当てられているかを確認する。
pingがfe0,ed1のどちらも通るか確認する。
#ping -c 3 210.rrr.uuu.ttt (CATVのルータなどにpingを3回くらいかけてみる)
#ping -c 3 192.168.13.1 (MN128SOHOのアドレスなどにpingを3回くらいかけてみる)