西电-B测-计算机网络综合实验

西电-B测-计算机网络综合实验

Mr.GGLS 7,291 2022-05-13

B测-计算机网络综合设计

环境

  • Windows 10
  • Oracle VirtualBox
  • Wireshark
  • WinPcap
  • eNSP

虚拟设备选择

  • PC
  • 交换机:S5700
  • 路由器:AR1220

总拓扑图

image-20220504221430186

配置

让四台PC互相ping通

PC1和PC2设置成自动获取IP

image-20220504221540432

在AR3中进行如下配置

sys # 进入系统视图
sysname ar3 # 取个小名儿
int g0/0/0 # 配置GE 0/0/0端口
ip address 192.168.1.195 24 # 设置端口处IP mask
dhcp enable # 启动DHCP服务
ip pool ggls_p1 # 创建IP池
network 192.168.1.0 mask 24 # 建立网段 网络号 mask
gateway-list 192.168.1.195 # 网关 IP
int g0/0/0 
dhcp select global # 启动分配
int g0/0/1
ip address 192.168.5.2 24 # 将路由器GE 0/0/1拉入 192.168.5.0 网段,后面要用
quit
# 配置静态路由,后面要用
# 想去192.168.5.0/24的下一跳是192.168.5.195
ip route-static 192.168.5.0 24 192.168.5.195
# 想去192.168.3.0/24的下一跳是192.168.5.195
ip route-static 192.168.3.0 24 192.168.5.195

在LSW2中进行如下配置

说明一下:拉一个vlan1,将AR3、PC3和AR4纳入该vlan,并配置静态路由表

sys
sysname lsw2
vlan 1 # 创建vlan 1
int vlanif 1
ip address 192.168.5.195 24 # 配置网关?
int g0/0/1 # 让 GE 0/0/1加入vlan1
port link-type access
port default vlan 1
int g0/0/2 # 让 GE 0/0/2加入vlan1
port link-type access
port default vlan 1
int g0/0/3 # 让 GE 0/0/3加入vlan1
port link-type access
port default vlan 1
quit
# 和AR3、AR4的静态路由配置对应,注意了这波
# 想去192.168.1.0/24的下一跳是192.168.5.2
ip route-static 192.168.1.0 24 192.168.5.2
# 想去192.168.3.0/24的下一跳是192.168.5.3
ip route-static 192.168.3.0 24 192.168.5.3 

PC3中配置

image-20220504221819443

AR4中配置

# 不说了,和上面差不多
sys
sysname AR4
int g0/0/0
ip address 192.168.5.3 24
int g0/0/1
ip address 192.168.3.195 24
quit
ip route-static 192.168.1.0 24 192.168.5.195
ip route-static 192.168.5.0 24 192.168.5.195

PC4中配置

image-20220504222037749

最后在PC的命令行中进行ping实验,看是否四台机子能相互ping通

可能最开始有超时现象,属于正常情况

image-20220504230934550

PC1配置限速50%

配置限速时,需要配置cir cir-value和cbs cbs-value等参数,其中cir cir-value指承诺信息速率,即保证能够通过的平均速率;cbs cbs-value指承诺突发尺寸,即瞬间能够通过的承诺突发流量。例如,用户想要配置限速4Mbit/s,则配置cir-value=4*1024 kbit/s=4096 kbit/s。cbs-value建议配置为cir-value的100–200倍,如果用户没有配置cbs-value,则设备会自动指定其为缺省值。单令牌桶时,cbs-value缺省为cir-value的188倍;双令牌桶时,cbs-value缺省为cir-value的125倍。

太长了,看下面吧~

# S5700端口最大速率=1000Mbps
# PC1
# 进入AR3
sys
int g0/0/1
qos lr inbound cir 500000 #500*1000=> 500Mbps
qos lr outbound cir 500000

ARP安全配置

下面的配置请在所有的路由器上进行!!!

什么是ARP?

ARP(Address Resolution Protocol,地址解析协议)是用来将IP地址解析为MAC地址的协议。主机或三层网络设备上会维护一张ARP表,用于存储IP地址和MAC地址的映射关系,一般ARP表项包括动态ARP表项和静态ARP表项

为什么需要ARP?

在局域网中,当主机或其它三层网络设备有数据要发送给另一台主机或三层网络设备时,需要知道对方的网络层地址(即IP地址)。但是仅有IP地址是不够的,因为IP报文必须封装成帧才能通过物理网络发送,因此发送方还需要知道接收方的物理地址(即MAC地址),这就需要一个通过IP地址获取物理地址的协议,以完成从IP地址到MAC地址的映射。地址解析协议ARP即可实现将IP地址解析为MAC地址

即:IP地址是逻辑地址寻址,工作在网络层,具有全网范围内的寻址能力,可以快速定位目标地址所在的网络
MAC地址是物理地址寻址,工作在数据链路层,要将数据包发给对方必须知道对方的MAC地址,因为主机的以太网网卡只能识别MAC地址

ARP欺骗攻击

ARP欺骗攻击,是指攻击者通过发送伪造的ARP报文,恶意修改设备或网络内其他用户主机的ARP表项,造成用户或网络的报文通信异常。

如何应对欺骗?

配置ARP报文合法性检查

  • 这些检查是用来**判断ARP报文的格式跟ARP协议的规定是否一致**。其中以太网数据帧首部中的源MAC地址和ARP报文数据区中的源MAC地址不一致的ARP报文是协议允许的报文,但是在实际的应用中,该类报文很可能是攻击报文。
  • 使能ARP报文合法性检查功能后,设备**会对收到的ARP报文进行以太网数据帧首部中的源MAC地址和ARP报文数据区中的源MAC地址的一致性检查**,如果两者不一致,则直接丢弃该ARP报文,否则允许该ARP报文通过
# 在你的路由器上
sys
arp anti-attack packet-check sender-mac

配置ARP表项固化

  • fixed-mac方式:设备收到的ARP报文中的MAC地址与ARP表中对应条目的MAC地址不匹配,则直接丢弃该ARP报文;如果匹配,但是收到报文的接口或VLAN信息与ARP表中对应条目不匹配,则可以更新对应ARP条目中的接口和VLAN信息。此方式适用于用户MAC地址固定,但用户接入位置频繁变动的场景。当用户从不同接口接入设备时,设备上该用户对应的ARP表项中的接口信息可以及时更新。
  • fixed-all方式:只有当ARP报文对应的MAC地址、接口、VLAN信息和ARP表项中的信息完全匹配时,设备才可以更新ARP表项的其他内容。此方式适用于用户MAC地址固定,并且用户接入位置相对固定的场景。
  • send-ack方式:设备收到一个涉及MAC地址、VLAN、接口修改的ARP报文时,不会立即更新ARP表项,而是先向待更新的ARP表项现有MAC地址对应的用户发送一个单播的ARP请求报文进行确认,根据确认结果再决定是否更新ARP表项中的MAC地址、VLAN和接口信息。此方式适用于用户的MAC地址和接入位置均频繁变动的场景。
# 同上
sys
arp anti-attack entry-check [ fixed-mac | fixed-all | send-ack ] enable

ARP泛洪攻击

ARP泛洪攻击,也叫拒绝服务攻击DoS(Denial of Service),主要存在这样两种场景:

设备处理ARP报文和维护ARP表项都需要消耗系统资源,同时为了满足ARP表项查询效率的要求,一般设备都会对ARP表项规模有规格限制。攻击者就利用这一点,通过伪造大量源IP地址变化的ARP报文,使得设备ARP表资源被无效的ARP条目耗尽,合法用户的ARP报文不能继续生成ARP条目,导致正常通信中断。

攻击者利用工具扫描本网段主机或者进行跨网段扫描时,会向设备发送大量目标IP地址不能解析的IP报文,导致设备触发大量ARP Miss消息,生成并下发大量临时ARP表项,并广播大量ARP请求报文以对目标IP地址进行解析,从而造成CPU(Central Processing Unit)负荷过重。

如何应对泛洪?

配置ARP报文限速

  • 如果设备对收到的大量ARP报文全部进行处理,可能导致CPU负荷过重而无法处理其他业务。因此,在处理之前,设备需要对ARP报文进行限速,以保护CPU资源。
# 路由器
sys
int 接口
arp anti-attack rate-limit enable # 开启ARP报文限速
arp anti-attack rate-limit packet-number [interval] 配置限速值(xx个/s)
sys 
int g0/0/0
arp anti-attack rate-limit enable 
arp anti-attack rate-limit 80 1
int g0/0/1
arp anti-attack rate-limit enable 
arp anti-attack rate-limit 80 1

配置ARP Miss消息限速

  • 如果网络中有用户向设备发送大量目标IP地址不能解析的IP报文(即路由表中存在该IP报文的目的IP对应的路由表项,但设备上没有该路由表项中下一跳对应的ARP表项),将导致设备触发大量的ARP Miss消息。这种触发ARP Miss消息的IP报文会被上送到设备进行处理,设备会根据ARP Miss消息生成和下发大量临时ARP表项并向目的网络发送大量ARP请求报文,这样就增加了设备CPU的负担,同时严重消耗目的网络的带宽资源。
# 同上
sys 
arp-miss anti-attack rate-limit enable # 开启ARP Miss消息限速

ARP表项严格学习
如果大量用户在同一时间段内向设备发送大量ARP报文,或者攻击者伪造正常用户的ARP报文发送给设备,则会造成如下危害:

  • 设备因处理大量ARP报文而导致CPU负荷过重,同时设备学习大量的ARP报文可能导致设备ARP表项资源被无效的ARP条目耗尽,造成合法用户的ARP报文不能继续生成ARP条目,导致用户无法正常通信。
  • 伪造的ARP报文将错误地更新设备ARP表项,导致合法用户无法正常通信。
  • 配置该功能后,只有本设备主动发送的ARP请求报文的应答报文才能触发本设备学习ARP,其他设备主动向本设备发送的ARP报文不能触发本设备学习ARP,这样,可以拒绝大部分的ARP报文攻击。
# 同上
sys
int 接口
arp learning strict force-enable|force-disable|trust

查看ARP安全配置情况

display arp anti-attack configuration { arp-rate-limit | arpmiss-rate-limit | arp-speed-limit | arpmiss-speed-limit | entry-check | gateway-duplicate | packet-check | all }

eg:display arp anti-attack configuration all(查看所有ARP安全配置)

参考文献