拓扑解释,
一台PC连到一台3640--A(三层),作为DHCP中继,这台3640-A连到3640-B,3640—B作为
DHCP。
其中PC属于VLAN 10.3640_A和3640-B之间的链路属于VLAN100
拓扑如下:
R3就是3640-A,
R3的配置如下:
interface Vlan10
ip address 10.1.10.1 255.255.255.0
ip helper-address 10.1.100.1 ---设置DHCP服务器的地址。
!
interface Vlan100
ip address 10.1.100.2 255.255.255.0
--------
interface FastEthernet0/1
switchport access vlan 100
!
interface FastEthernet0/2
switchport access vlan 10
--------
ip dhcp relay information option 这项最好加上。不加上可能分配不到地址。
----------
=============================================================================================
这是R4的配置,也就是3640-B的配置。
ip dhcp excluded-address 10.1.10.1 10.1.10.100
!
ip dhcp pool vlan10
network 10.1.10.0 255.255.255.0
default-router 10.1.10.1
interface Vlan100
ip address 10.1.100.1 255.255.255.0
!
-------------------------------------------------------------------------
ip route 0.0.0.0 0.0.0.0 10.1.100.2 这一句很重要,我加上了就能分配DHCP,不加,就获不到地址。
为什么呢,因为我是在R3的VLAN10上做的中继,这样R4个R3发DHCP OFFER的时候,目的地址是10.1.10.1,如果R4上没有到10.1.10.1的路由的话,就丢弃。
R4上的路由表:
10.0.0.0/24 is subnetted, 1 subnets
C 10.1.100.0 is directly connected, Vlan100
S* 0.0.0.0/0 [1/0] via 10.1.100.2
经过debug 发现:
*Mar 1 00:20:19.183: DHCPD: DHCPDISCOVER received from client 0050.7966.6800.ff through relay 10.1.10.1.
*Mar 1 00:20:19.183: DHCPD: Sending DHCPOFFER to client 0050.7966.6800.ff (10.1.10.101).
*Mar 1 00:20:19.183: DHCPD: unicasting BOOTREPLY for client 0050.7966.6800 to relay 10.1.10.1.
R4#
*Mar 1 00:20:20.211: DHCPD: DHCPREQUEST received from client 0050.7966.6800.ff.
*Mar 1 00:20:20.215: DHCPD: No default domain to append - abort update
*Mar 1 00:20:20.215: DHCPD: Sending DHCPACK to client 0050.7966.6800.ff (10.1.10.101).
*Mar 1 00:20:20.215: DHCPD: unicasting BOOTREPLY for client 0050.7966.6800 to relay 10.1.10.1.
示意图:
------------------------------------------------------------------------------------------
interface FastEthernet0/2
switchport access vlan 100