动态主机设置协议(英语:Dynamic Host Configuration Protocol,DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:用于内部网或网络服务供应商自动分配IP地址;给用户用于内部网管理员作为对所有计算机作中央管理的手段。

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。 DHCP协议采用客户端/服务器模型,主机地址的动态分配任务由网络主机驱动。当DHCP服务器接收到来自网络主机申请地址的信息时,才会向网络主机发送相关的地址配置等信息,以实现网络主机地址信息的动态配置。DHCP具有以下功能:

  1. 保证任何IP地址在同一时刻只能由一台DHCP客户机所使用。
  2. DHCP应当可以给用户分配永久固定的IP地址。
  3. DHCP应当可以同用其他方法获得IP地址的主机共存(如手工配置IP地址的主机)。
  4. DHCP服务器应当向现有的BOOTP客户端提供服务。

DHCP报文: 客户端广播DHCP发现(DHCP Discovery) 服务器回应DHCP响应(DHCP Offer) 客户端广播DHCP请求(DHCP Request) 服务器回应DHCP确认(DHCP ACK) 其实还有其他类型的报文,客户端发现分配的IP地址已经被占用时,发送DHCP Decline,通知服务器IP地址已被占用,要求重新分配。 客户端可以主动释放IP地址,DHCP Release。 如果客户端移动到了另一个IP地址不同的网络,并向服务器申请续租时,服务器发现客户端IP地址错误,发送DHCP NAK通知客户端重新申请IP地址

实验步骤:

SW1配置

创建VLAN 10,并使端口fa0/2、fa0/3加入VLAN 10

Switch>enable

Switch#conf terminal

Switch(config)#vlan 10

Switch(config-vlan)#exit

Switch(config)#interface fastEthernet 0/3

Switch(config-if)#no shutdown

Switch(config-if)#switchport mode access

Switch(config-if)#switchport access vlan 10

Switch(config-if)#exit

Switch(config)#int f0/2

Switch(config-if)#no shutdown

Switch(config-if)#switchport mode access

Switch(config-if)#switchport access vlan 10

Switch(config-if)#exit

三层设备配置

创建VLAN,VLAN配置PC机网关

Switch>en

Switch#conf t

Switch(config)#vlan 10

Switch(config-vlan)#vlan 20

Switch(config-vlan)#exit

Switch(config)#int f0/1

Switch(config-if)#exit

Switch(config)#interface vlan 10

Switch(config-if)#ip address 192.168.1.254 255.255.255.0

Switch(config-if)#inter vlan 20

Switch(config-if)#ip address 192.168.2.254 255.255.255.0

Switch(config-if)#exit

配置端口加入VLAN fa0/1、fa0/3

fa0/2配置trunk模式,并配IP

switchport trunk encapsulation dot1q

Switch(config)#inter fas0/1

Switch(config-if)#no shutdown

Switch(config-if)#switchport mode access

Switch(config-if)#switchport access vlan 10

Switch(config-if)#exit

Switch(config)#inter fas0/3

Switch(config-if)#no shutdown

Switch(config-if)#switchport mode access

Switch(config-if)#switchport access vlan 20

Switch(config-if)#inter fas0/2

Switch(config-if)#no shutdown

Switch(config-if)#switchport trunk encapsulation dot1q

Switch(config-if)#no switchport

Switch(config-if)#ip address 192.168.20.1 255.255.255.0

Switch(config-if)#exit

Switch(config)#inter vlan 10

Switch(config-if)#ip helper-address 192.168.10.1

Switch(config-if)#inter vlan 20

Switch(config-if)#ip helper-address 192.168.10.1

Switch(config-if)#exit

开启路由功能

Switch(config)#ip routing

创建地址池:配置网段、网关、DNS

Switch(config)#ip dhcp pool haha

Switch(dhcp-config)#network 192.168.10.0 255.255.255.0

Switch(dhcp-config)#default-router 192.168.10.254

Switch(dhcp-config)#dns-server 8.8.8.8

Switch(dhcp-config)#servic dhcp

配置路由器下一跳去往服务器

Switch(config)#ip route 192.168.10.0 255.255.255.0 192.168.20.254

路由器的配置

Router>en

Router#conf t

Router(config)#inter f0/0

Router(config-if)#no shutdown

Router(config-if)#ip address 192.168.20.254 255.255.255.0

Router(config-if)#inter fas0/1

Router(config-if)#ip address 192.168.10.254 255.255.255.0

Router(config-if)#no shutdown

Router(config-if)#exit

配置下一跳去往PC机

Router(config)#ip route 192.168.1.0 255.255.255.0 192.168.20.1

Router(config)#ip route 192.168.2.0 255.255.255.0 192.168.20.1

排除某个地址不给PC机配置

Switch(dhcp-config)#ip dhcp excluded-address 192.168.10.1 192.168.10.10 //排除一段连续的地址

Switch(dhcp-config)# ip dhcp excluded-address 192.168.10.13

Switch(dhcp-config)# ip dhcp excluded-address 192.168.10.15