DHCPクライアントであるdhclientがクライアントマシンで実行されると、構成情報の要求のブロードキャストを開始します。デフォルトでは、これらの要求はUDPポート68で行われます。サーバーはUDP 67で応答し、クライアントにIPアドレスと、ネットマスク、ルーター、DNSサーバーなどの他の関連するネットワーク情報を提供します。この情報はすべて、DHCPの「リース」の形式で提供されます。また、特定の期間のみ有効です(DHCPサーバーメンテナによって設定されます)。このようにして、ネットワークに接続されなくなったクライアントの古いIPアドレスを自動的に再利用できます。
DHCPサーバー(またはDHCPd)は、DHCPクライアントに必要な情報を提供するサーバーであり、スイートのサーバー部分はFreeBSDの一部として提供されないため、net/isc-dhcp3-serverからインストールする必要があります。このサービスを提供するためのポート。
FreeBSDにはISCDHCPが付属しており、ポートnet/isc-dhcp3-serverとしてFreeBSDが付属しています。
これをインストールするには、ports net / isc-dhcp3-serverディレクトリに移動し、次のコマンドを実行します。
# make install clean
DHCPdは、構成ファイル(通常は/ usr / local / etcディレクトリにあるdhcpd.conf)を使用して構成されます。通常、 dhcpd.conf.exampleという設定ファイルの例があります。 ディレクトリで。 dhcpd.conf.exampleをコピーします dhcpd.confへ または、新しい dhcpd.confを作成します DHCPサーバーで変更を加える前に。
dhcpd.confは、サブネットとホストに関する宣言で構成されており、例を使用して最も簡単に説明できます:
オプションドメイン名「example.com」; (1)
オプションdomain-name-servers192.168.4.100; (2)
オプションサブネットマスク255.255.255.0; (3)デフォルト-リース時間3600; (4)
最大リース時間86400; (5)
ddns-update-style none; (6)サブネット192.168.4.0ネットマスク255.255.255.0{
範囲192.168.4.129192.168.4.254; (7)
オプションルーター192.168.4.1; (8)
}ホストメールホスト{
ハードウェアイーサネット02:03:04:05:06:07; (9)
固定アドレスmailhost.example.com; (10)
}
(1)このオプションは、デフォルトの検索ドメインとしてクライアントに提供されるドメインを指定します。
(2)このオプションは、クライアントが使用する必要があるDNSサーバーのコンマ区切りリストを指定します。
(3)クライアントに提供されるネットマスク。
(4)クライアントは、リースが有効になる特定の期間を要求できます。それ以外の場合、サーバーはこの有効期限値(秒単位)でリースを割り当てます。
(5)これは、サーバーがリースする最大時間です。クライアントがより長いリースを要求した場合、リースが発行されますが、それはmax-lease-time秒の間のみ有効です。
(6)このオプションは、リースが受け入れられたとき、または解放されたときにDHCPサーバーがDNSの更新を試行するかどうかを指定します。 ISCの実装では、このオプションが必要です。
(7)これは、クライアントに割り当てるために予約されているプールでどのIPアドレスを使用する必要があるかを示します。記載されているものとの間のIPアドレスがクライアントに配布されます。
(8)クライアントに提供されるデフォルトゲートウェイを宣言します。
(9)ホストのハードウェアMACアドレス(DHCPサーバーが要求を行うときにホストを認識できるようにするため)。
(10)ホストには常に同じIPアドレスを指定する必要があることを指定します。 DHCPサーバーはリース情報を返す前にホスト名自体を解決するため、ここではホスト名の使用が正しいことに注意してください。
dhcpd.confの作成が完了したら、次のコマンドを発行してサーバーの起動に進むことができます。
# /usr/local/etc/rc.d/isc-dhcpd.sh start
将来サーバーの構成を変更する必要がある場合は、SIGHUPシグナルをdhcpdに送信しても、ほとんどのデーモンのように構成が再ロードされないことに注意してください。プロセスを停止し、上記のコマンドを使用して再起動するSIGTERMシグナル。例:
# ps wax | grep dhcpd
dhcpdのpidは上記のコマンドで表示され、次のコマンドを発行して強制終了します。
# kill -15 (pid of dhcpd)