DHCP(Dynamic Host Configuration Protocol)传送主机所需要的配置信息,快速、动态获取IP地址。
1.DHCP discover:由客户端广播来查找可用的服务器。
源Source:0.0.0.0 ————>>目标Destination:255.255.255.255
是广播地址,PC不知道服务器地址,PC刚开始没有地址。
三层交换机、路由器、家用路由器、Linux都可作为DHCP服务器。
用户发送的第一个DHCP服务器使用不同的MAC地址来区分不同的PC
使用UDP协议,DHCP使用68和67端口。
2.DHCP Offer:服务器用来响应客户端的DHCP Discover报文,并制定相应的配置参数。
3.DHCP requset :由客户端发送给服务器来请求配置参数或者请求配置确认或者续借租期。客户端广播使用服务器分配给的地址,由用户发向服务器的广播报文,目的是用来通知其他服务器是否使用服务器分配给的地址。同时该报文还有续租的作用。
4.DHCP ACK:服务器到客户端,含有包括IP地址的配置参数。服务器确认报文。
5.DHCP Decline:当客户端发现地址已经被使用时,用来通知服务器。
6.DHCP Inform:客户端已经有IP地址时用它向服务器请求其他配置参数。
7.DHCP NAK:由服务器发给客户端来表明客户端的地址请求不正确或者租期过期。
8.DHCP Decline:客户端要释放地址时用来通知服务器。
DHCP租期:合理有效的使用IP地址。分配给客户端的IP地址都是有租期的,当租期到50%的时刻,Client会自动发送DHCP Request单播报文,DHCP Server发送DHCP ACK报文;当租期到87.5%的时刻,Client发送DHCP Request广播报文,DHCP Server发送DHCP ACK报文。
无法上网的解决方法:
修改本地网卡MAC地址,只是修改系统注册表的MAC地址,实际的硬件网卡并未修改。
在“本地连接”图标上单击右键,选择“属性”,会弹出一个“本地连接属性”的对话框;单击“配置”按钮,选择“高级”,选中左栏“属性”中“Network Address”(“网络地址,“本地管理地址”,Intel网卡用“Locally Administered Address”)
释放IP地址:ipcoonfig /release
重新获取IP地址:ipcoonfig /renew
system-view #进入系统视图
[Huawei]sysname R1 #重命名为R1
[R1]interface gi 0/0/0
[R1-GigabitEthernet0/0/0]ip address 192.168.1.1 24 #配置接口IP地址
[R1]dhcp enable #开启DHCP分配IP地址功能
[R1]ip pool qq #配置一个名为qq的地址池
[R1-ip-pool-qq]network 192.168.1.0 mask 255.255.255.0 #配置192.168.1.0网段
[R1-ip-pool-qq]gateway-list 192.168.1.1 #配置网关
[R1-ip-pool-qq]dns-list 192.168.1.1 8.8.8.8 #配置主DNS和备份DNS
[R1-ip-pool-qq]display this #查看DHCP配置
[R1]interface gi 0/0/0 #进入和用户相连的接口配置
[R1-GigabitEthernet0/0/0]dhcp select global
#使用本地全局配置的地址池分配IP地址
save #保存配置
防止用户手动配置添加IP地址;用户私自加入家用路由器插入LAN口,搭建Linux虚拟机,配置DHCP服务。家用的路由器会给其他用户分配IP地址而无法上网。
[R1]ip pool qq #进入名为qq的地址池
[R1-ip-pool-qq]dis this
[R1-ip-pool-qq]lease day ?
INTEGER<0-999> Day, from 0 to 999
[R1-ip-pool-qq]lease day 0 hour 20 #修改租期为0天20小时
[R1]ip pool qq
[R1-ip-pool-qq]static-bind ip-address 192.168.1.200 mac-address 5489-982D-399A
Error:The static-MAC is exist in this IP-pool.
#错误原因是终端PC2已经自动获取到了IP地址,释放IP地址:ipcoonfig /release
[R1-ip-pool-qq]static-bind ip-address 192.168.1.200 mac-address 5489-982D-399A
#为固定的MAC地址分配固定的IP地址
ipcoonfig /renew
[R1-ip-pool-qq]excluded-ip-address 192.168.1.250 192.168.1.254
#排除IP地址250-254用于固定IP地址配置
DHCP调试命令
[R1]display ip pool #显示IP地址
[R1]display ip pool name qq used #显示已经分配的IP地址的使用情况
reset ip pool name qq used #重置分配记录
简单便捷,默认和接口所在的网段是同一个网段,路由器接口的IP地址作为DHCP用户的网关。
system
[R1]interface gi0/0/0
[R1-GigabitEthernet0/0/0]dis this
[V200R003C00]
interface GigabitEthernet0/0/0
ip address 192.168.1.1 255.255.255.0
dhcp select global
return
[R1-GigabitEthernet0/0/0]undo dhcp select global #取消上次配置的global
[R1]undo ip pool qq #取消名为qq的地址池
system
[R1]int gi0/0/0
[R1-GigabitEthernet0/0/0]dhcp select interface #基于接口的DCHP
[R1-GigabitEthernet0/0/0]dhcp server dns-list 119.29.29.29 #DHCP配置DNS
[R1-GigabitEthernet0/0/0]dis this
interface GigabitEthernet0/0/0
ip address 192.168.1.1 255.255.255.0
dhcp select interface
dhcp server dns-list 119.29.29.29
return
[SW2]vlan 10
[SW2]interface e0/0/1
[SW2-Ethernet0/0/1]port link-type access
[SW2-Ethernet0/0/1]port default vlan 10
[SW2]interface gi0/0/1
[SW2-GigabitEthernet0/0/1]port link-type trunk
[SW2-GigabitEthernet0/0/1]port trunk allow-pass vlan 10
[SW3]interface e0/0/1
[SW3-Ethernet0/0/1]port link-type access
[SW3-Ethernet0/0/1]port default vlan 20
[SW3]interface gi0/0/1
[SW3-GigabitEthernet0/0/1]port link-type trunk
[SW3-GigabitEthernet0/0/1]port trunk allow-pass vlan 20
[SW1]interface gi0/0/2
[SW1-GigabitEthernet0/0/2]port link-type trunk
[SW1-GigabitEthernet0/0/2]port trunk allow-pass vlan 10
[SW1]interface gi0/0/3
[SW1-GigabitEthernet0/0/3]port link-type trunk
[SW1-GigabitEthernet0/0/3]port trunk allow-pass vlan 20
dis port vlan #查看接口vlan配置
dis port vlan
Port Link Type PVID Trunk VLAN List
GigabitEthernet0/0/1 hybrid 1 -
GigabitEthernet0/0/2 trunk 1 1 10
GigabitEthernet0/0/3 trunk 1 1 20
[SW1]vlan batch 10 20 800
[SW1]interface vlan 10
[SW1-Vlanif10]ip address 192.168.10.1 24 #作为VLAN10 用户的网关
[SW1]interface vlan 20
[SW1-Vlanif20]ip address 192.168.20.1 24
[SW1]interface gi0/0/1
[SW1-GigabitEthernet0/0/1]port link-type access
#接PC、路由器、服务器的接口一般用access
[SW1-GigabitEthernet0/0/1]port default vlan 800
[SW1]interface vlan 800
[SW1-Vlanif800]ip address 192.168.254.1 24
[SW1]dis ip interface brief
Vlanif10 192.168.10.1/24 up up
Vlanif20 192.168.20.1/24 up up
Vlanif800 192.168.254.1/24 up up
[R1]interface gi0/0/0
[R1-GigabitEthernet0/0/0]ip address 192.168.254.2 24
[R1]ip route-static 0.0.0.0 0 192.168.254.1 #添加缺省路由作为路由器的网关
[R1]ip pool vlan_10
[R1-ip-pool-vlan_10]network 192.168.10.0 mask 24
[R1-ip-pool-vlan_10]gateway-list 192.168.10.1
[R1-ip-pool-vlan_10]dns-list 119.29.29.29
[R1]ip pool vlan_20
[R1-ip-pool-vlan_20]network 192.168.20.0 mask 24
[R1-ip-pool-vlan_20]gateway-list 192.168.20.1
[R1-ip-pool-vlan_20]dns-list 119.29.29.29
dis current-configuration #查看所有配置情况
[R1]interface gi0/0/0
[R1-GigabitEthernet0/0/0]dhcp select global #使用全局配置模式
[R1-GigabitEthernet0/0/0]dis this
[V200R003C00]
interface GigabitEthernet0/0/0
ip address 192.168.254.2 255.255.255.0
dhcp select global
return
[SW1]dhcp enable #开启DHCP功能
[SW1]interface vlan 10
[SW1-Vlanif10]dhcp select relay #开启DHCP的relay功能
[SW1-Vlanif10]dhcp relay server-ip 192.168.254.2 #使用DHCP单播IP地址
[SW1-Vlanif10]dis this
interface Vlanif10
ip address 192.168.10.1 255.255.255.0
dhcp select relay
dhcp relay server-ip 192.168.254.2
return
[SW1]interface vlan 20
[SW1-Vlanif20]dhcp select relay
[SW1-Vlanif20]dhcp relay server-ip 192.168.254.2
[SW1-Vlanif20]dis this
interface Vlanif20
ip address 192.168.20.1 255.255.255.0
dhcp select relay
dhcp relay server-ip 192.168.254.2
接入层技术,防止非法的DHCP服务器接入影响。
[R1]interface gi0/0/0
[R1-GigabitEthernet0/0/0]dis this
[V200R003C00]
interface GigabitEthernet0/0/0
ip address 192.168.1.1 255.255.255.0
dhcp select global
return
[R2]interface gi0/0/0
[R2-GigabitEthernet0/0/0]ip address 192.168.21.1 24
[R2]dhcp enable
[R2]interface gi0/0/0
[R2-GigabitEthernet0/0/0]dhcp select interface
[R2-GigabitEthernet0/0/0]dhcp server dns-list 8.8.8.8
接入层交换机,开启dhcp snooping功能后,VLAN的所有的接口默认都是非信任接口,非信任接口收到的DHCP回馈offer报文都会丢弃。
[SW1]dhcp enable
[SW1]dhcp snooping enable #启用dhcp snooping
[SW1]dhcp snooping enable vlan 1 #所有VLAN1接口启用dhcp snooping
把上联接口设置为信任接口,接收DCHP服务器地址。
[SW1]interface gi0/0/1
[SW1-GigabitEthernet0/0/1]dhcp snooping trusted