DHCP
DHCPは「Dynamic Host Configuration Protocol」の略で、ネットワーク接続に必要となる情報(IPアドレスなど)を自動で割り当てるためのプロトコルです。
- トランスポート層でUDPを使用します。
- クライアントサーバ型のプロトコル
- DHCPサーバがポート67、DHCPクライアントがポート68
【DHCPで割り当てられる主な情報】
- IPアドレス
- サブネットマスク
- デフォルトゲートウェイ
- DNSサーバ
【IPアドレスを割り当てる方法】
- アドレスプールからの払い出し(networkコマンドで払い出すIPアドレスの範囲を設定しておくことで、設定した範囲から自動的にIPアドレスを割り当てる方法)
- マニュアルバインディング(MACアドレスとIPアドレスの紐付けを手動で設定しておくことで、固定のIPアドレスを割り当てる方法)
![](https://ntorelabo.com/wp-content/uploads/2023/03/1317285_s.jpg)
DHCPの動作
![](https://ntorelabo.com/wp-content/uploads/2022/09/dhcp1-1024x256.png)
<DHCPで取得できるはずの情報が取得できない場合の対処>
原因)スイッチではSTPが働いているため、PCを接続してもすぐに通信できません。(ブロッキング→リスニング→ラーニング→フォワーディングのプロセスで30秒必要)この間にPCがDHCP DISCOVER(要求メッセージ)を送信すると、そのメッセージはDHCPサーバには届かないことになります。DHCPサーバからの応答がないので、PCはDHCPサーバが存在しないと判断してDHCPによる情報の取得をあきらめてしまいます。
対処)この問題はスイッチで「PortFast」を有効にすることで解決できます。
DHCPクライアントの設定
(config-if)#ip address dhcp
デフォルトゲートウェイの設定
(dhcp-config)#default-router <ip address>
GARP
GARP(Gratuitous ARP)はARPパケットの1つであり、以下の2つの役割を持っているプロトコルです。
- 自分自身に設定するIPアドレスが重複していないかどうかを検出
- 同一セグメントのネットワーク機器上のARPキャッシュを更新させる
DHCPリレーエージェント
ルータのデフォルト動作ではブロードキャストを転送せず、破棄されてしまいます。DHCPリレーエージェントは、ブロードキャストされたDHCP要求をユニキャストで転送することができます。
- DHCPクライアントに最も近いルータのインターフェースでDHCPリレーエージェント機能を有効にする
![](https://ntorelabo.com/wp-content/uploads/2022/09/kkk38324.jpg)
IPヘルパーアドレスの設定(DHCPメッセージの中継)
(config-if)#helper-address <server-address>
![](https://ntorelabo.com/wp-content/uploads/2022/09/スクリーンショット-2022-09-30-1.39.14.png)
interface Ethernet0 ip address 172.16.1.1 255.255.255.0 ip helper-address 10.1.1.2
DAI
DAI(ダイナミックARP検査)とはLAN上でARPパケットを検査するセキュリティ機能のことです。
DAIでは、信頼できるインターフェースと信頼できないインターフェースの2種類があります。DAIを有効化させると、全てのI/Fは信頼できないインターフェースとなります。
DHCPのコマンド
DHCPによって取得した情報を確認(自身に割り当てれたIPアドレス、デフォルトケートウェイ)
show dhcp lease
IPアドレスの割り当て状況の確認
#show ip dhcp binding
<DHCPサーバの設定>
【必須】DHCPプールを作成
(config)#ip dhcp pool {プール名}
【必須】クライアントに割り当てるアドレスの範囲を指定
(dhcp-config)#network {ネットワークアドレス} {ネットマスク|プレフィックス長}
リース期間の指定
(dhcp-config)#lease {日数}
DNSサーバのアドレス指定(最大8つまで)
(dhcp-config)#dns-server {IPアドレス} [IPアドレス②] [IPアドレス③]
デフォルトゲートウェイの指定(最大8つまで)
(dhcp-config)#default-router {IPアドレス} [IPアドレス②] [IPアドレス③]
割り当てから除外するアドレス範囲を指定
(config)#ip dhcp excluded-address {開始アドレス} [終了アドレス]