◎初めに
今回は、前回学んだIPアドレスが自動的に設定される流れについて見ていきましょう!実践多めですので、一緒に指動かしながら見ていきましょう!
◎前提知識
◆DHCP
IPアドレスを自動的に設定するためには、「DHCP(Dynamic Host Configuration Protocol)」と呼ばれるプロトコルを用います。通常、ルータやサーバが担い、定められたアドレスの範囲から、使われていないアドレスをリース(貸出)します。また、IPアドレスを用いた通信の際に必要なサブネットマスクなどの情報も同時に配信します。
DHCPに関する通信は、IPアドレスが割り当てられ前の通信であることから、基本は「ブロードキャスト」(全端末を対象として)通信を行います。この「DHCPがブロードキャストを用いる」という点は、実務の際に注意しなければならない点でもあるので、必ず覚えておきましょう。(なぜ注意しなければならないのかは、Linuxを用いる際に提示します)
◆DHCPの動き
DHCPを配信する側(「DHCPサーバ」と呼びます:ルータを用いている場合でもDHCPサーバと呼びます)と受け取る側(「DHCPクライアント」と呼びます)のやり取りの流れを見ていきましょう。
1.DHCPディスカバー
DHCPクライアントが、ブロードキャストでDHCPサーバを呼び出します。
ディスカバー(Discover)は「発見」を意味します。
2.DHCPオファー
DHCPディスカバーを受け取ったDHCPサーバは、設定情報をDHCPクライアントに提案します。
この時も勿論ブロードキャストで配信します。
オファー(Offer)は「提案」を意味します。
3.DHCPリクエスト
受信したDHCPオファーを受け入れることを通知します。
先程のDHCPオファーでDHCPサーバのIPアドレスを認知していますが、提案を受け入れたDHCPサーバ以外からもオファーが来ている場合があるためブロードキャストで送信し、自分自身の提案を受け入れたのか否かが各DHCPサーバに伝わるようにしています。
リクエスト(Request)は「要求」を意味します。
4.DHCPアック
サーバは、貸出情報(割当情報)を記録し、通信します。(記録しないと、同じIPアドレスを重複して登録してしまう恐れがあります)
クライアントは、受け取った設定を適用しそれを用いて通信します。
アックは「Acknowledge」の略称で、「確認」を意味します。
また、DHCPサーバからリースされるアドレスには貸出期間(リース期間)があります。借りているものなので、借りっぱなしはよくないですからね...(笑)
DHCPクライアントは、貸出期間が来たら(実際には貸出期間の半分になったら)貸出期間延長の申請をします。そのため、基本的には同じIPアドレスが割り振られるようになっていますが、場合によってはIPアドレスが変わる場合もあります。そのため、IPアドレスが変わってしまうことが問題になるような端末(ルータやサーバなど)はDHCPで設定することは推奨されません。
◎制作と解説
◆制作するネットワーク
前回のネットワークの中に、新たに2台の機器を追加します。

まず、Server "SV"をL2_SWのFa 0/24ポートと接続します。続いて、Router 2911 "R"のGi 0/1ポートをL2_SWのGi 0/1と接続します。RouterにはGi0/0ポートがありますが、次回以降にこのポートを使いたいため今回は空けておきます。因みに、2911とは実在するCiscoのルータの製品名です。
◆実習概要
今回は、サーバとルータそれぞれにIPアドレスを設定した後DHCPサーバとして運用するための設定をします。また、各端末の設定を変更してDHCPサーバからIPアドレスの貸出を受けます。
◆制作手順と解説
1.サーバとルータにIPアドレスを設定する。
今回は、RのGi0/1に【192.168.1.254/24】、SVに【192.168.1.10/24】を設定します。サーバについては、前回のパソコンのIPアドレスの設定と方法は同じなため割愛します。もしこのブログから読んでいる方がいらっしゃるようでしたら、下記のリンクからご確認ください。
ルータのIPアドレスの設定は、CUIで行うものとGUIで行うものがあります。今回は簡略化のために、GUIで設定します。CUIでの設定は別の記事で行いますのでお楽しみに。
ルータをクリックし、「Config」タブから「GigabitEthernet0/1」を選択します。後は、これまでと同じようにIPアドレスを設定します。
最後に、「Port Status」のチェックボックスをOnにしてください。ルータではすべてのポートが最初Off状態になっています。ただIPアドレスを設定するだけでは使用することができませんので、必ずOnにする操作が必要になります。

2.サーバにDHCPの設定をする。
それでは、本題に。まずは、サーバでDHCPの設定をしていきます。サーバをクリックして、「Services」タブの「DHCP」を選択します。今回弄る部分は「Start IP Address」「Subnet Mask」「Maximum Number of Users」です。意味はそのまま「配布するアドレスの先頭」「サブネットマスク」「接続可能最大数」です。「Start IP Address」から「Maximum Number of Users」分のアドレスを配布します。
例:
「Start IP Address」を【203.0.113.1】、「Maximum Number of Users」を【10】とした場合
⇒ 配布されるアドレスは【203.0.113.1 ~ 203.0.113.10】
今回は、【192.168.1.100~192.168.1.150】(/24) までを配布することにしましょう。これまでの説明をもとに、設定してみましょう。
また、最後に必ず「Save」を押して、「Interface」の横にある「Service」をOnにしてください。

3.端末をDHCPが利用できる設定にする。
これは非常に簡単です。今まで、パソコンのIPアドレスを設定する際に「Static」に丸がついていたのを「DHCP」に変更するだけです。
先ほどの設定がうまくいっていれば以下の画像のようになります。

この画像と違う場合:
・IPアドレスが「169.254」から始まるアドレスになっている。
空白のまま進まない。
⇒ServiceをOnにしているか、線がつながっているか確認しましょう
・IPアドレスが範囲外になっている。
「Start IP Address」や「Maximum Number of Users」が正しいか確認ましょう。
また、範囲内でも後半の方になる場合も上記を確認してみてください。
この状態であれば、通信することができます。試しに前回行ったPingコマンドをDHCPで割り当てられたアドレス宛に送信してみるのもいいかもしれませんね。
4.ルータにDHCPの設定をする。
最後は、ルータにDHCPの設定をしていきます。ルータのDHCPについては、GUIで設定することができないためCUIを使って設定していきます。
ルータをクリックし、「CLI」タブを開きます。四角の中をクリックし、もし「Press RETURN to get started.」と表示されている場合はEnterキーを押してください。「Router>」と表示されている状態で、次に進みます。
この後の入力内容は別の記事で解説するので今はとりあえずそのまま打ってください。
> enable
# configure terminal
「Enter configuration commands, one per line. End with CNTL/Z.」と表示されたのち、「Router(config)#」と表示されていればOKです。
この状態から、DHCPの設定をしていきます。まず先に、配布するIPアドレスの範囲を決めますが、Ciscoルータでは配布する範囲ではなく配布しない範囲を設定します。
(config)# ip dhcp excluded-address <IPv4アドレス:始> <IPv4アドレス:終>
例:
【203.0.113.1 ~ 203.0.113.10】を配布したい場合
⇒ 配布しない範囲(除外アドレス)は【203.0.113.11~203.0.113.254】(/24ネットワークの場合)
今回は、【192.168.1.150 ~ 192.168.1.200】(/24)のアドレスを配布することにします。これまでの説明をもとに設定してみましょう。
次に、配布するネットワーク情報の設定をします。先ほど決めたアドレスの範囲のことを、「プール」と呼び今から行う設定はこのプールに付随する情報を設定していくことになります。
今回は必要最低限として「ネットワーク」のみを設定します。
(config)# ip dhcp pool <プール名>
(dhcp-config)# network <ネットワークアドレス> <サブネットマスク>
ここで出てきた<プール名>は、特に決まりはないため好きに設定してください。私は「ルータ名_dhcpPLv4」みたいな名前を付ける場合が多いです。(一応... PLはプール、v4はIPv4を意味します)
ここまでの設定を実行したら、先ほどと同じようにDHCPで配信出来ているかを確認しますが、その前に先ほど作ったSVのDHCPをいったんOffにしておきましょう。そうしないと、ずっとSVのDHCPを使い続けてしまうため実際に設定できているかどうかがわからなくなってしまいますからね。また、端末側で一度「Static」に戻してから再度「DHCP」に設定しなおしてください。これにより強制的にDHCPディスカバーからやり直させることができます。
実力問題
ここまでの知識を使って、課題に取り組んでみましょう!
Ex 1. 学校のネットワーク2
あなたは、クワイエットランド高校のネットワークの構築を任されました。この高校では、【172.16.0.0/16】ネットワークが設定されています。また、サーバ"SV"(172.22.255.10)各端末が【172.16.0.1】から【172.16.254.255】を利用して通信ができるように、DHCPサーバを設定してください。
Ex 2. 企業のネットワーク2
あなたは、クワイエットランド高校での業務を評価され大企業シロノス社から業務の依頼を受けました。今度は、/8ネットワークが設定されています。企業のネットワークの出口にあるルータ"R_Srns"(10.255.255.254/8)に、DHCPを設定し【10.100.0.0】以上【10.200.0.0】未満のアドレスを配信するように、DHCPサーバを設定して下さい。
◎終わりに
今回は、IPアドレスの自動設定を行うプロトコル「DHCP」について2つの機器を用いて実践してみました。特に、後半使ったCUI画面は次回以降もたくさん使っていくことになりますので楽しみにしていてください!
有料部分では、前提知識のまとめと実習部分の解説、それから私が後輩に渡した「若年者設定項目早見」からDHCPの部分を抜粋して掲載しますので、是非ご購読いただけますと幸いです。
◎初めに
今回は、前回学んだIPアドレスが自動的に設定される流れについて見ていきましょう!実践多めですので、一緒に指動かしながら見ていきましょう!
◎前提知識
◆DHCP
IPアドレスを自動的に設定するためには、「DHCP(Dynamic Host Configuration Protocol)」と呼ばれるプロトコルを用います。通常、ルータやサーバが担い、定められたアドレスの範囲から、使われていないアドレスをリース(貸出)します。また、IPアドレスを用いた通信の際に必要なサブネットマスクなどの情報も同時に配信します。
DHCPに関する通信は、IPアドレスが割り当てられ前の通信であることから、基本は「ブロードキャスト」(全端末を対象として)通信を行います。この「DHCPがブロードキャストを用いる」という点は、実務の際に注意しなければならない点でもあるので、必ず覚えておきましょう。(なぜ注意しなければならないのかは、Linuxを用いる際に提示します)
◆DHCPの動き
DHCPを配信する側(「DHCPサーバ」と呼びます:ルータを用いている場合でもDHCPサーバと呼びます)と受け取る側(「DHCPクライアント」と呼びます)のやり取りの流れを見ていきましょう。
1.DHCPディスカバー
DHCPクライアントが、ブロードキャストでDHCPサーバを呼び出します。
ディスカバー(Discover)は「発見」を意味します。
2.DHCPオファー
DHCPディスカバーを受け取ったDHCPサーバは、設定情報をDHCPクライアントに提案します。
この時も勿論ブロードキャストで配信します。
オファー(Offer)は「提案」を意味します。
3.DHCPリクエスト
受信したDHCPオファーを受け入れることを通知します。
先程のDHCPオファーでDHCPサーバのIPアドレスを認知していますが、提案を受け入れたDHCPサーバ以外からもオファーが来ている場合があるためブロードキャストで送信し、自分自身の提案を受け入れたのか否かが各DHCPサーバに伝わるようにしています。
リクエスト(Request)は「要求」を意味します。
4.DHCPアック
サーバは、貸出情報(割当情報)を記録し、通信します。(記録しないと、同じIPアドレスを重複して登録してしまう恐れがあります)
クライアントは、受け取った設定を適用しそれを用いて通信します。
アックは「Acknowledge」の略称で、「確認」を意味します。
また、DHCPサーバからリースされるアドレスには貸出期間(リース期間)があります。借りているものなので、借りっぱなしはよくないですからね...(笑)
DHCPクライアントは、貸出期間が来たら(実際には貸出期間の半分になったら)貸出期間延長の申請をします。そのため、基本的には同じIPアドレスが割り振られるようになっていますが、場合によってはIPアドレスが変わる場合もあります。そのため、IPアドレスが変わってしまうことが問題になるような端末(ルータやサーバなど)はDHCPで設定することは推奨されません。
◎制作と解説
◆制作するネットワーク
前回のネットワークの中に、新たに2台の機器を追加します。
まず、Server "SV"をL2_SWのFa 0/24ポートと接続します。続いて、Router 2911 "R"のGi 0/1ポートをL2_SWのGi 0/1と接続します。RouterにはGi0/0ポートがありますが、次回以降にこのポートを使いたいため今回は空けておきます。因みに、2911とは実在するCiscoのルータの製品名です。
◆実習概要
今回は、サーバとルータそれぞれにIPアドレスを設定した後DHCPサーバとして運用するための設定をします。また、各端末の設定を変更してDHCPサーバからIPアドレスの貸出を受けます。
◆制作手順と解説
1.サーバとルータにIPアドレスを設定する。
今回は、RのGi0/1に【192.168.1.254/24】、SVに【192.168.1.10/24】を設定します。サーバについては、前回のパソコンのIPアドレスの設定と方法は同じなため割愛します。もしこのブログから読んでいる方がいらっしゃるようでしたら、下記のリンクからご確認ください。
ルータのIPアドレスの設定は、CUIで行うものとGUIで行うものがあります。今回は簡略化のために、GUIで設定します。CUIでの設定は別の記事で行いますのでお楽しみに。
ルータをクリックし、「Config」タブから「GigabitEthernet0/1」を選択します。後は、これまでと同じようにIPアドレスを設定します。
最後に、「Port Status」のチェックボックスをOnにしてください。ルータではすべてのポートが最初Off状態になっています。ただIPアドレスを設定するだけでは使用することができませんので、必ずOnにする操作が必要になります。
2.サーバにDHCPの設定をする。
それでは、本題に。まずは、サーバでDHCPの設定をしていきます。サーバをクリックして、「Services」タブの「DHCP」を選択します。今回弄る部分は「Start IP Address」「Subnet Mask」「Maximum Number of Users」です。意味はそのまま「配布するアドレスの先頭」「サブネットマスク」「接続可能最大数」です。「Start IP Address」から「Maximum Number of Users」分のアドレスを配布します。
例:
「Start IP Address」を【203.0.113.1】、「Maximum Number of Users」を【10】とした場合
⇒ 配布されるアドレスは【203.0.113.1 ~ 203.0.113.10】
今回は、【192.168.1.100~192.168.1.150】(/24) までを配布することにしましょう。これまでの説明をもとに、設定してみましょう。
また、最後に必ず「Save」を押して、「Interface」の横にある「Service」をOnにしてください。
3.端末をDHCPが利用できる設定にする。
これは非常に簡単です。今まで、パソコンのIPアドレスを設定する際に「Static」に丸がついていたのを「DHCP」に変更するだけです。
先ほどの設定がうまくいっていれば以下の画像のようになります。
この画像と違う場合:
・IPアドレスが「169.254」から始まるアドレスになっている。
空白のまま進まない。
⇒ServiceをOnにしているか、線がつながっているか確認しましょう
・IPアドレスが範囲外になっている。
「Start IP Address」や「Maximum Number of Users」が正しいか確認ましょう。
また、範囲内でも後半の方になる場合も上記を確認してみてください。
この状態であれば、通信することができます。試しに前回行ったPingコマンドをDHCPで割り当てられたアドレス宛に送信してみるのもいいかもしれませんね。
4.ルータにDHCPの設定をする。
最後は、ルータにDHCPの設定をしていきます。ルータのDHCPについては、GUIで設定することができないためCUIを使って設定していきます。
ルータをクリックし、「CLI」タブを開きます。四角の中をクリックし、もし「Press RETURN to get started.」と表示されている場合はEnterキーを押してください。「Router>」と表示されている状態で、次に進みます。
この後の入力内容は別の記事で解説するので今はとりあえずそのまま打ってください。
「Enter configuration commands, one per line. End with CNTL/Z.」と表示されたのち、「Router(config)#」と表示されていればOKです。
この状態から、DHCPの設定をしていきます。まず先に、配布するIPアドレスの範囲を決めますが、Ciscoルータでは配布する範囲ではなく配布しない範囲を設定します。
例:
【203.0.113.1 ~ 203.0.113.10】を配布したい場合
⇒ 配布しない範囲(除外アドレス)は【203.0.113.11~203.0.113.254】(/24ネットワークの場合)
今回は、【192.168.1.150 ~ 192.168.1.200】(/24)のアドレスを配布することにします。これまでの説明をもとに設定してみましょう。
次に、配布するネットワーク情報の設定をします。先ほど決めたアドレスの範囲のことを、「プール」と呼び今から行う設定はこのプールに付随する情報を設定していくことになります。
今回は必要最低限として「ネットワーク」のみを設定します。
ここで出てきた<プール名>は、特に決まりはないため好きに設定してください。私は「ルータ名_dhcpPLv4」みたいな名前を付ける場合が多いです。(一応... PLはプール、v4はIPv4を意味します)
ここまでの設定を実行したら、先ほどと同じようにDHCPで配信出来ているかを確認しますが、その前に先ほど作ったSVのDHCPをいったんOffにしておきましょう。そうしないと、ずっとSVのDHCPを使い続けてしまうため実際に設定できているかどうかがわからなくなってしまいますからね。また、端末側で一度「Static」に戻してから再度「DHCP」に設定しなおしてください。これにより強制的にDHCPディスカバーからやり直させることができます。
実力問題
ここまでの知識を使って、課題に取り組んでみましょう!
◎終わりに
今回は、IPアドレスの自動設定を行うプロトコル「DHCP」について2つの機器を用いて実践してみました。特に、後半使ったCUI画面は次回以降もたくさん使っていくことになりますので楽しみにしていてください!
有料部分では、前提知識のまとめと実習部分の解説、それから私が後輩に渡した「若年者設定項目早見」からDHCPの部分を抜粋して掲載しますので、是非ご購読いただけますと幸いです。