概要
このドキュメントでは、Cisco SD-WAN IOS® XEルータのDHCPサーバを設定およびトラブルシューティングする方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- Cisco Software-Defined Wide Area Network(SD-WAN)
- Cisco SD-WAN IOS XEコマンドラインインターフェイス(CLI)
- パケット アナライザ
- 基本的なDHCP
使用するコンポーネント
このドキュメントは、次のソフトウェアとハードウェアのバージョンに基づいています。
- ルータc8000v 17.9.4
- vManage 20.9.4
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
このセクションでは、ダイナミックホストコンフィギュレーションプロトコル(DHCP)がクライアントに有効なIPアドレスを割り当てるために使用する基本概念とプロセスについて説明します。
メッセージ |
説明 |
DHCP Discover |
新しいデバイスがネットワークに参加するか、IPアドレスのリースを更新する必要がある場合は、DHCP Discoverメッセージを送信します。このメッセージは通常、使用可能なDHCPサーバを検出するためにローカルネットワークセグメントでブロードキャストされます。 |
DHCP Offer |
ネットワーク上のDHCPサーバはDHCP Discoverメッセージを受信し、DHCP Offerで応答します。このオファーでは、使用可能なIPアドレスやその他のネットワーク設定を要求側デバイスに提示します。 |
DHCP Request |
要求側デバイスは、提示されたIPアドレスの1つを選択し、選択したDHCPサーバにDHCP要求メッセージを送信します。このメッセージは、オファーされたIPアドレスと構成設定に対するデバイスの要求を確認します。 |
DHCP確認応答 |
DHCP Requestメッセージを取得したDHCPサーバは、DHCP Acknowledge(ACK)で応答します。このACKは要求に確認応答し、デバイスが提供されたIPアドレスおよび関連するネットワーク設定を使用できることを確認します。 |
IP アドレスの割り当て |
DHCP ACKがある場合、デバイスは指定されたIPアドレスとその他の設定パラメータを使用してネットワークインターフェイスを設定します。これで有効なIPアドレスが割り当てられ、ネットワーク上で通信できるようになります。 |
Lease Duration |
DHCPサーバは、IPアドレスにリース期間を割り当てます。このリースは、デバイスがIPアドレスを使用できる期間を指定します。同じIPアドレスを維持する場合、デバイスはリースの有効期限が切れる前にリースを更新する必要があります。 |
リースの更新 |
デバイスは定期的にリースの更新を開始し、最初にIPアドレスを割り当てたDHCPサーバにDHCP要求を送信します。サーバが更新を承認すると、サーバはDHCP ACKを送信し、デバイスのリースが延長されます。 |
デフォルトのリース時間 |
デバイスが割り当てられたIPアドレスの使用を許可されるデフォルトの時間です。この時間が経過すると、デバイスは割り当てられたIPアドレスを更新するか、IPアドレス割り当ての延長を要求する必要があります。この値は86400秒です。 |
リース期限 |
デバイスがリースを更新しない場合、またはネットワークから切断した場合、DHCPサーバはリースされたIPアドレスを最終的に回収します。これにより、そのアドレスを他のデバイスが使用できるようになります。 |
要約すると、DHCPはクライアントデバイスが要求をブロードキャストするプロセスを実行します。DHCPサーバはオファーで応答し、デバイスはオファーを選択し、DHCPサーバは要求に確認応答します。これは、IPアドレスの割り当てがどのように機能するかを示しています。リース期間により、IPアドレスが効率的に管理され、使用されなくなると再利用されます。
設定
最も一般的な使用例の1つは、DIA機能を使用してルータがゲートウェイとして機能し、ブランチのユーザにインターネットサービスを提供する場合です。この場合、与えられた特定のネットワークセグメントからIPアドレスを取得する必要があります。
ネットワーク図
コンフィギュレーション
このガイドでは、制御接続が形成されたCisco vManage上に、ルータがすでにオンボード設定を持ち、サービスVPNが設定されたデバイステンプレートが接続されていることを考慮します。このドキュメントでは、ダイナミックIP割り当てを提供するためのDHCP設定の追加について説明します。
vManageテンプレートによるCisco IOS XE SD-WANルータでのDHCPサーバの設定
ステップ 1:vManageで、 Configuration > Templates
を参照。
ステップ 2:移動先 Feature Templates > Add Template
正しいモデルを選択してください。この例ではC8000vです。
ステップ 3:その他のテンプレートで、を選択します Cisco DHCP Server
を参照。
ステップ 4:NameとDescriptionを追加します。
ステップ 5:次に示すようなDHCPサーバパラメータを設定し、変更を保存します。
- アドレスプール:割り当て可能なアドレスのプール。
- 除外するアドレス:割り当てないアドレス。
- Lease Time (seconds):このIPアドレスをリースできる時間。
- デフォルトゲートウェイ:DHCPクライアントがデフォルトゲートウェイとして認識するIPアドレス。
手順 6:移動先 Device Templates
、既存のデバイステンプレートを編集するか、新しいデバイステンプレートを作成して、 Service VPN
オプション.
手順 7:移動先 Add VPN
をクリックし、 Create VPN Template
、VPNサービス値を追加します。
ステップ 8:次を追加: Cisco VPN Interface Ethernet
を選択します。ドロップダウンリストから、 Create Template
,
ここに示されているような基本的な値を追加し、変更を保存します。
- Shutdown:noに設定すると、インターフェイスがオンになります。
- Interface Name:DHCPクライアントのデフォルトゲートウェイとして選択するインターフェイスを選択します。
- 説明:そのインターフェイスの説明。
- ダイナミック/スタティックIPv4アドレス:インターフェイスのIPアドレスを選択します。
- IPv4 Address/prefix-length:IPアドレスとプレフィクス長を選択します。
ステップ 9:Sub-TemplatesとCisco DHCP Serverを選択し、ドロップダウンリストから作成した以前のテンプレートを選択して、Addをクリックします。
ステップ 10:テンプレートを作成するか、変更内容を保存し、「デバイステンプレート」から正しいデバイステンプレートを選択して「デバイスの接続」を選択します。
ステップ 11正しいデバイスを選択し、Attachをクリックします。
ステップ 12要求された情報を追加し、Nextをクリックします。
ステップ 13デバイスとConfig diffをクリックします。
ステップ 14:設定を確認します。
ステップ 15:Configure Devicesをクリックし、タスクが完了するまで待ちます。
CLIによるCisco IOS XE SD-WANルータでのDHCPサーバの設定
ステップ 1:設定モードに移動します。
cEdge#config-transaction
admin connected from 127.0.0.1 using console on Router
cEdge(config)#
ステップ 2:DHCPプールを設定し、ここにリストされている値を割り当て、変更を保存します。
- 名前:DHCPプールに名前を付けます。
- VRF:サービスVRFを追加します。
- ネットワーク:割り当てるアドレスでネットワークを設定します。
- Default-Router:DHCPクライアントのデフォルトゲートウェイを定義します。
- DNS-Server:DNSサーバを指定します。
cEdge(config)# ip dhcp pool CISCO
cEdge(dhcp-config)# vrf 40
cEdge(dhcp-config)# network 10.4.5.0 255.255.255.0
cEdge(dhcp-config)# default-router 10.4.5.1
cEdge(dhcp-config)# dns-server 8.8.8.8
cEdge(dhcp-config)# commit
ステップ 3:インターフェイスでDHCPクライアントのデフォルトゲートウェイIPアドレスを設定し、変更を保存します。
cEdge(config)# interface GigabitEthernet2
cEdge(config-if)# ip address 10.4.5.1 255.255.255.0
cEdge(config-if)# no shut
cEdge(config-if)# commit
確認
次のコマンドを使用して、設定済みプールに関連する情報を確認します。 show ip dhcp pool
コマンドを使用して、アップグレードを実行します。
cEdge#show ip dhcp pool CISCO
Pool CISCO :
Utilization mark (high/low) : 100 / 0
Subnet size (first/next) : 0 / 0
Total addresses : 254
Leased addresses : 77
Excluded addresses : 86
Pending event : none
1 subnet is currently in the pool :
Current index IP address range Leased/Excluded/Total
10.4.5.1 10.4.5.1 - 10.4.5.254 77 / 86 / 254
cEdge#
割り当てられたすべてのアドレスを show ip dhcp binding
コマンドを使用して、アップグレードを実行します。
cEdge#show ip dhcp binding
Bindings from all pools not associated with VRF:
IP address Client-ID/ Lease expiration Type State Interface
Hardware address/
User name
--- Output omitted ---
10.4.5.5 c08f.2073.8a83 Oct 3 2023 06:39 PM Automatic Active GigabitEthernet1
--- Output omitted ---
次のコマンドを使用して、送受信されたメッセージのカウンタ、リースされた期限切れアドレスなど、すべての統計情報を確認します show ip dhcp server statistics
を参照。
cEdge#show ip dhcp server statistics
Memory usage 60892
Address pools 1
Database agents 0
Automatic bindings 78
Manual bindings 0
Expired bindings 0
Malformed messages 0
Secure arp entries 0
Renew messages 0
Workspace timeouts 0
Static routes 0
Relay bindings 0
Relay bindings active 0
Relay bindings terminated 0
Relay bindings selecting 0
Message Received
BOOTREQUEST 0
DHCPDISCOVER 120
DHCPREQUEST 78
DHCPDECLINE 0
DHCPRELEASE 0
DHCPINFORM 0
DHCPVENDOR 0
BOOTREPLY 0
DHCPOFFER 0
DHCPACK 0
DHCPNAK 0
Message Sent
BOOTREPLY 0
DHCPOFFER 78
DHCPACK 78
DHCPNAK 0
Message Forwarded
BOOTREQUEST 0
DHCPDISCOVER 0
DHCPREQUEST 0
DHCPDECLINE 0
DHCPRELEASE 0
DHCPINFORM 0
DHCPVENDOR 0
BOOTREPLY 0
DHCPOFFER 0
DHCPACK 0
DHCPNAK 0
DHCP-DPM Statistics
Offer notifications sent 0
Offer callbacks received 0
Classname requests sent 0
Classname callbacks received 0
cEdge#
次のアドレスとの競合の可能性を確認します show ip dhcp conflicts
を参照。
cEdge#show ip dhcp conflict
IP address Detection method Detection time VRF
10.4.5.3 Ping Oct 03 2023 06:39 PM
10.4.5.5 Ping Oct 03 2023 06:39 PM
10.4.5.4 Ping Oct 03 2023 06:39 PM
10.4.5.6 Ping Oct 03 2023 06:39 PM
10.4.5.8 Ping Oct 03 2023 06:39 PM
10.4.5.7 Ping Oct 03 2023 06:39 PM
10.4.5.9 Ping Oct 03 2023 06:39 PM
10.4.5.13 Ping Oct 03 2023 06:39 PM
10.4.5.14 Ping Oct 03 2023 06:39 PM
10.4.5.16 Ping Oct 03 2023 06:39 PM
10.4.5.15 Ping Oct 03 2023 06:39 PM
10.4.5.17 Ping Oct 03 2023 06:39 PM
10.4.5.18 Ping Oct 03 2023 06:39 PM
10.4.5.19 Ping Oct 03 2023 06:39 PM
10.4.5.21 Ping Oct 03 2023 06:39 PM
10.4.5.22 Ping Oct 03 2023 06:39 PM
10.4.5.23 Ping Oct 03 2023 06:39 PM
10.4.5.24 Ping Oct 03 2023 06:39 PM
10.4.5.25 Ping Oct 03 2023 06:39 PM
10.4.5.26 Ping Oct 03 2023 06:39 PM
10.4.5.31 Ping Oct 03 2023 06:39 PM
10.4.5.32 Ping Oct 03 2023 06:39 PM
10.4.5.36 Ping Oct 03 2023 06:39 PM
10.4.5.35 Ping Oct 03 2023 06:39 PM
10.4.5.40 Ping Oct 03 2023 06:39 PM
10.4.5.39 Ping Oct 03 2023 06:39 PM
次のコマンドを使用して、DHCP設定を確認します。 show running-config | section dhcp
を参照。
cEdge#show running-config | section dhcp
no ip dhcp use class
ip dhcp pool CISCO
network 10.4.5.0 255.255.255.0
default-router 10.4.5.1
dns-server 8.8.8.8
lease 100
ip route 0.0.0.0 0.0.0.0 dhcp 20
cEdge
DHCPクライアントのデフォルトゲートウェイとして機能するインターフェイスの状態を、 show interfaces GigabitEthernet1
コマンドを使用して、アップグレードを実行します。
cEdge#show interfaces GigabitEthernet1
GigabitEthernet1 is up, line protocol is up
Hardware is vNIC, address is 0050.56b3.6fbb (bia 0050.56b3.6fbb)
Internet address is 10.4.5.1/24
MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 10 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
Keepalive set (10 sec)
Full Duplex, 1000Mbps, link type is auto, media type is Virtual
output flow-control is unsupported, input flow-control is unsupported
ARP type: ARPA, ARP Timeout 04:00:00
Last input 00:00:00, output 00:00:00, output hang never
Last clearing of "show interface" counters never
Input queue: 0/375/51623/140000 (size/max/drops/flushes); Total output drops: 1322
Queueing strategy: fifo
Output queue: 0/40 (size/max)
5 minute input rate 1628000 bits/sec, 855 packets/sec
5 minute output rate 21000 bits/sec, 13 packets/sec
2868354905 packets input, 657207872035 bytes, 0 no buffer
Received 0 broadcasts (0 IP multicasts)
0 runts, 0 giants, 0 throttles
588 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
0 watchdog, 0 multicast, 0 pause input
66586780 packets output, 23880813581 bytes, 0 underruns
Output 0 broadcasts (0 IP multicasts)
0 output errors, 0 collisions, 4 interface resets
1102044 unknown protocol drops
0 babbles, 0 late collision, 0 deferred
0 lost carrier, 0 no carrier, 0 pause output
0 output buffer failures, 0 output buffers swapped out
cEdge#
トラブルシュート
IPアドレスの割り当てを完了するために、DHCPサーバとDHCPクライアントの間で交換する必要があるメッセージを次に示します。
*Oct 3 20:35:48.042: DHCPD: DHCPDISCOVER received from client c08f.2073.8a83 on interface
GigabitEthernet1.
*Oct 3 20:35:48.042: DHCPD: Option 125 not present in the msg.
*Oct 3 20:35:48.042: Option 82 not present
*Oct 3 20:35:48.042: Option 82 not present
*Oct 3 20:35:48.042: DHCPD: Option 125 not present in the msg.
*Oct 3 20:35:48.042: DHCPD: Sending notification of DISCOVER:
*Oct 3 20:35:48.042: DHCPD: htype 1 chaddr c08f.2073.8a83
*Oct 3 20:35:48.042: DHCPD: remote id 020a0000ac0c025f01000000
*Oct 3 20:35:48.042: DHCPD: interface = GigabitEthernet1
*Oct 3 20:35:48.042: DHCPD: Sending DHCPOFFER to client c08f.2073.8a83 (10.4.5.5).DHCPD:
Setting only requested parameters
*Oct 3 20:35:48.042: DHCPD: classname not set in msg
*Oct 3 20:35:48.042: DHCPD: Selecting relay q from pool
*Oct 3 20:35:48.042: DHCPD: DHCPREQUEST received from client c08f.2073.8a83.
*Oct 3 20:35:48.042: DHCPD: DHCPREQUEST received on interface GigabitEthernet1.
*Oct 3 20:35:48.042: DHCPD: Found previous binding
*Oct 3 20:35:48.042: DHCPD: Allocated binding 7F6C1C366788
*Oct 3 20:35:48.042: DHCPD: Adding binding to radix tree (10.4.5.5)
*Oct 3 20:35:48.042: DHCPD: Adding binding to hash tree 7F6C1C366788
*Oct 3 20:35:48.042: DHCPD:dhcpd_binding_add_to_mac_hash: index- 461 add binding 7F6C1C366788
*Oct 3 20:35:48.042: DHCPD: 7F6C1C366788 inserting in mac hash next to 7F6C1C368FC8
*Oct 3 20:35:48.043: DHCPD: assigned IP address 10.4.5.5 to client c08f.2073.8a83.
*Oct 3 20:35:48.043: DHCPD: Saving workspace (ID=0xB200004F)
*Oct 3 20:35:48.043: DHCPD: New packet workspace 0x7F6C9CBE0FB8 (ID=0xAE000050)
*Oct 3 20:35:50.043: DHCPD: Reprocessing saved workspace (ID=0xB200004F)
*Oct 3 20:35:50.054: DHCPD: Sending DHCPACK to client c08f.2073.8a83 (10.4.5.5).DHCPD: Setting
only requested parameters
DHCPの問題をトラブルシューティングするためにルータでアクティブにできるデバッグを次に示します。
デバッグ |
説明 |
Debug ip dhcp server events |
このコマンドは、DHCPクライアント要求、IPアドレスの割り当て、およびその他の重要なサーバアクティビティなど、DHCPサーバ関連のイベントを表示します。DHCPイベントの概要を表示すると便利です。 |
debug ip dhcp server packet |
このコマンドは、サーバに出入りするDHCPパケットに関する詳細情報を表示します。DHCP要求、オファー、要求、および確認を表示して、通信の問題をデバッグできます。 |
Debug ip dhcp conflict |
ネットワーク上でIPアドレスの競合に関する問題が発生している場合は、このコマンドを使用して、DHCPの競合に関する情報をデバッグおよび表示できます。 |
Debug ip dhcp binding |
このコマンドは、割り当てられたIPアドレス、クライアントのMACアドレス、リース期間など、DHCPサーバによって割り当てられたIPアドレスに関する情報を表示します。 |
Debug ip dhcp server statistics(DHCPサーバ統計情報のデバッグ) |
このコマンドは、受信したDHCP要求の数、IPアドレスリース、リース時間など、DHCPサーバの動作に関する統計情報を表示します。 |
すべてデバッグ解除 |
すべてのデバッグコマンドを停止するには、 undebug all 実行中のすべてのデバッグを無効にします。 |
Embedded Packet Capture(EPC)およびvManage Capture Toolを使用したDHCPトラフィックのキャプチャ
cEdge#monitor capture DHCP interface GigabitEthernet 1 both match any buffer circular limit pps 2000
Interface GigabitEthernet1 direction BOTH is already attached to the capture
Packets per second limit is already set, replace?[confirm]
cEdge#monitor capture DHCP start
Started capture point : DHCP
cEdge#
--- Wait some time to let DHCP negotiation proceed ---
cEdge#monitor capture DHCP stop
Stopped capture point : DHCP
cEdge#
次に、次のコマンドを使用してキャプチャをエクスポートできます。
cEdge#monitor capture DHCP export bootflash:DHCP.pcap
Exported Successfully
cEdge#
キャプチャをクリアするには、次のコマンドを発行します。
cEdge#monitor capture DHCP clear
Captured data is deleted [clear]?[confirm]
cleared buffer : DHCP
cEdge#
次にWireSharkで、ネゴシエーションに関連する次のパケットが表示されることを確認します。
パケットを開くとき、次の情報が表示される必要があります。
パケットの検出
- 確認する必要がある最も重要な情報は、送信元MACアドレスです。これは、DHCPクライアントのMACアドレスと一致している必要があります。
- 宛先は
ff:ff:ff:ff:ff:ff
ブロードキャストアドレスであるため、DHCPクライアントはこのメッセージを送信してDHCPサーバを検出します。
- 送信元IPアドレスは
0.0.0.0
を参照。
- このネゴシエーションに使用されるポートはUDP 67と68です。
- パケットに含まれるオプションを確認できます。これは、パケット上のDHCPサーバによって要求される情報に関するものです。
オファーパケット
- DHCPサーバがIPアドレスで認識されているため、送信元アドレスが異なることがわかります
10.4.5.1
を参照。
- 宛先IPアドレスは
10.4.5.5
このアドレスはプールで使用可能なアドレスの1つであるため。
要求パケット
要求パケットでは、送信元アドレスは次のように表示されます 0.0.0.0
次に、 10.4.5.5
addressは新しい要求です。
ACKパケット
- 送信元アドレスは次のように設定されます
10.4.5.1
を参照。
- 宛先アドレスは次のように設定されます。
10.4.5.5
これは、DCHPクライアントの新しいIPアドレスであるためです。
パケットキャプチャは、次の手順でvManage GUIで実行できます。
ステップ 1:移動先 Monitor > Devices
を参照。
ステップ 2:DHCPサーバデバイスをクリックします。
ステップ 3:Security Monitoringで、 Troubleshooting
を参照。
ステップ 4:トラフィックで Packet Capture
を参照。
ステップ 5:キャプチャのパラメータを設定し、startをクリックします。
手順 6:キャプチャが完了してダウンロードされるまで待ちます。
これをエクスポートし、WireSharkなどのパケットアナライザでパケットを確認します。
関連情報