LAN
MAC地址表
交换机和HUB的区别
HUB是一层设备物理层
交换机是数据链路层设备
世界上第一台交换机是华为(运营商市场)和3com(华三(企业级市场,被惠普收购之后被国家收购),美国和华为集资成立)整的
第一台路由器是出自思科
HUB核心思想—— 接口共享总线,CSMA/CD避免冲突(复习去!)
交换机每个接口
都是独立的冲突域,不共享总线,内部有备板,备板上接口与接口之间有逻辑隔离物理相接,内存内存调渡(依托MAC地址表)区分。
家用低端交换机还是这种
桥技术——软件技术
最开始的靠内存调渡的
无线网卡和有线网卡是可以桥接的
桥接之前分开隔离,桥接完,内存上可以调渡两个接口之间的数据
内存式=网桥
比较慢,内存涉及CPU,内存和CPU是中断机制比较慢,接口调渡和依赖总线,总线会成为数据的瓶颈,注定大不了
现在交换机的物理功能是矩阵
交叉点是开关(多项开关)
完成独立功能,开关控制有矩阵算法(专用芯片控制)
矩阵式
路由器也是矩阵式,牵扯换封装
造价不同
交换机接口多
核心交换功能都是矩阵
各大厂商算法基本相似
矩阵算法用到CAM芯片(存储芯片,很厉害,几千条数据,找数据非常快,比毫秒级别快,不管一次性找多大数据1毫秒找出来,和内存一样可以存储数据,查找极快)
交换机由此可以快速转发
矩阵算法和CAM芯片组合交换机转发极快
MAC地址表要同步CAM表,实际查的是CAM表
博通(新加坡,以前提供芯片的厂商,提出过收购高通)华为和华三用 都是这
判别交换机,厂商软件,用什么芯片
物理构造的主要区别
MAC本质上是查不到的
控制和转发是两面
控制面是MAC地址表
转发是CAM表只牵扯如何MAC表同步问题,同步机制构成技术差异
路由器为什么慢,交换机为什么快,三层交换机又是怎么回事
MAC地址表的组成(1)
。动态表项
。由接口通过报文中的源MAC地址学习获得,表项可老化,默认老化时间300秒。(数据不再查找的时候会老化)
。在系统复位(重启断电)、接口板热插拔或接口板复位后,动态表项会丢失。
生成树的TC报文,初始化也会让表立即老化
配置BPDU保护的原因
。静态表项——不会老化
。由用户手工配置,并下发到各接口板,表项不可老化。
。在系统复位、接口板热插拔或接口板复位后,保存的表项不会丢失。
。黑洞表项
由用户手工配置,并下发到各接口板,表项不可老化。
。配置黑洞MAC地址后,源MAC地址或目的MAC地址是该MAC的报文将会被丢弃。(同空接口一个概念)
一个接口下可以绑定多个MAC地址
一个MAC地址只能绑定一个接口,但是可以漂移,转换到另一个接口
MAC地址漂移,自己看
如果大规模漂移就是有环路
A在接口上来回移动
数据上沾满带宽
控制层芯片反复擦写,影响芯片寿命
搞生成树
搞端口安全
网络中会出现
想捉AB的包
窥探到AB的包——劫持ARP劫持是攻击AB电脑/攻击交换机,发送大量垃圾源MAC,交换机会学习,MAC表会满,AB进不了交换机,当一个目标在MAC里查不到会洪泛,叫未知单播帧洪泛
C可以监听AB数据包
中间人攻击,C伪造A/B发数据帧,会发生MAC地址表漂移,C洪泛,AB就可以收到了
针对交换机的攻击
端口安全
端口安全( Port Security )通过将接口学习到的动态MAC地址转换为安全MAC地址(包括安全动态MAC、安全静态MAC和Sticky MAC),阻止非法用户通过本接口和交换机通信,从而增强设备的安全性。
。安全MAC地址分类
。安全动态MAC地址
。使能端口安全而未使能Sticky MAC功能时转换的MAC地址。
。安全静态MAC地址
。使能端口安全时手工配置的静态MAC地址。.
Sticky MAC地址(粘滞)
·使能端口安全后又同时使能Sticky MAC功能后转换到的MAC地址。
做信用绑定,端口和MAC地址进行捆绑,知道绑具体,不知道可以限制接口的数量
惩罚措施,检测到别的MAC会把端口干掉
端口安全使能 的时候MAC也会被清空
●
接口使能端口安全功能时,接口.上之前学习到的动态MAC地址表项将被删除,之后学习到的MAC
地址将变为安全动态MAC地址。
●接口使能Sticky MAC功能时,接口上的安全动态MAC地址表项将转化为Sticky MAC地址,之后
学习到的MAC地址也变为Sticky MAC地址。
●接口去使能端口安全功能时,接口.上的安全动态MAC地址将被删除,重新学习动态MAC地址。
●接口去使能Sticky MAC功能时,接口.上的Sticky MAC地址,会转换为安全动态MAC地址。
粘滞之后不会老化——也可以设置数量
粘滞还会静态很像,但是不用手动写
二三层一般不启用校验
[SW1]int g0/0/2
[SW1-GigabitEthernet0/0/2]port-security enable //使能端口安全功能
这是MAC表, 如表所示,有一个security的类型
接下来触发报警
加一个PC(security默认是一个)
不通且报警,接口状态是UP,所以惩罚措施默认是过滤
[SW1]int g0/0/2
[SW1-GigabitEthernet0/0/2]port-security protect-action ?
protect Discard packets
restrict Discard packets and warning
shutdown Shutdown
[SW1-GigabitEthernet0/0/2]port-security protect-action shutdown
PC3 ping PC1链路接口就已经关掉了,因为包是洪泛的,触发了接口的惩罚机制。
解除惩罚:
[SW1-GigabitEthernet0/0/2]undo shutdown
[SW1-GigabitEthernet0/0/2]
Jan 14 2021 20:44:34-08:00 SW1 %%01PHY/1/PHY(l)[4]: GigabitEthernet0/0/2: cha
nge status to up
//直接打开即可
因为刚才的关闭接口的表项被清空,
正面验证了没有开粘滞会老化清空表项
[SW1-GigabitEthernet0/0/1]int g0/0/2
[SW1-GigabitEthernet0/0/2]port-security ?
aging-time Aging time
enable Enable port security
mac-address Mac address
max-mac-num Maximum mac address can learn
protect-action Action if beyond the limit
[SW1-GigabitEthernet0/0/2]port-security mac-address ?
sticky Sticky-mac
[SW1-GigabitEthernet0/0/2]port-security mac-address sticky
再触发一下(到这里的问题是,PC1ping不通PC2,但是PC2可以到PC1)
记录还在,不会消失
粘滞比静态高级一点不用自己敲,看自己需求。
说明∶
。接口使能Sticky MAC功能,安全动态MAC地址表项将转化为Sticky MAC地址,之后学习到的MAC地址也变为Sticky MAC地址。
。接口使能Sticky MAC功能,即使配置了port-security aging-time,Sticky MAC也不会被老化。
。Sticky MAC地址表项,保存后重启设备不丢弃。端口安全的保护动作∶
Restrict:丢弃源MAC地址不存在的报文并上报告警。推荐使用restrict动作。
Protect:只丢弃源MAC地址不存在的报文,不上报告警。
Shutdown :接口状态被置为error-down,(相当于关闭,解除状态undo shutdown)并上报告警。
如图所示,MAC地址为0011-0022-0034的表项,出接口由GE1/0/1刷新为GE1/0/2,这就是MAC地址漂移。设备出现MAC地址漂移时,设备CPU占用率会有不同程度的升高。正常情况下,网络中不会在短时间内出现大量MAC地址漂移的情况。出现这种现象一般都意味着网络中存在环路,,可以通过查看告警信息和漂移记录,快速定位和排除环路。
网络中产生环路或非法用户进行网络攻击都会造成MAC地址发生漂移,导致MAC地址不稳定。在规划网络时,可以通过下面两种方式来避免这种情况:
提高接口MAC地址学习优先级。当不同接口学到相同的MAC地址表项时,高优先级接口学到的MAC地址表项可以覆盖低优先级接口学到的MAC地址表项,防止MAC地址在接口间发生漂移。
不允许相同优先级的接口发生MAC地址表项覆盖。当伪造网络设备所连接口的优先级与安全的网络设备相同时,后学习到的伪造网络设备的MAC地址表项不会覆盖之前正确的表项。但如果网络设备下电,仍会学习到伪造网络设备的MAC地址,当网络设备再次上电时将无法学习到正确的MAC地址。
中间人攻击也会产生漂移,C把源MAC写成B的会把B的表项覆盖。如果发现交换机有频繁的漂移要注意检查。
配置MAC地址漂移检测功能后,在发生MAC地址漂移时,可以上报包括MAC地址、VLAN,以及跳变的接口等信息的告警。其中跳变的接口即为可能出现环路的接口。网络管理员可以根据告警信息,手工排查网络中环路的源头,也可以使用MAC漂移检测提供的后续动作,使跳变的端口down或者VLAN从端口中退出,实现自动破环。
如图所示网络中,若SwitchC和SwitchD之间误接网线,则SwitchB、SwitchC、SwitchD之间形成环路。当SwitchA上Port1接口从网络中收到一个广播报文后转发给SwitchB,该报文经过环路,会被SwitchA上Port2接口收到。配置MAC地址漂移检测功能,SwitchA就会感知到MAC地址出接口跳变的现象。若连续出现此现象,SwitchA就会上报MAC漂移告警,提醒管理员进行维护。
●接口配置不同的MAC地址学习优先级后,如果不同接口学到相同的MAC地址表项,那么高优先级接口学到的MAC地址表项可以覆盖低优先级接口学到的MAC地址表项,防止MAC地址发生漂移。
●配置不允许相同优先级的接口发生MAC地址表项覆盖,也可以防止MAC地址漂移,提高网络的安全性。
配优先级的,一般是配服务器这样的重要的设备。
优先级高的好处是别人抢不走
原情况下,C只要伪造一个源为A的数据帧就可以把MAC地址抢过来,但是A把优先级设为大于0,C就抢不过来了。
ie中着重强调MAC地址的安全功能。
如何攻击?
洪泛(伪造不存在的MAC,塞爆MAC表)和中间人(伪造现存MAC)思路都是伪造MAC。
这两种攻击都可以用端口安全防止。
环路和攻击导致漂移,通过以上阻止漂移/检测漂移。
●免费ARP有如下作用:
IP地址冲突检测:当设备接口的协议状态变为Up时,设备主动对外发送免费ARP报文。正常情况下不会收到ARP应答,如果收到,则表明本网络中存在与自身IP地址重复的地址。如果检测到IP地址冲突,设备会周期性的广播发送免费ARP应答报文,直到冲突解除。
用于通告一个新的MAC地址:发送方更换了网卡, MAC地址变化了,为了能够在动态ARP表项老化前通告网络中其他设备,发送方可以发送一个免费ARP。
在VRRP备 份组中用来通告主备发生变换:发生主备变换后, MASTER设备会广播发送一个免费ARP报文来通告发生了主备变换。
ARP安全问题补充:
比MAC安全更严重。
ARP攻击比较多
什么情况下可以做攻击?
C要监听AB的通信,C发ARP请求,我是10.1.1.1 MAC地址是C。 会导致B的ARP表发生变化(ARP表越新越优),把10.1.1.1的MAC记录记成C。同理,C伪装成B,C把网卡设置为转发,不设——丢弃,设了会接收帧目标MAC不是自己的数据并查路由表转发。——ARP毒化攻击(工具netwox_kali里面下一个,特点是可以伪造各种各样的包)
端口安全不能防御——端口安全防御的是源MAC(自己发出的包不是自己的MAC)
这种攻击只能打开ARP包去做校验,才能采取防御措施。
交换机上配的防御工具是dynamic arp inspection,简称DAI技术,可以在交换机上开,会检测ARP包(需要参照物),前提是有一个信任表(手动建立/借用DHCP snooping 绑定表)。首先默认所有接口都是不信任接口,所以发出来的arp包都要接收检测匹配,不一样会惩罚接口,要求交换机拆ARP包(二层封装,arp包专门是一个类型)
拆多了对交换机性能有影响
●
当Router.上部署动态ARP检测功能后,如果攻击者连接到Rquter并试图发送伪造的ARP报文,Router 会根据绑定表检测到这种攻击行为,对该ARP报文进行丢弃处理。如果Router.上同时使能了动态ARP检测丢弃报文告警功能,则当ARP报文因不匹配绑定表而被丢弃的数量超过了告警阈值时,Router会发出告警通知管理员。
●需要注意的是,动态ARP检测功能仅适用于DHCPSnooping场景。设备使能DHCPSnooping功能后,当DHCP用户 上线时,设备会自动生成DHCP Snooping绑定表;对于静态配置IP地址的用户,设备不会生成DHCP Snooping绑定表,所以需要手动添加静态绑定表。
●配置举例:
<Huawei> system-view
[Huawei] wlan ac
[Huawei-wlan-view] service-set name test
[Huawei-wlan-service-set-test] dai enable//无线设备
[SW1]int g0/0/2
[SW1-GigabitEthernet0/0/2]arp anti-attack check user-bind enable
[SW1]vlan 2
[SW1-vlan2]arp anti-attack check user-bind enable
配置动态ARP检测(DAI)
使能接口GE0/0/1下的动态ARP检测功能。
<HUAWEI> system-view
[HUAWEI] interface gigabitethernet 1/0/1
[HUAWEI-GigabitEthernet1/0/1] arp anti-attack check user-bind enable //可以在接口视图或者VLAN视图下配置,请根据需要选择
user-bind static ip-address 10.1.1.2 mac-address 5489-98da-0c75 interface Gigabi
tEthernet0/0/1 vlan 1 //手动设置绑定表
dhcp enable //开启dhcp
dhcp snooping enable //开启dhcp snooping
dhcp snooping enable vlan X //设置dhcp snooping 的启用vlan
int g0/0/1
dhcp snooping trust //设置信任接口
dhcp snooping check dhcp-chaddr enable vlan 1 //开启chaddr检查(该值与二层帧的smac是否相同)
dhcp snooping会产生一个接口 mac ip vlan 的绑定表 该表可以被DAI使用
dhcp snooping user-bind autosave flash:/dhcpsnooping.tbl //自动保存该表到flash
802.1X
上午的总结。