1 拓扑与说明
某公司的网络架构,这样的架构在目前的网络中是在常见的,假设您接收一个这样的网络,应该如何部署,该实战系列,就是一步一步讲解,如何规划、设计、部署这样一个环境,这里会针对不同的情况给出不同的讲解,比如拓扑中有2个ISP,假设客户需求是,想实现主备的效果,又或者是想负载分担。DHCP部署在防火墙上面或者是单独的服务器上面又该如何配置部署。
(每周日更新)公众号内容汇总归纳,数通基础入门、实战案例、模拟器工具
https://docs.qq.com/sheet/DV0xxTmFDRFVoY1dQ?tab=7ulgil
2 路由定义分析
在这个网络中,目前来看设计到三层部分的完全只有对应的两台核心交换机与出口防火墙之间,而下面的交换都是二层网络,那么这里就没必要使用动态路由协议了,静态路由完全可以胜任了,之前的架构已经看出来了,交换机之间使用VRRP虚拟了一个地址,与防火墙进行通信,而防火墙则也就一个IP地址,所以我们需要定义的是,防火墙的路由:1、一条默认路由指向ISP,这个是为了上网用的,当然这里有2个ISP,所以需要定义2个默认路由,分别指向ISP的下一跳,而明细路由则需要指定到VLAN 19~21,88这些网络的路由,为什么呢,因为一个数据包是有去有回的,你出去的时候可以走默认路由,但是数据包回来,防火墙并不知道它在哪,所以这里要告诉防火墙怎么转发,这里可以使用路由汇总,这也体现出来了,子网划分的汇总性了。 两台交换机的路由,只需要定义一条默认路由指向防火墙即可,因为内部网络其实交换机都知道怎么走,唯一不知道的是怎么去往外网,所以只需要指定一条默认路由指向防火墙即可。
3 路由配置
[Core-A]ip route-static 0.0.0.0 0 192.168.100.251
[Core-B]ip route-static 0.0.0.0 0 192.168.100.251
[USG-GW]ip route-static 192.168.0.0 16 192.168.100.254
说明:定义了3三条路由,前2条分别是交换机定义默认路由直接转发给防火墙,而第三条可以看出来,直接做了一个汇总路由,把192.168.0.0/16的直接转发给192.168.100.254,也就是交换机的VRRP地址。
[AC6605]ip route-static 0.0.0.0 0.0.0.0 192.168.1.254
这里需要定义一个AC的路由,方便后续其他网段能访问到AC。
说明:关于防火墙访到ISP的路由,我们在防火墙实现NAT那快一起分析,根据不同需求定义不同的配置。
4 DHCP部署分析
在这种网络架构中,可以部署DHCP的有2个设备,一个是出口防火墙,另外一个就是用单独的服务器集群部署一台DHCPServer,可以是Linux的或者Windows的,推荐使用服务器搭建DHCP,原因有几个,1、如果使用防火墙搭建DHCP服务,会增加防火墙的负担,因为防火墙上面不仅仅跑IPSEC VPN、L2TP VPN、NAT、路由、包检测功能,需要创建大量的会话信息,并且处理,而总部的PC量也是非常大的,所以这时候,我们需要保证不给防火墙增加负担,而服务器的话,目前虚拟化很成熟,一台好的服务器,部署了虚拟化环境的话,非常容易虚拟出许多服务来,不管是做冷备还是热备,都是可以的,当然热备的话,Windows需要2012才支持。冷备的意思就是,先只用第一台服务器,当第一台DHCP服务器坏了的话,则用第二台。当然它没有备份功能的,两台服务器之间不知道对方到低分配了哪些IP地址,而2012的话则支持主备功能,就是主分配了地址后,会同步信息给备用,这样当备用充当主用的时候,则可以继续工作在之前的状态。
5 Windows DHCP搭建
说明:DHCP使用的是Windows 2003的,因为我这是用虚拟环境搭建的2003来模拟工作中的DHCP服务器,所以没有部署2008或者2012了,那个比较占用资源,其实配置起来非常简单的。 该服务器IP地址为192.168.88.251
1、在添加/删除程序内———-添加/删除Windows 组件————-找到Network Service——–选择DHCP服务,OK就行,注意的是 需要插入对应的光盘。
打开对应的DHCP服务
新建一个范围或者作用域
说明:这样就创建了一个对应的地址池了,分配了对应的网段、网关、DNS与Domain。这个可以根据自己需求定义的,加你命名的时候加上注释,方便后续区分。另外需要注意分配的范围,之前已经看到了后面的252、253、254对应的地址都被使用了的,所以在分配的时候,建议范围是1~250,比如192.168.19.1~250或者251。
对应的创建了4个地址池,主要是该项目中用到的,其实还有VLAN 22与23,但是这里没举例,所以就不添加了,其中对应的网关都为254,而DNS地址是192.168.88.251,其实就是DHCP服务器,因为是模拟环境,所以就用一台服务器充当了几个服务功能。 需要注意的是,这里VLAN 1的功能,主要是给无线AP分配的地址,所以范围不是很大,满足需要就可以了。
6 结果验证
7 DHCP中继配置【最容易忽略的一个点】
分析:为什么会获取不到地址呢,我们虽然在DHCP定义了对应的地址池,但是,当PC请求获取地址的时候,发送DHCP报文,然后经过接入层交换机打上VLAN Tag,转发给核心层,核心层收到以后,会检查自己是否开启了对应的DHCP服务功能,如果存在的话,则会为这个PC分配地址,但是我们定义DHCP服务是在服务器上面,交换机上面并没有,所以导致交换机直接丢弃这个报文,没有任何回应,因为交换机自身没有开启服务,它也不知道到低找谁可以给PC分配地址。这时候就需要配置中继功能了,中继功能就是告诉核心交换机,到哪找到DHCP服务器。
[Core-A]dhcp enable
[Core-A]interface vlan 1
[Core-A-Vlanif1]dhcp select relay
[Core-A-Vlanif1]dhcp relay server-ip 192.168.88.251
说明:首先必须开启DHCP功能,然后在对应的VLAN 下面启用中继功能,然后定义服务器地址在哪,注意的是,所有的VLAN都需要敲,比如 VLAN 1、19、20、21,只要客户需要获取地址的VLAN 都需要桥上。
两台核心交换机的VLAN都需要配置,这里不分主备,都需要定义,因为如果主失效了,备用作为网关的话,那么又没有对应的中继功能,那么导致DHCP获取不到,所以这里都需要配置。
8 再次结果验证
当PC连接到访客厅的时候,获取到了对应IP地址为192.168.19.1,网关与DNS等参数都是OK的。
当PC连接到Boss的时候,获取到了对应的IP地址 为192.168.20.1,网关与DNS参数都OK
9 客户问题反映、优化与总结
虽然DHCP已经部署完毕,客户端也获取到了地址,在测试的时候没有发现问题,但是在用过一段时间后,客户反映说,当PC重新连接到交换机后,需要很长一段时间才能获取到地址,或者是第一次出现获取不到地址的情况,这种情况特别是笔记本比较明显。
分析:为什么会出现这种情况呢,这的查看端口状态了。当我把一个PC接到一台交换机上面的时候,交换机接口会UP,但是由于该接口开启了STP功能,则会先进行STP计算,虽然是MSTP,但是对于边缘接口处理并不好,我们可以看查看状态。
我们可以看到,E0/0/2刚刚UP,但是对应的STP状态为DISCARDING,丢弃状态,这是MSTP最初始的状态,说明MSTP还在计算当中,计算该接口的角色是什么。
现在已经变Learning状态了
到最后才变为Forwarding,这个时间可能经过30~50s,而我们知道当一个PC接入到一个网络后,在10~15s之类,没有获取到IP地址的话,则会自动获取一个169的地址,所以造成客户有些获取地址缓慢或者直接获取不到地址的情况。
10优化
1、除了上联接口以外,面对客户的网络关闭STP(不推荐)
2、启用边缘端口功能,让面对客户的网络直接跳过STP检测(推荐)
注意第一个不推荐的原因是,如果客户私接一个设备,然后还是环路的话,STP是可以有效阻断的,但是如果关闭了的话,造成了环路,广播风暴的话,则容易造成网络瘫痪。而服务器集群交换机则不需要配置,因为正常情况下,服务器是不会轻易动的。而且进入也需要批准等情况,所以不配置也可以。
以Boss为例,访客厅、财务都需要配置,参考即可,注意核心设备不需要配置
[boss]port-group 1
[boss-port-group-1]stp edged-port enable
说明:财务跟访客厅按照这个配置即可,这里的port-group不需要关联接口了,因为在最开始的时候我们已经关联过了,所以这里直接配置即可。
可以看到所有的接口都配置边缘端口功能。
11 最终测试结果验证
这次再次接入到Boss设备上面,看端口状态、与DHCP获取情况。
可以看到这次接入到E0/0/3上面,而查看后直接转发状态,并没有经历之前的丢弃、侦听等状态了。
12 总结
DHCP这块最容易2个点就是 1、DHCP中继 2、STP的存在,另外的是DHCP分配了这么多地址池,它为什么会知道客户 就是需要那个呢,其实这是中继在起作用,当一个数据包抵达核心交换机后,交换机会查看中继配置,以单播包发送给DHCP服务器,包的源地址就是对应的VLAN 的网段,而DHCP收到后,分配的地址就根据这个VLAN 的网关来分配的,这样的话 你VLAN 19请求到的自然是与VLAN 19对应的网段。
另外一个DHCP中继的Feature功能。
假设该网段有2台DHCP服务器,默认情况下用A,当A失效后才使用B。那么我们就不能想刚刚那样配置了,需要配置一个DHCP Group。
[Core-A]dhcp server group 1
[Core-A-dhcp-server-group-1]dhcp-server 192.168.88.251
[Core-A-dhcp-server-group-1]dhcp-server 192.168.88.250
[Core-A]int vlan 100
[Core-A-Vlanif100]dhcp selec relay
[Core-A-Vlanif100]dhcp relay server-select 1
说明:该配置的意思就是说,定义了2个DHCP服务器地址,默认情况下使用第一个,当第一个坏了后才使用第二个,然后在接口下调用,调用的方式跟之前不同,之前是直接写IP地址,而这里是调用这个组。
作者:网络之路一天 首发公众号:网络之路博客(ID:NetworkBlog)