DHCP原理https://blog.51cto.com/9075724/2144679
如图有vlan10,20,100三个vlan网段。vlan100是192.168.30.0/24的linux服务器。
vlan10 192.168.10.0/24的客户端 vlan20 192.168.20.0/24的客户端使用Linux搭建DHCP中继_第1张图片
首先配置DHCP服务器
安装DHCP服务
[root@localhost ~]# rpm -ivh /mnt/Packages/dhcp-4.2.5-58.el7.centos.x86_64.rpm
警告:/mnt/Packages/dhcp-4.2.5-58.el7.centos.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:dhcp-12:4.2.5-58.el7.centos ################################# [100%]
[root@localhost ~]# rpm -qc dhcp
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf
/etc/openldap/schema/dhcp.schema
/etc/sysconfig/dhcpd
/var/lib/dhcpd/dhcpd.leases
/var/lib/dhcpd/dhcpd6.leases
[root@localhost ~]# vi /etc/dhcp/dhcpd.conf //配置DHCP服务文件

subnet 192.168.30.0 netmask 255.255.255.0 { //自身网段配置文件
range 192.168.30.10 192.168.30.200;
option routers 192.168.30.1;
default-lease-time 7200;
max-lease-time 72000;
}
subnet 192.168.20.0 netmask 255.255.255.0 { //192.168.20/24网段配置文件
range 192.168.20.10 192.168.20.200;
option routers 192.168.20.1;
default-lease-time 7200;
max-lease-time 72000;
}
subnet 192.168.10.0 netmask 255.255.255.0 { //192.168.10/24网段配置文件
range 192.168.10.10 192.168.10.200;
option routers 192.168.10.1;
default-lease-time 7200;
max-lease-time 72000;
}

[root@localhost ~]# systemctl start dhcpd //启动DHCP服务

现在配置两个交换机的相关配置
sw1是三层交换机
sw2是二层交换机

sw2配置情况

sw2#conf t
Enter configuration commands, one per line. End with CNTL/Z.
sw2(config)#
sw2(config)#no ip routing //关闭路由功能
sw2(config)#vlan 10,20,100 //添加vlan10,20,100
sw2(config-vlan)#ex
sw2(config)#int f1/15 // f1/15 加入trunk
sw2(config-if)#sw
sw2(config-if)#switchport mo
sw2(config-if)#switchport mode tr
sw2(config-if)#switchport mode trunk
sw2(config-if)#ex
sw2(config)#int f1/14 // f1/14 加入vlan100
sw2(config-if)#sw
sw2(config-if)#switchport ac
sw2(config-if)#switchport access vlan 100
sw2(config-if)#exi
sw2(config)#int f1/0 // f1/0 加入vlan10
sw2(config-if)#sw
sw2(config-if)#sw
sw2(config-if)#switchport ac
sw2(config-if)#switchport access vlan 10
sw2(config-if)#exi
sw2(config)#int f1/1 // f1/1 加入vlan20
sw2(config-if)#sw
sw2(config-if)#switchport ac
sw2(config-if)#switchport access vlan 20
sw2(config-if)#

sw1配置情况
sw1#conf t
sw1(config)#vlan 10,20,100 //添加vlan10,20,100
sw1(config-vlan)#exi
sw1(config)#int f1/15 // f1/15 加入trunk
sw1(config-if)#switchport mode trunk
sw1(config-if)#switchport trunk encapsulation dot1q
sw1(config-if)#exi
sw1(config)#int vlan 10 // 进入vlan10 添加网关和中继服务
sw1(config-if)#ip address 192.168.10.1 255.255.255.0
sw1(config-if)#ip helper-address 192.168.30.33
sw1(config-if)#no shutdown
sw1(config-if)#exi
sw1(config)#int vlan 20 // 进入vlan20 添加网关和中继服务
sw1(config-if)#ip add 192.168.20.1 255.255.255.0
sw1(config-if)#ip helper-address 192.168.30.33
sw1(config-if)#no shutdown
sw1(config-if)#exi
sw1(config)#int vlan 100 // 进入vlan100 添加网关
sw1(config-if)#ip add 192.168.30.1 255.255.255.0
sw1(config-if)#no sh
sw1(config-if)#

至此服务器和路由器就配置完成了。下面使用两台win7来验证dhcp服务是否奏效。
使用Linux搭建DHCP中继_第2张图片
使用Linux搭建DHCP中继_第3张图片