Linux运维课程 第一阶段 重难点摘要(六)CISCO

本文涉及的产品
访问控制,不限时长
简介:

一、STPSpanningTree Protocol)生成树协议

1、  广播风暴:当交换机在物理上存在环路,就会不可避免地产生广播风暴,当某台主机向不存在的主机发送信息时,就会产生广播风暴。这在LAN(Local Area Network)会造成灾难性后果,导致LAN所有端口被广播风暴阻塞,不能通信。

2、  当有物理环路时,STP会逻辑上断开环路,使其变成树型结构,如果万一某个链路断开,STP也可以自动连接逻辑的中断,保证链路冗余。

3、  STP算法:CISCO交换机默认都已启动STP协议,当物理上出现环路,会进行STP运算,之后交换机会自动判断并阻塞某一个接口;

过程:选举根网桥、选举根端口、选举指定端口、剩余的是被逻辑阻塞的端口。在STP中,值越小的优先级越高。

1)  选举根网桥

  1. 范围:在网络所有的交换机中选举一台交换机;

  2. 依据:网桥优先级+网桥MAC地址=网桥ID

  3. 关键要为网络中所有的交换机选出唯一一个根桥(网络中的树根),根桥确定后,其它的网桥都要确定一个通往根桥的单一路径,通往根桥的最佳路径上的端口被称为根端口;

  4. 网桥IDBID)是唯一的,网络中所有的交换机,BID值最小的就是唯一的根网桥(二层交换机有一个MAC地址用于STP选举,三层交换机每个接口有一个MAC地址)

  5. 先比较网桥优先级(默认是32768),如相同,再比较网桥MAC地址。

  6. #show spanning-tree

#spanning-tree vlan 1 priority 4096

2)  选举根端口

  1. 范围:在所有非根交换机中,选择个端口;

  2. 依据:根路径成本小的(某一个端口到达根桥所有成本之和);直连网桥ID最小的(如两端口路径成本一样,比较这个端口直连的交换机的网桥ID);端口ID最小的(端口ID=端口优先级(0255,默认128+端口编号);路径成本根据链路带宽的高低规定。

3)  选举指定端口

  1. 范围:在每个网段中选举一个端口(交换机之间的网段,并不是IP网段);

  2. 依据:根路径成本(根桥上所有端口的路径成本为0,所以所有端口都为指定端口);端口所在的网桥ID;端口ID

4、  STP端口状态:

1)交换机之间使用BPDUBridgeprotocol Data Unit)桥协议数据单元来交互STP信息,默认每2秒发送一次,使用组播地址0180c2-00-00-00发送BPDU

2STP端口状态:

转发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      这个端口最多允许1MAC地址接入

#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地址中没有,交换机就向除了接受该数据的接口之外的其它所有接口广播该数据);防止交换机环路。

4VLAN通过将LAN内的设备逻辑的划分成一个个网段,从而实现逻辑工作组的技术。VLAN让广播域也可被分割。

5VLAN的优点:广播控制,提高了安全性,提高了带宽的利用率,降低了延迟,灵活性和可扩展性。

6VLAN的分类:基于端口划分的静态VLAN(手工将PC机所连接交换机的端口指定给VLAN);基于MAC地址划分的动态VLAN(使用VLAN成员资格策略服务器vmps,动态根据所接入PCMAC地址分配给相应的VLAN)。

7VLAN的实现:

#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

8VLAN trunk (在多台交换机间建立VLAN

         1)交换机给每个运往其它交换机的数据帧打上VLAN标识;访问链路(只能承载一个VLAN的数据传输的链路);中继链路(以承载多个VLAN的数据传输的链路)。

2VLAN标记的分类:ISL(交换机间链路)、IEEE802.1Qdot1Q标准协议)

3)中继接口的模式:

         #switchport mode trunk                             永久中继模式

         #switchport mode access                           永久非中继模式

         #switchport mode dynamic desirable     主动期望将链路转变成中继链路

         #switchport mode dynamic auto              使端口愿意(被动也可)将链路转为中继链路,默认类型

 

4VLAN trunk的实现

#int f0/24

#switchport modedynamic desirable                 两交换机相连的端口都要设置

 

#int f0/24

#switchporttrunk allowed vlan remove 10        VLAN中删除VLAN10

#switchporttrunk allowed vlan add 10               只允许VLAN10f0/24通过

8VLAN中继协议VTPVLAN TrunkProtocol

         1)如果有多台交换机,需要给交换机配置VLAN,非常麻烦,可配置VTP,通过一台VTP服务器维护其它所有交换机的添加、删除、重命名,但客户机只能学习VLAN信息,端口号还需手工添加到不同VLAN中;

         2VTP模式:服务器模式:交换机默认模式,只有处于服务器模式的交换机才能在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

9VLAN间路由

         两台交换机都要进行的配置

         # 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

三、ACLAccess 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                       (应用在某一接口的出站方向)

         6ACL的分类:标准ACL199),只基于源IP地址决定数据包是否可以通过,只能拒绝整个IP地址的访问,而不能区分数据类型,如WEBFTP等;扩展ACL100199),可领先源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

四、NATNetwork Address Translation

         1、局域网IP地址和公网IP地址通信时,可用NAT方法;

         2、分类:静态转换:在本地地址和全局地址间进行一对一映射,条件必须有一个因特网IP地址;动态转换:能将未注册的IP地址映射到注册IP地址中的一个地址,自动进行,但必须有足够多的公网IP地址,有几个公网IP就有几个内网主机访问公网,让连接到因特网的主机都能同时发送和接收分组;端口多路复用(Port address translation,PAT:所有的内网IP都使用同一个公网IP地址访问公网,在网关路由的NAT表中,通过不同的端口号标记不同的本地主机。改变外出数据包的源端口并进行端口转换,内部网络的所有主机均可共享一个合法外部IP地址实现对Internet 的访问,从而最大限度地节约IP地址资源,同时又可隐藏网络内部的所有主机,有效避免来自Internet的攻击。

         3NAT优缺点:

         优点:节约合法的注册地址;在地址重叠时提供解决方案;提高连接到因特网的灵活性;在网络发生变化时避免重新编址;

         缺点:地址转换将增加交换延迟;导致无法进行端到端IP跟踪;导致有些应用程序无法正常运行。

         4、专用概念:内部本地地址;内部全局地址;外部全局地址;外部本地地址。

         5NAT实验:

         #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地址表

6PAT实验:

#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


本文转自 chaijowin 51CTO博客,原文链接:http://blog.51cto.com/jowin/1638360,如需转载请自行联系原作者
相关实践学习
消息队列+Serverless+Tablestore:实现高弹性的电商订单系统
基于消息队列以及函数计算,快速部署一个高弹性的商品订单系统,能够应对抢购场景下的高并发情况。
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
相关文章
|
22天前
|
运维 监控 网络协议
|
8天前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
25 3
|
1月前
|
存储 运维 搜索推荐
|
1月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
35 1
|
1月前
|
运维 网络协议 安全
Linux安全运维--一篇文章全部搞懂iptables
Linux安全运维--一篇文章全部搞懂iptables
42 1
|
1月前
|
Web App开发 运维 安全
1Panel:一个现代化、开源的 Linux 服务器运维管理面板
1Panel:一个现代化、开源的 Linux 服务器运维管理面板
|
2月前
|
运维 监控 Linux
深入理解Linux系统运维:命令行工具的力量
【9月更文挑战第14天】在Linux的世界里,命令行工具是系统管理员的瑞士军刀。本文将带你领略命令行的魅力,从基础操作到高级技巧,让你的运维工作更加高效和精准。准备好了吗?让我们一起开启这段探索之旅!
|
3月前
|
图形学 开发者 存储
超越基础教程:深度拆解Unity地形编辑器的每一个隐藏角落,让你的游戏世界既浩瀚无垠又细节满满——从新手到高手的全面技巧升级秘籍
【8月更文挑战第31天】Unity地形编辑器是游戏开发中的重要工具,可快速创建复杂多变的游戏环境。本文通过比较不同地形编辑技术,详细介绍如何利用其功能构建广阔且精细的游戏世界,并提供具体示例代码,展示从基础地形绘制到植被与纹理添加的全过程。通过学习这些技巧,开发者能显著提升游戏画面质量和玩家体验。
148 3
|
2月前
|
消息中间件 运维 Linux
linux之centos运维kafka
linux之centos运维kafka
|
3月前
|
运维 监控 Linux
深入理解Linux系统运维:命令行与脚本的奥秘
【8月更文挑战第30天】在Linux的世界里,命令行是运维人员的灵魂之窗。掌握命令行,就像握住了一把钥匙,能开启系统管理的宝藏箱。本文将带你走进Linux的命令行世界,通过实际代码示例,解锁那些高效管理和维护系统的秘籍。你将学到不仅仅是命令本身,更是如何将这些命令编织成强大的脚本,让日常的运维工作变得游刃有余。准备好跟随我的步伐,一起深入探索Linux命令行与脚本的奥秘吧!