【目前只发现思科跟H3C支持,华为好像没看到支持该特性,所以后续没有华为相关的,以后VRP版本支持了的话 在更新】关于DHCP ARP安全的features,虽然不适合中大型环境,但是在小型网络,然后领导又有特殊需求的要求下面的客户不能私自设置IP,必须通过DHCP获取,防止因为恶意设置导致地址冲突等问题。这个技术需要通过DHCP来配合,但是在中大型环境,然后架构更加复杂的时候,就需要用DHCP Snooping,DAI与ip source Guard技术,更加能细致的控制,属于内部安全技术常见部署之一。
拓扑说明,该拓扑比较适用于有2~多个VLAN的情况下,这个时候必须与连接的出口路由器配置子接口的方式,当然这种方式只适合小型网络。【今天没在实验室,没有实际设备,所以这里用模拟器代替,V5版本都支持该特性的,另外PC用的是VPC代替的。】
还另外一种情况就是,像H3C的MSR系列路由器,有些系列是附带二层接口与三层接口,是多业务路由器,可以看作是一台三层交换机+路由器,这种可以把二层交换机与出口路由器配置为trunk模式,然后配置VLAN接口接口,这种也是合适的,还可以起链路聚合,解决单臂路由的带宽瓶颈问题。不过一般小型网络也没这么多需求了,这里只是稍微提下。
1.二层交换机初始化与配置
1.创建VLAN
.创建VLAN [Acess-SW]vlan 2 to 3
2.把接入PC的接口划入对应的VLAN [Acess-SW]vlan 2 [Acess-SW-vlan2]port e0/4/0 [Acess-SW-vlan2]vlan 3 [Acess-SW-vlan3]port e0/4/1
如果有STP存在的话,需要把接口定义为stp edged-port enable
3.与接路由器接口配置为trunk [Acess-SW]int e0/4/3 [Acess-SW-Ethernet0/4/3]port link-type trunk [Acess-SW-Ethernet0/4/3]port trunk permit vlan 2 to 3 说明:二层交换机简单的配置,划分了VLAN,然后把对应接口加入VLAN,以及与上行接口定义为trunk,H3C默认允许VLAN1通过,这里允许已经有的2与3通过。
2.出口路由器初始化
1.连接外网的接口 [Router-GW]int g0/0/0 [Router-GW-GigabitEthernet0/0/0]ip add 202.100.1.1 24
2.连接内网的接口,子接口形式 [Router-GW]int g0/0/1.2 [Router-GW-GigabitEthernet0/0/1.2]vlan-termination broadcast enable [Router-GW-GigabitEthernet0/0/1.2]vlan-type dot1q vid 2 [Router-GW-GigabitEthernet0/0/1.2]ip address 192.168.2.254 24
[Router-GW]int g0/0/1.3 [Router-GW-GigabitEthernet0/0/1.3]vlan-termination broadcast enable [Router-GW-GigabitEthernet0/0/1.3]vlan-type dot1q vid 3 [Router-GW-GigabitEthernet0/0/1.3]ip address 192.168.3.254 24 说明:子接口,必须先把物理接口开启,然后在子接口下,封装需要的VLAN,以及配置IP地址。
3、默认路由配置,走公网的路由
[Router-GW]ip route-static 0.0.0.0 0.0.0.0 202.100.1.10 说明:让下面的客户端上公网,必须配置默认路由。
3.DHCP+ARP安全配置
1.DHCP配置【配置VLAN 2与VLAN3的地址池】 [Router-GW]dhcp enable
[Router-GW]dhcp server ip-pool vlan2 [Router-GW-dhcp-pool-vlan2]network 192.168.2.0 24 [Router-GW-dhcp-pool-vlan2]gateway-list 192.168.2.254 [Router-GW-dhcp-pool-vlan2]dns-list 114.114.114.114 [Router-GW-dhcp-pool-vlan2]domain-name ccieh3c.taobao.com
[Router-GW]dhcp server ip-pool vlan3 [Router-GW-dhcp-pool-vlan3]network 192.168.3.0 24 [Router-GW-dhcp-pool-vlan3]gateway-list 192.168.3.254 [Router-GW-dhcp-pool-vlan3]dns-list 114.114.114.114 [Router-GW-dhcp-pool-vlan3]domain-name ccieh3c.taobao.com配置了常用的参数,包括分配的地址池网段、掩码、网关、DNS、与域名。
2.ARP安全配置【重点】 [Router-GW]int g0/0/1.2 [Router-GW-GigabitEthernet0/0/1.2]dhcp update arp [Router-GW-GigabitEthernet0/0/1.2]arp authorized enable [Router-GW-GigabitEthernet0/0/1.2]arp authorized time-out 3600【根据需求决定】
[Router-GW]int g0/0/1.3 [Router-GW-GigabitEthernet0/0/1.3]dhcp update arp [Router-GW-GigabitEthernet0/0/1.3]arp authorized enable [Router-GW-GigabitEthernet0/0/1.3]arp authorized time-out 3600【根据需求决定】
说明下配置的命令作用,(1)先说arp authorized enable,它的作用是开启ARP授权,那么设备会在开启了该功能的接口上关闭ARP学习功能,它会通过(2)dhcp update arp这条命令来获取ARP的对应关系,因为客户端请求DHCP服务,服务器收到以后知道对应的MAC地址与分配的IP地址,直接更新到ARP表项里面,并且arp authorized enable会启用探测功能,也就是在ARP快老化的时候,它会探测用户是否在线,如果不在线则删除ARP表项,ARP的老化时间为定义的time-out 3600s,也就是1小时。这个可以根据自己的情况定义,如果客户端工作比较稳定,那么老化时间定义长点,如果流动性比较多,那么定义短点。
4.出口路由器NAT配置,让下面客户端能够访问外网。
[Router-GW]acl number 3000 [Router-GW-acl-adv-3000]rule permit ip source 192.168.2.0 0.0.0.255 [Router-GW-acl-adv-3000]rule permit ip source 192.168.3.0 0.0.0.255
[Router-GW]int g0/0/0 [Router-GW-GigabitEthernet0/0/0]nat outbound 3000 NAT部分,主要是用ACL匹配哪些网段执行NAT,NAT的内容是,匹配了该ACL的网段,通过外网接口访问internet,直接在外网接口调用,用easy-ip方式
5.测试以及几种情况的应对办法。
可以看到通过VPC输入DHCP的方式,已经获取到了对应的IP地址。
这里地址池与ARP信息都有对应的刷新。
访问公网也没任何问题,NAT也有对应的转换。
VLAN2测试(手动配置IP)
手动配置了一个IP地址。
可以看到访问网关都访问不了,而且也没有对应ARP信息刷新。
假设该为一台静态IP的服务器或者网络打印机
[Router-GW]arp static 192.168.2.1 0050-7966-6800 通过静态配置一个ARP映射即可
这样访问就没问题了。
总结:对于DHCP ARP安全技术来说,这里只能当一个features来了解,因为它并不是适合主流的场合,适合一个小的环境,一种廉价的解决方案,对于架构层次多,而且复杂的来说,更加推荐使用DHCP Snooping与ip source guard这些技术。