一、应用场景
企业中的IP地址采用DHCP服务器下发,防止在网络中出现其他非法的DHCP服务器下发IP地址,从而保障网络安全,需要配置DHCP Snooping策略。
二、实验拓扑

实验中AR1为合法的DHCP服务器,AR2为非法的DHCP服务器。DHCP服务配置基本相同,区别是合法的DHCP服务器配置的dns是8.8.8.8,非法的DHCP服务器配置的dns是4.4.4.4。
三、IP规划

四、配置思路

五、配置过程
5.1、基础配置,划分vlan及加入端口
5.1.1、在交换机SW1上配置
5.1.1.1、划分vlan10 20
<Huawei>sys
[Huawei]sys SW1
[SW1]vlan batch 10 20
5.1.1.2、把相应的1口和2口划分到vlan10,3口划分到20
[SW1]int g0/0/1
[SW1-GigabitEthernet0/0/1]port link-type access
[SW1-GigabitEthernet0/0/1]port default vlan 10
[SW1]int g0/0/2
[SW1-GigabitEthernet0/0/2]port link-type access
[SW1-GigabitEthernet0/0/2]port default vlan 10
[SW1]int g0/0/3
[SW1-GigabitEthernet0/0/3]port link-type access
[SW1-GigabitEthernet0/0/3]port default vlan 20
5.1.1.3、配置vlan10和vlan20的三层虚拟接口vlanif的地址,作为对应vlan的网关地址
[SW1]int vlan 10
[SW1-Vlanif10]ip addr 192.168.10.254 24
[SW1-Vlanif10]int vlan 20
[SW1-Vlanif20]ip address 10.10.1.2 24
5.1.1.4、查看配置
查看vlan及端口
[SW1]dis port vlan active

查看三层虚拟接口地址
[SW1]dis ip int brief

5.1.2、在合法路由器AR1上配置
5.1.2.1、配置与交换机相连的接口IP地址
<Huawei>sys
[Huawei]sys AR1
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]ip address 10.10.1.1 24
5.1.3在非法的路由器AR2上配置
5.1.3.1、配置接口IP地址为192.168.10.2 24
<Huawei>sys
[Huawei]sys AR2
[AR2]int g0/0/2
[AR2-GigabitEthernet0/0/2]ip address 192.168.10.2 24
5.1.4测试直连路由
合法路由器AR1到三层交换机vlan20的网关vlanif 20
<AR1>ping 10.10.1.2

非法路由器AR2到三层交换机vlan10的网关vlanif 10
<AR2>ping 192.168.10.254

5.2、配置静态路由,使底层链路相通
5.2.1在合法路由器AR1上配置
5.2.1.1、配置一条静态路由,到192.168.10.0网段。下一跳是vlan10的网关地址
[AR1]ip route-static 192.168.10.0 24 10.10.1.2
5.2.2查看AR1的路由表
<AR1>dis ip routing-table

由上图知悉,在AR1上有到达交换机vlan10所在的网段192.168.10.0/24的静态路由。
5.2.3、在交换机SW1上查看路由表
<SW1>dis ip routing-table

由上图知悉,在SW1上有到达路由器AR1所在10.10.1.0/24网段的直连路由。
所以由上面的两个路由表(路由器AR1和交换机SW1)知悉,现在PC1配置一个静态IP地址192.168.1.3/24可以ping通路由器AR1的10.10.1.1/24地址

PC>ping 10.10.1.1

5.2.4、查看非法DHCP路由器AR2的路由表
<AR2>dis ip routing-table

由上图知悉,在AR2上没有到达AR1网段10.10.1.0/24的路由,需要建立一条到达AR1上的缺省路由,下一跳为vlan10的虚拟接口vlanif的地址10.10.1.254,这也是企业中私拉乱建配置路由器的常用巧妙方法。
5.2.5、在AR2上配置缺省路由
[AR2]ip route-static 0.0.0.0 0.0.0.0 192.168.10.254
5.2.6、查看AR2的路由表

此时再测试AR2到AR1的链路
[AR2]ping 10.10.1.1

此时全网链路的底层已经跑通。
5.3、配置DHCP
5.3.1、在路由器AR1上配置
5.3.1.1、配置DHCP服务
[AR1]dhcp en
[AR1]ip pool vlan10
[AR1-ip-pool-vlan10]network 192.168.10.0 mask 24
[AR1-ip-pool-vlan10]gateway-list 192.168.10.254
[AR1-ip-pool-vlan10]dns-list 8.8.8.8
5.3.1.2、在路由器与交换机连接的接口上开启全局dhcp模式
dhcp select global,意思调用一个全局模式下建立的地址池(ip pool) 网关。
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]dhcp select global
5.3.2 在交换机上配置
5.3.2.1在交换机上开启dhcp代理功能
[SW1]dhcp enable
5.3.2.2在交换机上vlan10的虚拟接口vlanif 10上配置代理
[SW1]int vlan 10
[SW1-Vlanif10]dhcp select relay
[SW1-Vlanif10]dhcp relay server-ip 10.10.1.1
5.3.3测试
此时PC1可以通过DHCP正常获得AR1下发的IP地址


至此,DHCP服务器搭建完毕。
下面有的人在企业中搭建了非法的DHCP服务器AR2.
5.4、在AR2上也配置相同的DHCP
5.4.1这个配置和AR1配置不同的是dns,来区别是哪个DHCP服务器
[AR2]dhcp enable
[AR2]ip pool vlan10
[AR2-ip-pool-vlan10] gateway-list 192.168.10.254
[AR2-ip-pool-vlan10] network 192.168.10.0 mask 255.255.255.0
[AR2-ip-pool-vlan10] dns-list 4.4.4.4
5.4.2、在路由器与交换机连接的接口上开启全局dhcp模式
dhcp select global,意思调用一个全局模式下建立的地址池(ip pool) 网关。
[AR2-ip-pool-vlan10]int g0/0/2
[AR2-GigabitEthernet0/0/2]dhcp select global
5.5、测试获得IP地址
5.5.1、PC1开启DHCP获得IP地址功能
现在其应该在同一vlan(vlan10)中的DHCP服务器获得Ip,即从AR2上获得,由于其距离PC1近,所以响应的快速。

由上图知悉,dns是4.4.4.4是非法DHCP服务器AR2提供的地址。
5.5.2、在交换机全局模式下开启dhcp snooping 功能
[SW1]dhcp snooping enable
[SW1]dhcp snooping enable vlan 10
5.6、验证
在PC1上先清除DHCP获得的地址
PC>ipconfig /release

重新获得
PC>ipconfig /renew

由上图知悉,PC1获得的DNS地址是8.8.8.8,这是合法的DHCP服务器的DNS地址,所以PC1是从合法的DHCP服务器AR1上获得的IP地址。
六、建议
实际使用中,推荐大家在用户接入层交换机上面部署DHCP Snooping功能,越靠近PC端口控制得越准确。而每个交换机的端口推荐只连接一台PC,否则如果交换机某端口下串接一个Hub,在Hub上连接了若干PC的话,那么如果凑巧该Hub下发生DHCP欺骗,由于欺骗报文都在Hub端口间直接转发了,没有受到接入层交换机的DHCP Snooping功能的控制,这样的欺骗就无法防止了。
所以网络中,除了技术防护,还需要配合管理制度的防护,才能最大限度确保网络安全。