DHCP の設定はネットワーク ワーカーの作業の中でよく行われる内容ですが、DHCP を設定する際にどのような一般的なエラーが発生し、その解決方法は何でしょうか?
よくあるエラー 1: クライアントが取得した IP アドレスが他のクライアントの IP アドレスと競合しています
考えられる原因 |
ネットワーク上の他のホストは IP アドレスを手動で構成しますが、DHCP サーバーの展開ではこの IP アドレスがアドレス プールから除外されないため、競合が発生します。 |
ポジショニングの考え方 |
クライアントのネットワーク カードを無効にするか、ネットワーク ケーブルを取り外し、別のホストから ping 操作を実行し、その IP アドレスを持つホストがネットワーク内にすでに存在するかどうかを確認します。応答が受信された場合は、IP アドレスが手動で設定されたことを意味します。 |
解決 |
▶ 手動で構成したホストの IP アドレスを変更します。 ▶ DHCP サーバーのアドレス プールから競合するアドレスを除外します。デバイスが DHCP サーバとして機能し、インターフェイス ベースのアドレス プールが設定されている場合は、コマンド dhcp serverexcluded-ip-address を実行します。デバイスが DHCP サーバとして機能し、グローバル アドレス プールが設定されている場合は、コマンド Excluded-ip-address を実行します。 IPアドレス。 ▶クライアントで競合している IP アドレスを解放し、IP アドレスを再申請します (Windows 7 PC を例に挙げます。cmd を実行して DOS 環境に入り、コマンド ipconfig/release を実行して IP アドレスを解放し、その後コマンド ipconfig/ を実行します)。 IP アドレスを再申請するには更新します)。 ▶クライアントが取得したIPアドレスの競合を避けるため、DHCPサーバー上でIPアドレスを割り当てる際に競合検出機能を設定することで、アドレスの競合を検出した後、他の空きIPアドレスを割り当てます。 |
競合検出機能固有の設定リファレンス |
手順: ▶コマンドsystem-viewを実行してシステムビューに入ります。 ▶ コマンド dhcp server ping packet number を実行して、デバイスが IP アドレスを割り当てる際の競合検出の数を設定します。 ▶デフォルトでは、デバイスがIPアドレスを割り当てる際の競合検出数は2です。 ▶ コマンド dhcp server ping timeout milliseconds を実行して、デバイスが IP アドレスを割り当てるときの各競合検出の最大待機時間を設定します。 ▶デフォルトでは、デバイスが IP アドレスを割り当てる際の各競合検出の最大待ち時間は 500 ミリ秒です。 |
一般的なエラー 2: クライアントが DHCP サーバーから IP アドレスを取得できません
クライアントが DHCP サーバーから IP アドレスを取得できない原因としては 5 つの状況が考えられ、それぞれの理由と解決策を以下に説明します。
考えられる理由 1 |
DHCP機能が有効になっていません。 |
ポジショニングの考え方 |
ユーザー ビューで、display current-configuration | include dhcp enable コマンドを実行して、DHCP 機能が有効になっているかどうかを確認します。何も表示されない場合は、DHCP 機能が有効になっていないことを意味します。 |
解決 |
システム ビューで dhcp enable コマンドを実行して DHCP 機能を有効にします。 デフォルトでは、システムの DHCP 機能は無効になっています。 |
考えられる理由 2 |
設定が間違っています。 |
ポジショニングの考え方 |
①DHCPサーバーの場合: a. クライアントが存在するネットワークセグメントのアドレスプールがDHCPサーバー上に設定されているか確認し(display ip poolコマンドを実行)、設定が正しいか確認してください。 b. クライアント側に接続されているインターフェースのビューで、display this コマンドを実行して、そのインターフェースで DHCP サーバー機能が有効になっているかどうかを確認します。 c. サーバーとクライアントの間にリレーがある場合は、クライアントが配置されているネットワーク セグメントへのルートが DHCP サーバー上で構成されているかどうかを確認します。 ②DHCPリレーの場合: a. DHCPリレーの設定が正しいか確認します(display dhcpリレーコマンドを実行)。 b. クライアントに接続されているインターフェースのビューで、display this コマンドを実行して、インターフェース上で DHCP リレー機能が有効になっているかどうかを確認します。 |
解決 |
DHCP サーバーまたはリレーの構成または展開を変更する |
考えられる理由 3 |
アドレス プールに割り当て可能なアドレスがありません。 |
ポジショニングの考え方 |
display ip pool コマンドを実行して、アドレス プールに使用可能な IP アドレスがあるかどうかを確認します。表示された情報の Idle(Expired) フィールドは、アドレス プール内のアイドル IP アドレスの数を示します。0 と表示された場合は、アドレスプールに割り当て可能なアドレスが存在しないことを意味します。 |
解決 |
ネットワーク内のクライアントの数を決定します。 ①クライアント数がアドレスプール内で割り当て可能なアドレス数を超える場合、アドレスプール内のアドレス範囲を拡大する必要があります。 a. インターフェイス ビューでコマンド ip address ip-address {マスク | マスク長} を実行し、マスク長を減らしてアドレス範囲を増やします。 b. グローバル アドレス プールでコマンド network ip-address [マスク {マスク | マスク長 } ] を実行し、マスク長を減らしてアドレス範囲を増やします。 ②如果客户端数目小于地址池中可供分配的地址数目,需要降低地址租期以保证未使用的IP能够及时回收,自动回收功能的配置详见(可选)配置地址池中冲突地址的自动回收功能。 |
可能原因四 |
某些无盘工作站的上层接入设备上开启了STP功能。 |
定位思路 |
客户端发送DHCP请求报文的超时时间小于STP收敛的时间,会导致服务器无法接收DHCP请求报文,从而无法为无盘工作站分配IP地址。 |
解决办法 |
在上层接入设备上关闭STP功能。 |
可能原因五 |
网络中其他主机手工配置了IP地址,DHCP服务器部署没有把此IP地址从地址池中排除出去,造成IP地址冲突。 |
定位思路 |
禁用客户端的网卡或断开网线,从另外一台主机上执行ping操作,检查网络中是否已经存在该IP地址的主机。如果收到响应,说明此IP地址已经被手工配置。 |
解决办法 |
①修改手工配置的主机的IP地址。 ②在DHCP服务器地址池中排除冲突的地址。设备作为DHCP服务器并配置了基于接口方式的地址池时,执行命令dhcp server excluded-ip-address;设备作为DHCP服务器并配置了基于全局方式的地址池时,执行命令excluded-ip-address。 ③在客户端上释放冲突的IP地址并重新申请IP地址(以Windows 7的PC为例,运行cmd进入DOS环境,执行命令ipconfig/release释放IP地址;然后执行命令ipconfig/renew重新申请IP地址)。 为避免客户端获取的IP地址冲突,可以在DHCP服务器上配置分配IP地址时的冲突探测功能,探测到地址冲突后,会分配其他可用的IP地址。 |
常见情况三:客户端从DHCP服务器获取IP地址慢
当客户端从DHCP服务器获取IP地址慢,我们要如何接解决呢?
可能原因一 |
网络中存在其他DHCP服务器。 |
定位思路 |
同网段内如果存在多个DHCP服务器,客户端会接收第一个回应报文的DHCP服务器的消息。 |
解决办法 |
在客户端的上行接入设备上配置DHCP Snooping功能,使客户端仅接收信任的DHCP服务器消息,避免从其他DHCP服务器获取IP地址。 |
可能原因二 |
广播流量抑制。 |
定位思路 |
检查客户端和DHCP服务器之间链路上是否配置了广播流量抑制。由于DHCP请求报文是广播的,如果网络中广播报文超过了之前配置的阈值,会造成DHCP请求报文被丢弃。 |
解决办法 |
根据业务实际情况调整广播流量抑制的阈值,以不影响业务的下限为好。 |
可能原因三 |
恶意攻击。 |
定位思路 |
执行命令display cpu-defend statistics查看DHCP服务器上送CPU报文的统计信息,发现出现大量DHCP报文被丢弃,且分析报文发现同一时间DHCP报文由同一个MAC地址发出,可以确定该MAC地址为DHCP泛洪攻击源。 |
解决办法 |
将此MAC地址列为黑名单。 |
可能原因四 |
DHCP服务器/中继上使能了STP功能。 |
定位思路 |
STP功能缺省处于使能状态,DHCP服务器/中继如果使能了STP功能,可能会造成地址分配较慢。 |
解决办法 |
如果确认不需要使能STP功能,可以执行命令undo stp enable去使能STP功能。 |
以上希望对你有帮助。
感谢你的关注+点赞+收藏!