一、STP(SpanningTree Protocol)生成树协议
1、 广播风暴:当交换机在物理上存在环路,就会不可避免地产生广播风暴,当某台主机向不存在的主机发送信息时,就会产生广播风暴。这在LAN(Local Area Network)会造成灾难性后果,导致LAN所有端口被广播风暴阻塞,不能通信。
2、 当有物理环路时,STP会逻辑上断开环路,使其变成树型结构,如果万一某个链路断开,STP也可以自动连接逻辑的中断,保证链路冗余。
3、 STP算法:CISCO交换机默认都已启动STP协议,当物理上出现环路,会进行STP运算,之后交换机会自动判断并阻塞某一个接口;
过程:选举根网桥、选举根端口、选举指定端口、剩余的是被逻辑阻塞的端口。在STP中,值越小的优先级越高。
1) 选举根网桥
-
范围:在网络所有的交换机中选举一台交换机;
-
依据:网桥优先级+网桥MAC地址=网桥ID;
-
关键要为网络中所有的交换机选出唯一一个根桥(网络中的树根),根桥确定后,其它的网桥都要确定一个通往根桥的单一路径,通往根桥的最佳路径上的端口被称为根端口;
-
网桥ID(BID)是唯一的,网络中所有的交换机,BID值最小的就是唯一的根网桥(二层交换机有一个MAC地址用于STP选举,三层交换机每个接口有一个MAC地址)
-
先比较网桥优先级(默认是32768),如相同,再比较网桥MAC地址。
-
#show spanning-tree
#spanning-tree vlan 1 priority 4096
2) 选举根端口
-
范围:在所有非根交换机中,选择个端口;
-
依据:根路径成本小的(某一个端口到达根桥所有成本之和);直连网桥ID最小的(如两端口路径成本一样,比较这个端口直连的交换机的网桥ID);端口ID最小的(端口ID=端口优先级(0-255,默认128)+端口编号);路径成本根据链路带宽的高低规定。
3) 选举指定端口
-
范围:在每个网段中选举一个端口(交换机之间的网段,并不是IP网段);
-
依据:根路径成本(根桥上所有端口的路径成本为0,所以所有端口都为指定端口);端口所在的网桥ID;端口ID。
4、 STP端口状态:
1)交换机之间使用BPDU(Bridgeprotocol Data Unit)桥协议数据单元来交互STP信息,默认每2秒发送一次,使用组播地址01-80-c2-00-00-00发送BPDU;
2)STP端口状态:
转发Forwarding 发送和接收用户数据
学习Learning 构建网桥表
侦听Listening 构建活动拓扑
阻塞Blocking 只接收BPDU
Disable 强制关闭
5、 交换机绑定MAC
1) 手工绑定:这种方法最准确,也最费力,效率较差
#int f0/24
#switchport mode access 设置交换机接口为永久非中继模式
#switchport port-security 打开端口安全模式
#switchport port-security mac-address 00-90-f5-10-79-c1 绑定MAC
#switchport port-security maximum 1 这个端口最多允许1个MAC地址接入
#switchport port-security violation shutdown 如果接入另一台主机,则关闭这个接口,需手工noshutdown 开启
2) 动态绑定:
#int f0/24
#switchport modeaccess
#switchportport-security
#switchport port-security mac-address sticky
#switchport port-security maximum 2
#switchport port-security violation shutdown
二、VLAN虚拟局域网
1、集线器:所有设备在同一冲突域中,所有设备在同一广播域中,所有设备共享带宽;
2、交换机:每个接口都是独立的冲突域,所有设备在同一广播域中,每个接口提供独立的带宽;
3、交换机的交换功能:帧转发(如果目的MAC已在交换机MAC地址表中,帧就只被发送到正确的接口);帧过滤(交换机不会把已知目的地址的帧发送到其它交换机接口上,保护了其它接口的带宽;广播(如果目的地址在MAC地址中没有,交换机就向除了接受该数据的接口之外的其它所有接口广播该数据);防止交换机环路。
4、VLAN通过将LAN内的设备逻辑的划分成一个个网段,从而实现逻辑工作组的技术。VLAN让广播域也可被分割。
5、VLAN的优点:广播控制,提高了安全性,提高了带宽的利用率,降低了延迟,灵活性和可扩展性。
6、VLAN的分类:基于端口划分的静态VLAN(手工将PC机所连接交换机的端口指定给VLAN);基于MAC地址划分的动态VLAN(使用VLAN成员资格策略服务器vmps,动态根据所接入PC的MAC地址分配给相应的VLAN)。
7、VLAN的实现:
#hostname S1
#show ipinterface brief
#show vlan
#vlan 1
#vlan 2
#name SC
#int f0/1
#switchportaccess vlan 1
#show vlan
#int rangef0/2-5 操作多个端口
#switchportaccess vlan 2
8、VLAN trunk (在多台交换机间建立VLAN)
1)交换机给每个运往其它交换机的数据帧打上VLAN标识;访问链路(只能承载一个VLAN的数据传输的链路);中继链路(以承载多个VLAN的数据传输的链路)。
2)VLAN标记的分类:ISL(交换机间链路)、IEEE802.1Q(dot1Q标准协议)
3)中继接口的模式:
#switchport mode trunk 永久中继模式
#switchport mode access 永久非中继模式
#switchport mode dynamic desirable 主动期望将链路转变成中继链路
#switchport mode dynamic auto 使端口愿意(被动也可)将链路转为中继链路,默认类型
4)VLAN trunk的实现
#int f0/24
#switchport modedynamic desirable 两交换机相连的端口都要设置
#int f0/24
#switchporttrunk allowed vlan remove 10 在VLAN中删除VLAN10
#switchporttrunk allowed vlan add 10 只允许VLAN10从f0/24通过
8、VLAN中继协议VTP(VLAN TrunkProtocol)
1)如果有多台交换机,需要给交换机配置VLAN,非常麻烦,可配置VTP,通过一台VTP服务器维护其它所有交换机的添加、删除、重命名,但客户机只能学习VLAN信息,端口号还需手工添加到不同VLAN中;
2)VTP模式:服务器模式:交换机默认模式,只有处于服务器模式的交换机才能在VTP域中创建、添加、删除VLAN,此模式下对VLAN所作的任何更改都将被通告整个VTP域,整个VTP域最少需要一台VTP服务器;客户端模式:接收来自VTP服务器的信息;透明模式:此模式下,交换机不加入VTP域,也不分享其VLAN数据库,而只通过中继链路转发VTP通告,可以让其它交换机通过透明模式的交换机获取VLAN数据库。
3)两台交换机要交换VLAN信息,要满足以下条件:域名相同;其中一台配置为VTP服务器;VTP密码相同。
4)实验:接以上实验进行
#vtpmode server
#vtpdomain SC
#vtppassword 123
#showvtp status
#shwovlan
#vtpmode client
#vtpdomain SC
#vtppassword 123
9、VLAN间路由
两台交换机都要进行的配置
# intf0/24
#switchportmode dynamic desirable
路由器配置
#intf0/0.10
#encapsulationdot1q 10
#ipaddress 192.168.1.1 255.255.255.128
#intf0/0.20
#encapsulationdot1q 20
#ipaddress 192.168.1.254 25.255.255.128
三、ACL(Access control list)
1、应用于路由器接口的指令列表,用于指定哪些数据包可接收转发,哪些数据包被拒绝访问;
2、原理:靠包过滤技术实现安全控制,检查源IP地址、目标IP地址、网络层报头的协议字段、传输层报头中的端口号,通过这些策略过滤数据包;
3、数据包处理过程:顺序处理列表信息,数据进入ACL后逐条匹配,如果所有列表都不匹配,默认拒绝数据包。
4、方向:ACL必须应用于接口,否则不能发挥作用,而每个接口都有入站和出站方向。
5、语法:
#access-list1 deny 192.168.10.100 0.0.0.0 (或写成:denyhost 192.168.10.100)
#access-list1 permit 0.0.0.0 255.255.255.255 (或写成:permit any)
注:ACL默认是拒绝所有数据包的,所以在一张访问控制列表中必须有允许条目,否则ACL会拒绝所有数据。
#intf0/1
#ipaccess-group 1 out (应用在某一接口的出站方向)
6、ACL的分类:标准ACL(1-99),只基于源IP地址决定数据包是否可以通过,只能拒绝整个IP地址的访问,而不能区分数据类型,如WEB、FTP等;扩展ACL(100-199),可领先源IP、目的IP、协议类型和端口号来控制数据包。
不同的访问控制列表应用方向也会有不同,总体原则,如果禁用数据包应该在该数据包战胜过多带宽和路由资源之前就禁用。
7、标准ACL设定:
例:允许某个IP网段的访问
#access-list1 permit 172.16.0.0 0.0.255.255
#intf0/0
#ipaccess-group 1 out
8、扩展ACL设定
#access-list列表号 permit|deny 协议源IP 反掩码目的IP 反掩码操作符 端口号
例:拒绝FTP通过端口f0/0
#access-list101 deny tcp 172.16.4.0 0.0.0.255172.16.3.0 0.0.0.255 eq 21
#access-list101 permit ip any any
#intf0/0
#ipaccess-group 101 out
注:默认访问控制列表的顺序不能修改,里面条目也不能修改,只能删除重新建立,非常不方便,在ISO12.2之后出现了命名访问控制列表
9、命名访问控制列表:并不是新的分类,还是要利用标准ACL和扩展ACL,只是支持修改列表中的数据
1)增加ACL规则:
#ipaccess-list extended myacl
#denytcp 172.16.4.0 0.0.0.255 172.16.3.00.0.0.255 eq 23
#permitip any any
#intf0/0
#ipaccess-group myacl out
#1deny ip host 172.16.4.100 host 172.16.3.100 加入一条规则为第一顺序
#showaccess-lists
2)删除ACL条目
#ipaccess-list extended myacl
#no1 deny ip host 172.16.4.100 host 172.16.3.100
#showaccess-lists
#showip interface f0/0
四、NAT(Network Address Translation)
1、局域网IP地址和公网IP地址通信时,可用NAT方法;
2、分类:静态转换:在本地地址和全局地址间进行一对一映射,条件必须有一个因特网IP地址;动态转换:能将未注册的IP地址映射到注册IP地址中的一个地址,自动进行,但必须有足够多的公网IP地址,有几个公网IP就有几个内网主机访问公网,让连接到因特网的主机都能同时发送和接收分组;端口多路复用(Port address translation,PAT):所有的内网IP都使用同一个公网IP地址访问公网,在网关路由的NAT表中,通过不同的端口号标记不同的本地主机。改变外出数据包的源端口并进行端口转换,内部网络的所有主机均可共享一个合法外部IP地址实现对Internet 的访问,从而最大限度地节约IP地址资源,同时又可隐藏网络内部的所有主机,有效避免来自Internet的攻击。
3、NAT优缺点:
优点:节约合法的注册地址;在地址重叠时提供解决方案;提高连接到因特网的灵活性;在网络发生变化时避免重新编址;
缺点:地址转换将增加交换延迟;导致无法进行端到端IP跟踪;导致有些应用程序无法正常运行。
4、专用概念:内部本地地址;内部全局地址;外部全局地址;外部本地地址。
5、NAT实验:
#intf0/0
#ipnat inside 指定内网接口
#intf0/1/0
#ipnat outside 指定外网接口
#ipnat pool lamp 61.1.1.2 61.1.1.8 netmask 255.255.255.0
注:定义一个地址池,包含7个可用IP,动态NAT是把内网地址一一对应的转变为公网IP,所以同时只能有7个内网地址同时上网
#access-list 1permit 192.168.1.0 0.0.0.255
#ip nat insidesource list 1 pool lamp
#debug ip nat 动态查看IP地址转换
#debugip packet 动态查看IP地址包
#show ip nattranslations 查看NAT地址表
6、PAT实验:
#clear ip nattranslation *
#no ip natinside source list 1 pool lamp
#no ip nat poollamp 61.1.1.2 61.1.1.8 netmask 255.255.255.0
#ip nat poolbrother 61.1.1.11 61.1.1.11 netmask 255.255.255.0
#access-list 2permit 192.168.1.0 0.0.0.255
#ip nat insidesource list 2 pool brother overload 允许列表2使用地址池转换为公网IP
#show ip nattranslations