# IP付加機能 / DHCPサーバー

本製品のDHCPサーバー機能について説明します。
Note

セカンダリーIPアドレスを使ってインターフェースに複数のIPアドレスを設定した場合、複数設定した内のいずれか1つのIPサブネット上でDHCPサーバー機能を使用することはできますが、複数のIPサブネット上では使用できません。

Note

DHCPクライアント機能については、「IP」の「IPインターフェース」をご覧ください

DHCP（Dynamic Host Configuration Protocol）は、クライアントに対して動的にIP設定パラメーターを提供する機能です。
DHCPサーバーは、クライアントの要求に対して、あらかじめプールされたIPアドレスの中から使用されていないアドレスを選び、一定期間クライアントに割り当てます。
また、サブネットマスクやデフォルトルート、ネームサーバーアドレスなど、同一サブネット内で共通に用いられるパラメーターをサーバー側で管理し、クライアントに提供することもできます。

## 基本設定

本製品をDHCPサーバーとして機能させるために必要な設定について説明します。
なお、以下の例では、IPの基本設定までは完了しているものとします。IPインターフェースの基本設定については「IP」の「IPインターフェース」をご覧ください。

1. DHCPプールを作成します。ip dhcp poolコマンドを実行すると、指定したDHCPプールの設定を行うDHCPモードに移行します。

       awplus(config)# ip dhcp pool pool10

2. このDHCPプールを使用するIPネットワーク（サブネット）を指定します。DHCPプールを作成したら、最初にnetworkコマンドで対象とするサブネットを設定してください。ここでは、192.168.10.0/24（192.168.10.0～192.168.10.255）を指定します。

       awplus(dhcp-config)# network 192.168.10.0/24

   Note

   クライアントからの要求をDHCPリレーエージェント経由で受け入れる場合は、クライアントの所属するリモートサブネットのアドレスを指定します。
   クライアントが本装置と同じサブネットに存在している場合は、直結サブネットのアドレス（本装置のインターフェースに設定したサブネットアドレス）か、それよりも小さいサブネットアドレスを指定します。

   Note

   DHCPプールの設定を行っていないサブネット（IPインターフェース）でDHCP Discoverメッセージを受信した場合、`daemon.err awplus dhcpd[xxxxx]: DHCPDISCOVER from 00:12:3f:f5:8e:b4 via vlan1: network 172.17.0.0/16: no free leases` のようなerrorレベルのログメッセージが出力されます。このメッセージは、すべての直結サブネットにDHCPプールを設定した場合は表示されません。

3. クライアントに割り当てる動的IPアドレスの範囲を指定します。ここで指定するアドレスは、前の手順で指定したサブネットの範囲内になくてはなりません。ここでは192.168.10.240～192.168.10.249の10アドレスを割り当てます。

       awplus(dhcp-config)# range 192.168.10.240 192.168.10.249

4. 動的IPアドレスの使用期限（リース時間）を設定します。ここでは、IPアドレスの使用期限（リース時間）を2時間とします。本設定を省略した場合は、デフォルトのリース時間1日が適用されます。

       awplus(dhcp-config)# lease 0 2 0

5. 特定のMACアドレスを持つクライアントに対しては、IPアドレスを静的割り当てするよう設定します。ここでは、MACアドレス「00:0c:29:2d:d8:cb」のクライアントに対して、IPアドレス192.168.10.252を静的割り当てするよう設定します。なお、静的割り当てしたアドレスには、leaseコマンドで設定したリース時間は適用されません（無期限となります）。

       awplus(dhcp-config)# host 192.168.10.252 000c.292d.d8cb

6. DHCPクライアントに提供する基本的なIP設定パラメーターを指定します。ここでは、サブネットマスク 255.255.255.0、デフォルトルート 192.168.10.1、プライマリーDNSサーバー 192.168.10.5、セカンダリーDNSサーバー 192.168.10.11、ドメイン名 tw.example.comの情報を提供するものとします。

       awplus(dhcp-config)# subnet-mask 255.255.255.0
       awplus(dhcp-config)# default-router 192.168.10.1
       awplus(dhcp-config)# dns-server 192.168.10.5
       awplus(dhcp-config)# dns-server 192.168.10.11
       awplus(dhcp-config)# domain-name tw.example.com
       awplus(dhcp-config)# exit

   Note

   IPアドレスなどを複数指定するときは、同じコマンドを複数実行してください。

   Note

   上記以外のもさまざまな設定情報をクライアントに提供することができます。詳細はDHCP関連コマンドの説明をご覧ください。なお、DHCPプールで設定していても、クライアントが要求しなかった情報は実際には送信されません。

7. DHCPサーバーを有効にします。

       awplus(config)# service dhcp-server

以上で設定は完了です。
DHCPサーバーの全般的な設定内容を確認するには、show ip dhcp server summaryコマンドを使います。
DHCPサーバーの統計情報を確認するには、show ip dhcp server statisticsコマンドを使います。
DHCPプールの情報を確認するには、show ip dhcp poolコマンドを使います。
DHCPクライアントに対するIPアドレス割り当て状況はshow ip dhcp bindingコマンドで確認できます。

### VRF-Liteとの併用

VRF-Lite使用時は、VRFインスタンスごとにDHCPプールを設定することができます。
ネットワーク構成にもよりますが、対象のVRFインスタンスが異なっていれば、同じIPアドレス範囲を使用するDHCPプールの作成も可能になります。
グローバル以外のVRFインスタンスでDHCPサーバー機能を使う場合は、DHCPプールの設定開始時にvrfコマンド（DHCPモード）でVRFインスタンスを指定してください。vrfコマンド（DHCPモード）を設定していないDHCPプールはグローバルVRFインスタンス用となります。
Note

VRF-Liteについては、「IP」/「VRF-Lite」をご覧ください。

たとえば、グローバル、VRF-BLUE、VRF-PINKの各VRFインスタンス向けにDHCPプールを作成するには、次のようにします。
グローバルVRFインスタンス用のglobal_poolではvrfコマンドを設定しません。
VRF-BLUE用のblue_poolとVRF-PINK用のpink_poolでは、networkコマンド、rangeコマンドの設定前にvrfコマンドで対象のVRFインスタンスを指定してください。

    awplus(config)# ip dhcp pool global_pool
    awplus(dhcp-config)# network 192.168.10.0/24
    awplus(dhcp-config)# range 192.168.10.240 192.168.10.249
    awplus(dhcp-config)# exit

    awplus(config)# ip dhcp pool blue_pool
    awplus(dhcp-config)# vrf VRF-BLUE
    awplus(dhcp-config)# network 192.168.10.0/24
    awplus(dhcp-config)# range 192.168.10.240 192.168.10.249
    awplus(dhcp-config)# exit

    awplus(config)# ip dhcp pool pink_pool
    awplus(dhcp-config)# vrf VRF-PINK
    awplus(dhcp-config)# network 192.168.10.0/24
    awplus(dhcp-config)# range 192.168.10.240 192.168.10.249
    awplus(dhcp-config)# exit