HOME > コンテンツリスト > ラボ・シナリオ for CCNA > [ < 前へ 次へ > ]

DHCPサーバーを構成する

DHCP はIPアドレスを自動構成するためのプロトコルで、DHCP クライアントからの要求に基づき、DHCP サーバーがIPアドレスを DHCP クライアントに割り当てます。DHCP サーバーは、同じIPアドレスを異なる DHCP クライアントに割り当てないようにIPアドレスの管理を行っています。

DHCP では、デフォルトゲートウェイや DNS サーバーのIPアドレスなど、IPアドレス以外の情報も提供し、DHCP クライアントを自動構成します。



Cisco ルータには DHCP サーバーおよび DHCP クライアント機能がありますが、本シナリオでは、Cisco ルータを DHCP サーバーに、PC を DHCP クライアントにした内容になっています。
想定するネットワーク構成図

ラボ・シナリオで使用するネットワーク構成図
・物理 PC の VirtualBox 上に、PC-A と PC-B の2つの仮想 PC を構成する。
・PC-A と PC-B は物理 PC に標準搭載している LAN ポートを使用するように VirtualBox を設定する。
・PC-A と PC-B が使用している物理 PC の LAN ポートのプロパティで、[VirtualBox Bridged Networking Driver] 以外の全てのチェックを外す



※ 物理 PC の LAN ポートのプロパティで、[VirtualBox Bridged Networking Driver] 以外のチェックを外すのは、物理 PC の LAN ポート自身に DHCP によるアドレス取得をさせないためです。実際には [TCP/IPv4] のチェックを外すだけでいいのですが、VirtualBox 上の仮想 PC を使うだけであれば他も必要ないので外します。
  1. PC-A、PC-B に固定IPアドレスを設定する。
  2. < PC-A >
    C:\> netsh interface ipv4 set address "イーサネット" static 192.168.1.1 255.255.255.0
    
    C:\>
    
    < PC-B >
    C:\> netsh interface ipv4 set address "イーサネット" static 192.168.1.2 255.255.255.0
    
    C:\> 
    
    設定するアドレスは何でもかまいません。
    本シナリオに沿ってやっていくには、勝手に自動で DHCP サーバーからアドレスを取得してもらっては困るので、その対処のために事前に固定アドレスを設定します。
  3. RT-A をネットワーク構成図に示す通り設定し、以下の情報を基に DHCP サーバーを構成しなさい。
  4. プール名RT-A-F0/0
    割り当てるアドレスの範囲172.16.1.0/24
    デフォルトゲートウェイ172.16.1.1
    ドメイン名jukenki.local
    DNSサーバーのIPアドレス8.8.8.8
    リース期間3日
    < RT-A >
    Router# conf t
    Enter configuration commands, one per line.  End with CNTL/Z.
    Router(config)# host RT-A
    RT-A(config)# int f0/0
    RT-A(config-if)# ip add 172.16.1.1 255.255.255.0
    RT-A(config-if)# no shut
    RT-A(config-if)# ip dhcp pool RT-A-F0/0              ← DHCP アドレスプールの作成
    RT-A(dhcp-config)# network 172.16.1.0 255.255.255.0  ← クライアントに割り当てるアドレスの範囲
    RT-A(dhcp-config)# default-router 172.16.1.1         ← デフォルトゲートウェイ
    RT-A(dhcp-config)# domain-name jukenki.local         ← ドメイン名
    RT-A(dhcp-config)# dns-server 8.8.8.8                ← DNS サーバーのIPアドレス
    RT-A(dhcp-config)# lease 3                           ← リース期間
    RT-A(dhcp-config)# ^Z
    RT-A#
    
    プール名は決められた名前はなく何でも結構です。例えば、RT-A の F0/0 に接続しているネットワークが営業部だったら、Sales_Division という名前でもいいと思います。

    DNS サーバーのIPアドレスは 8.8.8.8 で指定されていますが、8.8.8.8 というIPアドレスはこのネットワーク内にはありません。架空のIPアドレス (実際には Google のパブリック DNS サーバーのIPアドレス) を使用しています。

    DHCP サーバーから DHCP クライアントへは、通常、一定期間の貸し出しとして、IPアドレスが割り当てられます。それがリース期間です。デスクトップ PC (移動しない PC) が多い場合はリース期間を長くし、モバイル PC (移動する PC) が多い場合はリース期間を短く設定するのが一般的です。lease コマンドは次のコマンドで設定します。

    lease [日] [時間] [分]
    [設定例]
    lease 3    ← 3日
    lease 1 12   ← 1日と12時間
    lease 0 0 30  ← 30分
    [DHCP サーバーの設定手順]

    1. DHCP アドレスプールの作成
      ip dhcp pool [プール名]
      DHCP ではプールを作成し、そのプール内でクライアントに割り当てるIPアドレスやデフォルトゲートウェイを設定する

    2. クライアントに割り当てるアドレスの範囲の指定
      network [ネットワークアドレス] [サブネットマスク/プレフィックス長]

    3. ----------- 最低限必要なのはここまで、後はオプション -----------

    4. デフォルトゲートウェイの指定
      default-router [デフォルトゲートウェイのIPアドレス]

    5. DNS サーバーの指定
      dns-server [DNSサーバーのIPアドレス]

    6. リース期間の指定
      lease [日] [時間] [分]

    上記以外にも dhcp-config では様々なオプション指定が可能です。
    RT-A(dhcp-config)# ?
    DHCP pool configuration commands:
      accounting           Send Accounting Start/Stop messages
      bootfile             Boot file name
      class                Specify a DHCP class
      client-identifier    Client identifier
      client-name          Client name
      default-router       Default routers
      dns-server           DNS servers
      domain-name          Domain name
      exit                 Exit from DHCP pool configuration mode
      hardware-address     Client hardware address
      host                 Client IP address and mask
      import               Programatically importing DHCP option parameters
      lease                Address lease time
      netbios-name-server  NetBIOS (WINS) name servers
      netbios-node-type    NetBIOS node type
      network              Network number and mask
      next-server          Next server in boot process
      no                   Negate a command or set its defaults
      option               Raw DHCP options
      origin               Configure the origin of the pool
      relay                Function as a DHCP relay
      remember             Remember released bindings
      renew                Configure renewal policy
      server               Configure the server ID option value
      subnet               Subnet allocation commands
      update               Dynamic updates
      utilization          Configure various utilization parameters
      vrf                  Associate this pool with a VRF
    
    RT-A(dhcp-config)#
    
    また、クライアントに割り当てるアドレスの範囲の中で、クライアントに割り当てたくないアドレスがある場合、次のコマンドでそのアドレスを除外します。ただし、このコマンドはグローバルコンフィグレーションモードで実行します。

    ・除外範囲を指定する場合
    ip dhcp excluded-address [開始アドレス] [終了アドレス]

    ・1つの除外アドレスを指定する場合
    ip dhcp excluded-address [IPアドレス]
  5. 設定した内容を show run で確認しなさい。
  6. < RT-A >
    RT-A# sh run | section ip dhcp pool
    ip dhcp pool RT-A-F0/0
     network 172.16.1.0 255.255.255.0
     default-router 172.16.1.1
     domain-name jukenki.local
     dns-server 8.8.8.8
     lease 3
    RT-A#
    
  7. PC-A を DHCP クライアントに設定し、取得したIPアドレス情報を確認しなさい。
  8. < PC-A >
    C:\> netsh interface ipv4 set address "イーサネット" dhcp
    
    C:\> ipconfig /all
    
    Windows IP 構成
    
       ホスト名. . . . . . . . . . . . . . .: PC-A
       プライマリ DNS サフィックス . . . . .:
       ノード タイプ . . . . . . . . . . . .: ハイブリッド
       IP ルーティング有効 . . . . . . . . .: いいえ
       WINS プロキシ有効 . . . . . . . . . .: いいえ
       DNS サフィックス検索一覧. . . . . . .: jukenki.local
    
    イーサネット アダプター イーサネット:
    
       接続固有の DNS サフィックス . . . . .: jukenki.local
       説明. . . . . . . . . . . . . . . . .: Intel(R) PRO/1000 MT Desktop Adapter
       物理アドレス. . . . . . . . . . . . .: 00-9F-31-0A-00-00
       DHCP 有効 . . . . . . . . . . . . . .: はい
       自動構成有効. . . . . . . . . . . . .: はい
       IPv4 アドレス . . . . . . . . . . . .: 172.16.1.2(優先)
       サブネット マスク . . . . . . . . . .: 255.255.255.0
       リース取得. . . . . . . . . . . . . .: 2014年1月16日 1:49:19
       リースの有効期限. . . . . . . . . . .: 2014年1月19日 1:49:18
       デフォルト ゲートウェイ . . . . . . .: 172.16.1.1
       DHCP サーバー . . . . . . . . . . . .: 172.16.1.1
       DNS サーバー. . . . . . . . . . . . .: 8.8.8.8
       NetBIOS over TCP/IP . . . . . . . . .: 無効
    
    C:\>
    
    IPv4 アドレス . . . . . . . . . . . .: 172.16.1.2(優先)
    
    DHCP サーバーから割り当てられたIPアドレスは 172.16.1.2 です。
    172.16.1.0/24 の中の若番からクライアントに割り当てていきます。
    RT-A の F0/0 に設定しているIPアドレス 172.16.1.1 は、アドレスプールの中から自動的に除外されるので、この次のIPアドレスである 172.16.1.2 が PC-A に与えられます。
    ※ もし取得したアドレスが 172.16.1.2 ではなく 172.16.1.3 ならば、物理 PC が DHCP に設定されており、物理 PC が 172.16.1.2 を取得していると思います。その場合は、次の PC-B も1つずれます。

    リース取得. . . . . . . . . . . . . .: 2014年1月16日 1:49:19
    リースの有効期限. . . . . . . . . . .: 2014年1月19日 1:49:18
    
    リース開始 (2014年1月16日 1:49:19) とリース終了 (2014年1月19日 1:49:18) です。
    リース終了までの間にリース期間の更新処理が行われ、特に問題なければ同じIPアドレスを使い続けることができます。
  9. PC-B を DHCP クライアントに設定し、取得したIPアドレス情報を確認しなさい。
  10. < PC-B >
    C:\> netsh interface ipv4 set address "イーサネット" dhcp
    
    C:\> ipconfig /all
    
    Windows IP 構成
    
       ホスト名. . . . . . . . . . . . . . .: PC-B
       プライマリ DNS サフィックス . . . . .:
       ノード タイプ . . . . . . . . . . . .: ハイブリッド
       IP ルーティング有効 . . . . . . . . .: いいえ
       WINS プロキシ有効 . . . . . . . . . .: いいえ
       DNS サフィックス検索一覧. . . . . . .: jukenki.local
    
    イーサネット アダプター イーサネット:
    
       接続固有の DNS サフィックス . . . . .: jukenki.local
       説明. . . . . . . . . . . . . . . . .: Intel(R) PRO/1000 MT Desktop Adapter
       物理アドレス. . . . . . . . . . . . .: 00-9F-31-0B-00-00
       DHCP 有効 . . . . . . . . . . . . . .: はい
       自動構成有効. . . . . . . . . . . . .: はい
       IPv4 アドレス . . . . . . . . . . . .: 172.16.1.3(優先)
       サブネット マスク . . . . . . . . . .: 255.255.255.0
       リース取得. . . . . . . . . . . . . .: 2014年1月16日 1:51:27
       リースの有効期限. . . . . . . . . . .: 2014年1月19日 1:51:42
       デフォルト ゲートウェイ . . . . . . .: 172.16.1.1
       DHCP サーバー . . . . . . . . . . . .: 172.16.1.1
       DNS サーバー. . . . . . . . . . . . .: 8.8.8.8
       NetBIOS over TCP/IP . . . . . . . . .: 無効
    
    C:\>
    
    PC-B にはIPアドレス 172.16.1.3 が割り当てられました。
  11. RT-A で、show ip dhcp binding コマンドを実行しなさい。
  12. < RT-A >
    RT-A# sh ip dhcp binding
    Bindings from all pools not associated with VRF:
    IP address          Client-ID/              Lease expiration        Type
                        Hardware address/
                        User name
    172.16.1.2          0100.9f31.0a00.00       Jan 18 2014 04:36 PM    Automatic
    172.16.1.3          0100.9f31.0b00.00       Jan 18 2014 04:38 PM    Automatic
    RT-A#
    
    show ip dhcp binding コマンドで、DHCP クライアントに割り当てられているIPアドレスのリストを表示することができます。上記では「172.16.1.2」と「172.16.1.3」の2つのIPアドレスを DHCP クライアントに割り当てています。Lease expiration はリース終了日時ですが、PC 側のリース終了日時 (Lease Expires) とは一致していません。これは Cisco ルータの時間が UTC で、PC 側の時間が JST だからです。
  13. RT-A のグローバルコンフィグレーションモードで、clock timezone jst +9 コマンドを実行しなさい。
  14. < RT-A >
    RT-A# conf t
    Enter configuration commands, one per line.  End with CNTL/Z.
    RT-A(config)# clock timezone jst +9
    RT-A(config)# ^Z
    RT-A#
    
  15. RT-A で、show ip dhcp binding コマンドを実行しなさい。
  16. < RT-A >
    RT-A# sh ip dhcp binding
    Bindings from all pools not associated with VRF:
    IP address          Client-ID/              Lease expiration        Type
                        Hardware address/
                        User name
    172.16.1.2          0100.9f31.0a00.00       Jan 19 2014 01:36 AM    Automatic
    172.16.1.3          0100.9f31.0b00.00       Jan 19 2014 01:38 AM    Automatic
    RT-A#
    
    PC とリース終了日時が一致しました。
    ※ もしこの時間が合っていない場合は、ルータの時間がもともと狂っていたと思います。
  17. PC-B で ipconfig /release を実行しなさい。
  18. < PC-B >
    C:\> ipconfig /release
    
    Windows IP 構成
    
    
    イーサネット アダプター イーサネット:
    
       接続固有の DNS サフィックス . . . . .:
       デフォルト ゲートウェイ . . . . . . .:
    
    C:\>
    
    ipconfig /release は、DHCP サーバーから取得したIPアドレスを解放するためのコマンドです。
  19. RT-A で、show ip dhcp binding コマンドを実行しなさい。
  20. < RT-A >
    RT-A# sh ip dhcp binding
    Bindings from all pools not associated with VRF:
    IP address          Client-ID/              Lease expiration        Type
                        Hardware address/
                        User name
    172.16.1.2          0100.9f31.0a00.00       Jan 19 2014 01:36 AM    Automatic
    RT-A#
    
    PC-B でIPアドレスの解放を行ったため、PC-B に割り当てていたIPアドレス 172.16.1.3 が、割り当て済みIPアドレスリストから消えました。
  21. PC-B で ipconfig /renew を実行しなさい。
  22. < PC-B >
    C:\> ipconfig /renew
    
    Windows IP 構成
    
    
    イーサネット アダプター イーサネット:
    
       接続固有の DNS サフィックス . . . . .: jukenki.local
       IPv4 アドレス . . . . . . . . . . . .: 172.16.1.3
       サブネット マスク . . . . . . . . . .: 255.255.255.0
       デフォルト ゲートウェイ . . . . . . .: 172.16.1.1
    
    C:\>
    
    ipconfig /renew は、DHCP サーバーからIPアドレスを再取得 (更新) するためのコマンドです。
  23. RT-A で、show ip dhcp binding コマンドを実行しなさい。
  24. < RT-A >
    RT-A# sh ip dhcp binding
    Bindings from all pools not associated with VRF:
    IP address          Client-ID/              Lease expiration        Type
                        Hardware address/
                        User name
    172.16.1.2          0100.9f31.0a00.00       Jan 19 2014 01:36 AM    Automatic
    172.16.1.3          0100.9f31.0b00.00       Jan 19 2014 01:41 AM    Automatic
    RT-A#
    

  25. PC-A と PC-B で ipconfig /release を実行しなさい。
  26. < PC-A >
    C:\> ipconfig /release
    
    Windows IP 構成
    
    イーサネット アダプター イーサネット:
    
       接続固有の DNS サフィックス . . . . .:
       デフォルト ゲートウェイ . . . . . . .:
    
    C:\>
    
    < PC-B >
    C:\> ipconfig /release
    
    Windows IP 構成
    
    イーサネット アダプター イーサネット:
    
       接続固有の DNS サフィックス . . . . .:
       デフォルト ゲートウェイ . . . . . . .:
    
    C:\>
    

    例えば、次の図のように、一部の PC には固定IPアドレスを手動で設定し、残りの PC にのみ自動でIPアドレスを割り当てたいことがよくあります。このような場合は、手動で設定したいIPアドレスを DHCP の割当範囲から除外します。

  27. RT-A で DHCP に関する以下の設定をしなさい。
  28. 除外アドレス172.16.1.1 - 172.16.1.10
    < RT-A >
    RT-A# conf t
    Enter configuration commands, one per line.  End with CNTL/Z.
    RT-A(config)# ip dhcp excluded-address 172.16.1.1 172.16.1.10
    RT-A(config)# ^Z
    RT-A#
    
    DHCP クライアントに割り当てるIPアドレスの範囲 (172.16.1.0/24) の中で、DHCP クライアントに割り当てたくないIPアドレス (各 PC に手動で設定するIPアドレス) を、除外アドレスとしてアドレスプールから取り除くことができます。除外するアドレスは次のコマンドで指定します。[開始アドレス]から[終了アドレス]までのIPアドレスが除外されます。

    ip dhcp excluded-address [開始アドレス] [終了アドレス]

    ルータのインターフェイスに設定されているIPアドレス (172.16.1.1) はアドレスプールから自動的に除外されますが、除外アドレスにこのIPアドレスを含める場合が多いので 172.16.1.1 も追加しています。
  29. PC-A と PC-B で ipconfig /renew を実行しなさい。
  30. < PC-A >
    C:\> ipconfig /renew
    
    Windows IP 構成
    
    
    イーサネット アダプター イーサネット:
    
       接続固有の DNS サフィックス . . . . .: jukenki.local
       IPv4 アドレス . . . . . . . . . . . .: 172.16.1.11
       サブネット マスク . . . . . . . . . .: 255.255.255.0
       デフォルト ゲートウェイ . . . . . . .: 172.16.1.1
    
    C:\>
    
    < PC-B >
    C:\> ipconfig /renew
    
    Windows IP 構成
    
    
    イーサネット アダプター イーサネット:
    
       接続固有の DNS サフィックス . . . . .: jukenki.local
       IPv4 アドレス . . . . . . . . . . . .: 172.16.1.12
       サブネット マスク . . . . . . . . . .: 255.255.255.0
       デフォルト ゲートウェイ . . . . . . .: 172.16.1.1
    
    C:\>
    
    除外アドレスは DHCP クライアントには割り当てられないので、次のIPアドレス 172.16.1.11 が PC-A に割り当てられ、172.16.1.12 が PC-B に割り当てられました。
  31. RT-A で、show ip dhcp binding コマンドを実行しなさい。
  32. < RT-A >
    RT-A# sh ip dhcp binding
    Bindings from all pools not associated with VRF:
    IP address          Client-ID/              Lease expiration        Type
                        Hardware address/
                        User name
    172.16.1.11         0100.9f31.0a00.00       Jan 19 2014 01:42 AM    Automatic
    172.16.1.12         0100.9f31.0b00.00       Jan 19 2014 01:43 AM    Automatic
    RT-A#
    
  33. RT-A で、show ip dhcp pool コマンドを実行しなさい。
  34. < RT-A >
    RT-A# sh ip dhcp pool
    
    Pool RT-A-F0/0 :
     Utilization mark (high/low)    : 100 / 0
     Subnet size (first/next)       : 0 / 0
     Total addresses                : 254
     Leased addresses               : 2
     Pending event                  : none
     1 subnet is currently in the pool :
     Current index        IP address range                    Leased addresses
     172.16.1.13          172.16.1.1       - 172.16.1.254      2
    RT-A#
    
    show ip dhcp pool コマンドでは、DHCP クライアントに割り当てるアドレスの範囲や割り当て済みアドレスの数など、DHCP アドレスプールに関する情報を表示させることができます。