赞
踩
路由器是可以接外外网的,如果只有交换机就只能成局域网
局域网:一组设备全都接在一台交换机下一个局域网就形成了。用交换机组建
广域网:范围大。用路由器可以组建
路由器的作用:是可以从一个局域网连接到另一个局域网实现一个广域网
如果不用路由器全用交换机连在一起会实现把n多个局域网拼成了一个大局域网
osi和tcp的不同
Osi参考模型 tcp协议
应用层
表示层------------应用层
会话层
传输层------------传输层
网路层------------网路互联层
链路层
物理层------------网络接口层
一共有七层从下向上1-7
物理层作用:传输信号问题,能对数据的传输速度做一定的控制,物理层部属的是(网线),物理层网线里面走的是数字信号又叫bit流。
链路层:(网卡)
Mac地址:必须有这个地址才能证明是网络设备,所传出来的数据才能被认可,才能帮助转发数据。
交换机只有mac地址,它只靠mac地址管理连接所有的硬件设备,比如连上交换机就能打cs等就是通过mac地址转发的。
Mac地址的结构
由48位二进制数组成,通常表示为12个16进制数
网络层:
Mac地址:以太网
Ip地址:因特网
命令:基础命令及作用
tracert 测试网络
特权模式enale 如果忘记可以在前面命令后输入?查询以下命令库
Enale主要作用只能用于查询和测试。
在特权模式下输入Congfigure terminal
进入全局配置模式:Congfigure terminal
Intface f0/0 :f0/0的意思是0号插槽的第一个接口
输入Intface f0/0进入接口模式
进入接口后就可以配置ip地址
命令ip address ip 子网掩码
之后输入 no shutdown 把接口打开
就成功配上IP了
命令exit
输入exit 返回上一级,输完后就退出到全局模式
命令end
输入end后就直接回到特权模式
查询命令show running-config
作用:查询所有正在运行的配置
如过不想查看所有的配置只想查看配置过的ip
用命令
命令:show ip interface brief
这条命令可以查询所有的接口状态和接口有没有配值ip地址和接口是不是开启的
命令hostname
用hostname 主机名 可以配置主机的主机名
命令enable password 密码
作用:配置进入特权模式的密码,这个命令配的密码用show running-config可以查询出来,为了保险可以用
删除密码命令:no enable password
就删除了,不管想删什么只要在原命令前面加no就可以删除。
命令enable secret 密码
这时加密的配置密码的配置方法,
命令:no ip domain lookup
作用:关闭域名解析 (255。255.255.255)
这三个命令都要在 line console 0 里面配置
命令:line console 0
作用:进入控制台
进入控制台后输入
(这个最重要)命令:logging synchronous
//log 当前显示信息同步作用:让系统说明警告之类的信息弹出来之后跟自己打字的信息没有影响
在输入
No exec-timeout(一会不用他就会退出,退出后就会退到用户模式)
关闭会话超时,防止一段时间不操作自动退出(关掉后就不超时,不管停留多久都不会退出了)
静态路由协议
命令:Show ip route
作用:查询路由表
在别的模式中想用特权模式的查询命令或特权模式中的别的命令在命令前加个do就好了
例如在接口里输入
例如命令:do show ip route
在全局配置下配置下一跳
命令:ip route 需要让自己ping通的路由ip 255.255.255.0 和我在同一网段能ping通的ip
默认路由:0.0.0.0 0.0.0.0
0.0.0.0 0.0.0.0 和我在同一网段的ip
0.0.0.0 0.0.0.0是指所有网络。
默认路由适用于最边上,末梢环节使用,不要在最核心的路由器上使用,这样会造成网络不稳定,实在没有路由了才会用默认路由。
掩码最长匹配原则:
192.168.2.1/32(掩码越长越优先,越准确。)
192.168.2.0/24
ARP地址解析
ARP作用:地址解析
已知对方的ip去解析你的MAC地址
单播:我的ip访问你的IP。,我的MAC访问你的MAC,就只是发给你一个人的
广播:只要和我同网段,通同网络,同一个局域网同一个广播域的人全部都能听到,而且全部都和你有关系
查看arp包的记录(arp的映射表)(保留4个小时)
命令:Show arp
如果在路由表里没有下一跳地址就会触发代理arp
代理arp
触发代理arp的前提是
接口开启了代理arp
Arp ping一个新的ip就会有一个新的arp映射,对应的arp地址很有可能是一个人
这就是代理arp
清空arp的列表(show arp)
命令clear arp-cache
清空后代理arp就会消失
要ping就ping不通了
解决arp攻击和欺骗
Arp ip mac地址(随便写) arpa(封装)
RIP协议
距离矢量协议
有方向,有距离,传递的是路由表里的信息。
度量值:有多少台路由器,就有多少跳
如何计算度量值:跳数越少越优先
度量值不同的协议是不一样的,RIP是跳数
最多能跳15跳,,然后再往后跳15跳,每次超过15跳后就不可达了。
每30秒给你(传)更新一次路由表。事一张路由表我的所有路由传给下一个人,他在把他整张路由表给下一个人,这个叫收敛。Rip是每平均三十秒,都会把他的路由表发送一次。
RIP协议是针对于IPV4的,针对于IPV4的RIP有两个版本,
RIPV1:是使用广播更新,不是一对一用R1给R2了,而是使用广播给同网络的所有人,更新这张路由表。
RIPV2:是使用组播的方式(只有在分组里的才能收得到),组播地址是RIP特定的ip:224.0.0.9
管理距离
RIP的管理距离是:120
就好比
192.168.2.0/24 {1/0}
中括号里的第一个数就是管理距离。
作用:管理距离越小的越优先。路由器的路由表,保存的内容是最优的。不仅开销是最优的而且所有的协议是最优的。假如说192.168.2.0这个网段,不仅仅用静态路由写出来如果又同时用RIP获取了192.168.2.0/24{120}的话 最后会淘汰掉RIP,路由表最后只能显示静态路由。相当于路由协议在路由表的优先级。
RIPV1(版本1)有类路由,RIPV2(版本2)无类路由。
有类路由:在传递路由表的时候,不传子网掩码。
无类路由:传递子网掩码
RIPV2比RIPV1好用的多
RIP的消息形式。
启用rip之后,是如何传递整张路由表的。
1.利用请求消息。
2.利用响应消息
一旦启用rip之后会和所有挨着的直连,直接去发请求,然后直接就去发更新。
默认支持等价负载均衡。
环路(网络风暴)
防环机制
从一个接口收到的路由条目,我不会在从这个接口发给你。
我从这个接口收到了你给我的路由,还是会从这个接口发出去,但是你给我的路由我会标记为16跳,不可达,对我来说就不会学到这个没有用的东西了。
一旦我有变化立刻就更新给你,也可以从某种程度上防环
配置虚拟接口
命令interface loopback 0
全局模式下开启路由协议的模式
命令router rip
在路由协议模式下配置rip的版本
命令version 2
如果不配置rip的版本的话那他发送的更新是已广播方式发送的。
如果对方明确了ripv2的话他给我发送是组播方式发送的
发的是广播,收的话广播和组播都能收所以,配置rip的时候先确认他的版本
命令 no auto-summar y(关闭自动汇总)
自动汇总的现象是把无类汇总成有类
命令network(宣告)
是直连的必须宣告。
宣告的是c的网段,如果在R1宣告这两个c就是告诉R2我有两个网络这样我才能把这两个相应网络的路由传达给你。如果network不是c他是没有意义的。因为c是配ip产生的,是本地有的,有的才能宣告
network的功能
第一个功能:把路由所在的接口宣告到rip的组播
相当于把c网络的接口宣告进了rip所在的组播分组
第二个功能:把c网络的宣告出去告诉给R2。
network宣告的一定是本地的网络c的直连的网段才可以。
做一个动态路由
先配上虚拟接口,在路由协议下配置RIP版本,在关闭自动汇总 no auto-summar
最后在宣告c网络。
EIGRP
开销小,收敛快,内部最完美的内部网关的动态路由协议。
DUL算法
不但能传路由表,而且还能够知道拓扑的位置,因为他有一个拓扑表。
唯一一个支持非等价负载均衡的协议。
可靠传输协议(RTP)
保证我们的数据包一定能发送到对方。
RIP和ospf都是针对于不同的Ip去利用不同的协议去帮助他实现。
协议独立模块
IPV4,IPV6同时都能用。
支持多协议,兼容性,包括IPV4,IPV6这中切换问题。
EIGRP的三张表
顺序是固定的,必须是先有谁在有谁的。
最先有的表是邻居表。
建立邻居的方式是:宣告网段,建立分组,找到直连,建立邻居,建立邻居之后开始有一张维护邻居的表叫里邻居表
第二张表是拓扑表
拓扑表,是根据所有的邻居,给我传过来的所有路由,全部都记录在拓扑表里面。
如果说对于同一条路径有两条路,如果两条 路开销值都一样的情况下,就负载均衡了。
是当两条路不一样的时候,肯定不会出现负载均衡,有一条最优的会进入到路由表。
EIGRP的拓扑表是不管你是不是最优只要是邻居给传过来的所有路径,优与不优,都保存到拓扑表里面,这是保存所有路径的一张表。
第三张表就是路由表
在拓扑表里最优的一条路径会进入到路由表里面称为路由器工作的,执行的这一项。
ELGRP的管理距离分为3个
内部管理距离:9
内部是EIGRP通用的,就是network的
外部管理距离:170
外部的涉及到的,叫重分发,就是重分发外部的路由发到这里面就是170
汇总的管理距离:5
汇总:假如说有,1.0,2.0 3.0,4.0,这些网络,汇成192.168.0.0 255.255.0.0,这样等于C类地址所有的255个网段汇成一个网段发出去,这就叫汇总,这样的话省路由空间。
EIGRP的组播地址是
224.0.0.10
协议号:88
DUAL算法
DUAL算法是EIGRP作为距离矢量协议算法,他是高级距离矢量协议,也就是说DUAL加入到距离矢量算法里就形成了高级矢量协议算法
特点:
它可以实现无环路径,还能提供一个备用路径,备用的结果是,导致于所有路由表的收敛都是快速收敛,还限定更新以使用最少的带宽。
RIP用跳数计算开销,EIGRP不仅仅参考跳数而参考带宽
路由表里的开销在拓扑表里叫可行距离,可行距离会产生出一个最优的可行距离,
可行距离最优,作为后继路由器,最终这条路径会被升级到路由表里面,作为路由表里的表项。
可行距离:是50+50,50+100,分别造成的100和150
通告距离:指的是我的下一跳路由器,为我单独的通告出他到他的目的有多大的开销值,通告距离会写到可行距离的后面,表示后面这一段总开销,抛开的是初始的路由器到下一条的总距离,能够让当前路由器不但知道总开销而且还知道后面的后面的总开销是多少,
能够在他拓扑表里存在的就算不是最优的路径,都会成为可行后继路由器,当后继路由器升级为路由表他的链路down掉,失效了,
解决办法:由于他有拓扑表的存在,最优的,没了可行后继路由器会立刻成为路由表里执行的哪一个,快速收敛体现在这里,所以可行后继路由器就可以做为备份路由。
可行条件:能够成为可行后继路由器的条件,也就意味着,路由表里面其他的路由器能不能够成为可行后继路由器还要有一个条件,有可行条件的存在就不见得所有的路径都能完完整整的进入拓扑表里,他需要条件了,所有的路经是可以进,但他们需要满足条件,满足条件就能进,不满足就不能进,满足条件:非最优,非后继路由器的这些选路他们的通告距离必须小于(不能等于)最优后继路由器他的可行距离,因为如果比他大,就会出现选路出现问题
EIGRP的度量值
整体的链路要用公式计算
256*{(10~7/链路最小接口带宽)+(链路延迟之和/10)}通常运用这个公式只参考两个属性
EIGRP建立邻居的时候就考虑几点
第一点:as号必须相同才能建立邻居 如何看as号:命令:
第二点:K值必须匹配:如果你参考K2,K3,我参考K1,K2,K3那就建立不起邻居了。
第三点:认证必须相同,EIGRP的HELLO时间是5s,超时时间是15s。
配置eigrp协议
在配置之前在路由器上配置一个虚拟环路接口 4.4.4.4 255.255.255.255
宣告的时候写4.4.4.4 0.0.0.0
命令:在全局配置模式下输入
Router eigrp 100 (编号)
所有的编号都要一样才能建立邻居。
在关闭自动汇总
命令:no auto-summary
在宣告接口的时候要宣告接口的网段的
EIGRP可以跟掩码,也可以不跟,
显示匹配结果
命令:do show run | sec eigrp
查询eigrp的拓补表
Show ip eigrp topoloty
命令Show ip eigrp topoloty all-links
把原来初始的情况强制show出来
ospf协议
开放式最短,路径优先。
RFC的文档号式2328
链路状态协议和距离矢量协议的不同点是;
距离矢量协议传递的是路由条目,
链路状态协议传递的是数据库。(数据库:相当于之前的配置network1.0 相当于把1.0网段所在的接口宣告进组,通告路由。)
Ospf中network也是宣告进组,但是不通告路由,是把路由所在接口的链路信息放到数据库的小包里面。
还是一跳一跳的传但是传递的不是路由,而是数据库。
传路由会形成路由表,传数据库形成的是数据库表的东西。
数据库详细记录了每一个人通告的路由所在接口的信息
如果每个人最后没有路由,可以通过数据库里所描述的内容
每一个人都以自己为根,然后计算出自己到达目的路由,目的网络的,最短,最优的路由条目。
链路状态协议:传一个叫数据库,然后每个人收集数据库,最后通过收集的数据库,来自己计算出路由。(每一个人都知道拓扑是什么样子的,他知道所有的人都在什么位置,距离我有多远,都一清二楚)
度量值cost=10^8/带宽
必须是直连接口
使用hello包建立邻居,10s利用组播发送一次维护邻居的关系
组播地址:224.0.0.5
管理距离:110
自动汇总:无类会有类,掩码长的汇总成小的,有小的就可能包括这些长的,但是不能精确匹配
Ospf没有自动汇总功能
无类路由
OSPF协议号:89
用五种数据报文:HELLO,DBD,LSR,LSU,ACK
五种包的作用:
HELLO;用HELLO包寻找邻居,寻找到邻居后,建立关系,形成路由器与路由器之间的状态,这个状态就叫做邻居
DBD:数据库描述,就是你宣告了什么内容要描述一下,然后我宣告了什么,也要描述一下,批次了解之后在针对你想要了解需要的一部分进行相应的请求,我需要什么我请求什么。
LSR:有所请求
LSU:有所更新
ACK:发完更新包之后要对之前更新的进行确认。
默认支持等价负载均衡
等价负载均衡:两头开销一样,同样一个协议两边传过来路由开销值一样,没有办法做判断那条路更优先,,会实现负载均衡,现在等价负载,开销一样会实现负载均衡是合理的。默认是4,最大是16
非等价负载均衡:开销不相同。
Down:没开启,作用:通过发HELLO包进入到init状态
Router -ID:环回口地址/活动的物理接口最大值(两台设备起OSPF协议的时候传递,路由,数据库,要以邻居的方式去传。)
Router id在系统里强调的是必须为1
R1发hello包r2听到后会先看router id,与我的是不是不一样不一样就ok,一样就证明有问题邻居起不来。
Hello时间:10s 死亡事件:40s
Hello时间调整的话他的死亡时间会自动调整为他的四倍,死亡事件调整的话hello时间是不会调整的。
区域号:ospf是涉及到区域的一个路由协议,网络越大,ospf所涉及到的开销(设备的开销)就要x2 每一个路由都要x2。
相同的数据,同步相应的数据库,不同的区域没有需要同步一样的数据库。这样的话按照不同的区域数据库的情况可能就不一样了。
默认优先级是1,最大优先级是255
越大越优先,一上来是通过优先级来计算是不是最优的,如果优先级相同对比routerID routerID大的也是最优的
优先级和routerID越大就越先成为BDR然后等待有没有人成为DR,如果有就不用选了,如果没有BDR就升级为DR,然后再选出一个 BDR,一旦确认了DR,和BDR,他们之间不会在转发DBD,他们的状态永远的停留在toway
Londing状态:通过同步数据库,同步数据表。
Full状态。
配置
命令router ospf 100(这个ospf不和rigrp一样,这个进程号可以随便写)
这个在宣告网络的时候后面需要配置反掩码0.0.0.255
如果环回地址配的是1.1.1.1 那后面的反掩码要写0.0.0.0 area 0 (area 0 意思是要宣告这个主机(网段)进哪里,进哪一个(区域0)骨干区)
查询ospf邻居表
Show ip ospf neighbor
交换机
交换机配置管理ip :ip default-gateway
交换机和集线器的区别:交换机是有mac地址的,集线器的HUB是没有mac地址的
交换机有mac地址,自己还能学习mac地址,hub自己都没有mac地址的所以他学不了。交换机还能通过mac地址实现单播,而且还能隔离广播域,还能防环
学习mac地址的作用:交换机能够转发数据,交换机能够由源mac和目的mac进行转发,并不得益于他有mac地址这个现象,而是得益于他能学习mac地址这个现象。
每当有数据发过来的时候,可以根据他学习的mac地址的表象,查询mac,要找1就从1的接口发要找2就从2的接口发,所以交换机能够实现mac地址的单播,他一对一的转发得益于他能学习mac地址,所以他就能转发二层的数据帧。
Hub因为没有mac所以这些功能全部都没有。交换机本身来说,隔离广播域,广播域是网段,交换机连接在一起的设备,本来是一个广播域的,,意味着有一些协议。
Hub:没有单播,只有泛洪。
交换机有协议是可以防环的,hub没有
交换机防环路:路由环路是交换路由的环路,交换机的环路比路由的环路伤害大得多,
交换环路在于一旦有任意一个包是属于广播的,交换机的广播和和HUB的泛洪是一样的,集线器因为没有mac地址所有的数据都执行的是泛洪所以很影响效率,交换机,有mac地址,有学习到的情况下,正常情况下都属于单播的,交换机也会有广播,而且很多,交换机一旦有广播就会和HUB一样会泛洪,越泛洪越多每一次数据包都有一个残留下来,过不了几分钟就会有N多的数据包来回的泛洪(就是轮回发不出去了,就会形成一个数据包的漩涡越发越多),最后就会形成广播风暴,起初会有广播发出去,到后来就彻底的发布出去了,因为太多了数据包,所以交换的环路是很大的,路由就影响一个段,集线器没有防环机制。
总结
由于交换机有mac地址,也能学习mac地址,基于他学习的mac地址,交换机会产生一个叫做mac地址表的东西
mac地址表:mac-address table
c他会把交换机所有接口学习到的所有mac地址都会记录到这个表里。
每一个记录的表项,默认保存时间是:300s
这张mac地址表通常来说也可以叫做cam表
Vlan
虚拟局域网的一个技术
交换机本身负责的就是一个大的局域网,他还要划分vlan
为什么要划分vlan
1;因为一个巨大的广播域带来的问题,如果在二层的网络,不划分vlan,一台主机就是一个大的广播域,都在一个局域网内,不划分vlan,最终会形成一个特别大的局域网,泛洪量会越来越大,越来越多。
划分了vlan就解决了巨大的广播域的问题。
一个vlan就等于一个广播域
三层ip来说,一个vlan可以等于一个逻辑的ip地址段
在同一个交换机不同vlan不能相互通信,不同交换机的相同vlan可以相互通信。
不同交换机相同vlan是需要配的
最终要实现,相同vlan能通信,不同vlan不能通信。不旦要在同一个交换机上实现,不同交换机也要实现
总结:
Trunk
可以实现
Vlan可以跨越多台交换机
Trunk:可以承载多个vlan的数据
Trunk使用特殊的封装区分不同的vlan
也就是说两台交换机之间要把接口模式,变成一个叫做Trunk的接口
交换机的接口一旦变成Trunk,会发生一些变化。
一旦接口变成Trunk接口之后就代表这个接口不再属于任何vlan,只有他失去vlan标记,不在属于任何vlan他才能为任何vlan服务。,才能实现相同vlan才能通信,不同vlan不能通信这一个现实,交换机于交换机之间变为Trunk
,才能实现不只是本台能够实现这个效果,还有端到端,,设备与设备之间也要实现这个效果,相同vlan。
两个trunk对协议的封装是一样匹配的,
交换机全部的接口都是默认的vlan1
交换机能支持4096个vlan
范围是0-4095
0和4095不能用,所以真正的编号是1-4094
默认的情况下除了有vlan1 还有vlan1002 1003 1004 1005 是交换机初始就有的vlan
这五个vlan的特点是不能被删除
Vlan 1能使用,其他四个vlan不能用,保留
所有的vlan都用在1-1001 标准vlan
1006-4096 扩展vlan,思科3560以上的型号才支持,vtp协议的transparent模式可用
查看vlan以及接口的一个表
Show vlan brief
第一步创建vlan
两种方法
第一种在特权模式下
输入命令:vlan database 进入vlan的数据库里面直接在里面输入
命令:vlan 号(10)
就好了。
也可以在这里创建vlan的名字
在命令:vlan 号 name 名字
就可以给他创建名字了。
用
命令:exit
退出并保存并生效。
在特权模式里输入 :show vlan brief,就可以查看名字了
第二种配置的方法是在全局配置模式下
输入vlan 序号
这个不能在外面直接配名字进入到 config-vlan 里面输入
命令”name 名字
现在建好了vlan,但还没用到他
下面是要把接口化进vlan
先进入接口划分vlan
进入接口后输入
命令switchport mode access
将接口模式调成接入接口
用处:表示接口对端连的是一个主机
在输入命令;
Switchport access vlan 序号
作用:把这个接口划分进vlan 10
因为如果对面有一个主机是vlan10,一个是vlan20
我这的也是一个vlan10,一个20想用两个ping通必须要配置trunk接口
命令:int 0/1进入交换机对交换机的接口
输入命令:switchport mode trunk
对面交换机也是一样要配置trunk接口
然后这个接口就不属于任何一个vlan了
然后再去ping的话就可以全通了
这样就做到了相同vlan能通信不通vlan不可以通信。
单臂 路由
让不同的vlan之间通过路由器通信,而且还能指路由器为网关访问外界。
命令:show interfaces trunk
查看trunk接口
改本征命令
Switchport trunk native vlan 号
vlan号是几本证就是几
在路由器里输入f0/0.1可以建议进入子接口
.1代表子接口编号为1的
Ip地址有多少就可以 建多少个子接口。(很多很多)。
可以在子接口里配置Ip地址
配置ip必须确认封装和vlan号
单臂路由
encapsulation dot1Q vlan号
然后用pc指定这个路由器的子接口地址为网关。
隔离vlan是为了保证网路的安全,不是为了他们不通信。
VTP协议
作用:在一台设备配置的vlan可以让多台都获得,这样就不用在多台设备上配置vlan10,20,30了,一台上配置就ok了,满足所有二层网络所有的要求
Vtp是一个可以宣告vlan配置信息的协议。
通过一台的配置让所有的交换机都可以同步vlan信息不需要在其他的配置在配置一次
VTP只能在trunk接口上传递,只能通过trunk接口来传递。
Vtp
V:vlan t:trunk p:协议
作用就是发送vlan的配置信息,就是类似建了10个vlan让所有人都获得这10个。省的一个一个去配,传递这10个vlan需要在trunk链路上传递。只是同步vlan的名字,配置的vlan号,至于vlan要怎么划分这就是设备自己的事情,是不同步的。
vtp的协议要素
vtp域:设备要是全都起一个域名,那就在同一个域下。
vtp的通告:
Vtp的模式:三个模式:1:服务器。作用:创建vlan,删除vlan,重命名vlan.(修改)产生通告
2:vtp客户端:只能发送通告,只在工作时保存.(别人给我的我同步,也会发出通告,如果一关闭,所有的vlan都没了,因为没有对他配置过,真正配置是服务器干的。所以客户端模式,意味着他自己不能创建,它只能够同步别人的,而且也往外发通告)
Vtp 命令(只能在trunk接口)
可以选择一台作为服务器剩下两台接口打上trunk接口
先
命令:interface range f0/1-2
同时进入两个接口,然后进入后同时启用trunk
然后在把剩下两个交换机启用trunk接口。
然后在给设备分配vtp的模式
命令:show vtp status
作用:查看vtp的状态
给另外的两台交换机相应的模式改成 命令:vtp mode client(客户端)
,一个叫透明(vtp mode transparent )(透明模式)
改完模式之后,就可以建立一下vlan然后看一下客户端有没有获得
因为没有建立vtp的共同管理域,所以不能传播vtp的信息
Configuration Revision (修订号:谁大谁优先,对vlan每做一次任何配置都会增加1,谁做的这个配置最多谁就最优先。)
有客户端,有服务器,看这个号谁大,就听谁的。查看这个号的方法可以用
命令:show vtp status
刚才不通是因为没有起域名
命令:vtp domain ccna
配置域名,配置完之后会有一些情况发生
1;域名添加上了,vlan没有变,配置版本号没了,清空了
一旦配置了域名,会立刻从这台设备向周围发出通告。
所以没有域名的设备,只要trunk接口开启,都会把域名,联合现在vtp的信息,包括有多少vlan.包括配置修订版本号连着域名一起打包发送给所有人。
透明模式不接受同步,只能把你的消息透传过去,但是自己不发,也不接受
Vtp的信息同步完之后平均会在5分钟后同步一次更新
stp协议(交换最重要的一个协议:生成树协议)
stp作用:解决环路,以及冗余的问题。
基本上把交换机的所有优势都发挥出来了,防环、基于mac地址,做备份等
冗余:当一条线路不通的时候,会通过其他人到达这个设备然后在到达这个主机。
问题:如果有一条线路出现了单点失效,虽然可以备份走其他线路,但是这条线路也是学习完的,链路是怎么走的还是在断掉的那个接口上记录的,可能意味着,访问这台主机还是会继续走断掉的这条链路接口。
遇到环路就把其中的一个端口给阻塞掉,就解决了环路,一旦另一个接口出现问题,这个接口会立刻开启。
BPDU;桥数据单元,一开始他们在广播域内,每一个设备都向其他所有人泛洪BPDU,都发送他
BPDU内容:
bridge ID里包括了两个信息:
1:优先级 32768 范围0-65535 这里面优先级越小越优先 如果优先级相同,就对比mac地址,mac地址越小越优先。 root
2:mac地址(指的是设备主板的mac地址)
Root ID :在我的可控范围内,我认可的根桥下,我会把我有的根桥的优先级,和mac地址,在同一个BPDU下发出去
也就意味着,BPDU不仅会发出自己的bridge ID 还会发出根桥的bridge ID
一开始连接时,所有的交换机都认为自己是根桥都把自己bridge ID作为root ID ,这两个东西同时都发出
由于所有设备一开始都以为自己是根, ridge ID 其实获得他知道就完了,对比的其实是他的根ID
对比出根桥之后,非根桥都不发BPDU了,所以由根桥向下每两秒泛洪一次BPDU
每个非根桥都要选举出来当前我这个设备一个最优的端口作为去往根桥的端口,称为根端口。
如何选举?
路径成本:相当于路由的开销值。
这个开销值:单纯的按照接口带宽和路由累加的带宽是一样的都是按出入接口计算。
Stp::他的STA算法,根据固定的接口带宽,有相应的开销值,就不需要去算了只要累加固定的就够了。
cost开销
STA算法是如何计算的
链路速度 开销
10Gbit/s 2
1Gbit/s 4
100Mbit/s 19
10Mbit/s 100
根据接口带宽,根据算法算出来的开销值去计算,开销越小,就越优先,,那个端口就会成为根端口,在默认全是百兆的时候还是谁里的近谁优先。
如果根ID对比不出来,那就对比bridge ID
如果在两个接口带宽都相同,bridge ID 也对比不出来时就对比端口ID
在BPDU的发送当中,不仅仅有根的root ID、网桥的bridge ID还有端口的port ID(端口ID)
端口ID:优先级结合端口号。
端口ID的优先级默认是128~最大255也是越小越优先。
结合端口号:如果是f0/1接口,那么port ID端口ID就是128.1,f0/2就是128.2,在优先级都默认的情况下f0/1是最优的接口,从哪一个端口发出去,会把这个端口的port ID 结合进来。
下一步是每个段要选举一个指定端口
在每一段,每一条线所连接的两端,在这两端要决定出一个指定端口,在根端口选举之后,根端口的对端一定都是指定端口,没有根端口的链路liang两者之间会对比他们的bridge ID优先的那一段会成为指定端口,不优先的就没有身份。
最后一步是阻塞掉非指定非指定的端口,非指定的端口就是没被选出来的,没有身份的,会被阻塞掉,被称为AP。防环。
指定端口:是发送BPDU的,根端口是专门去收BPDU的,也就是说会从根端口收BPDU,但是根端口不会向外去发BPDU了。
被阻塞的端口:基本流量不能发,BPDU他只能听,不能发,根端口也是只能收不能发,但是根端口可以转发流量。阻塞不能转发流量
每一个端口对应的生成树还有一个专门的端口状态来决定。
这个状态和角色是相对应的有点像ospf 5个数据包对应的邻居状态,都是相对应的。
端口角色对应端口状态 有5个
Block 和ospf邻居状态第一步down有点相似,非指定端口
Listen 监听BPDU,不能学习mac地址,不能转发数据,维持15s,在这个过程中他们会一直发BPDU,而通过BPDU决出来谁是根桥...... , 确认端口角色
Learn 不但可以监听BPDU,可以针对我发的数据包学习mac地址,不能转发数据,维持15s
Forward 转发状态,可以转发数据,最终根端口和指定端口都会停留在这个端口,非指定端口就会回到block,因为被阻塞。
Disable 禁用,只要开启生成树,默认情况下所有的接口都参与生成树,无论对端接的是交换机,还是说接了一个主机,都会参与(不建议用这个状态)
,
BPDU的超时时间是20s
拓扑变更通告BPDU
作用:
TCN:一旦接收到某条接口链路down掉了,他会直接从他根端口向上转发TCN的BPDU,得到TCN的BPDU后,会先回复一个标准的 BPDU,告诉他收到了确认一下,
然后再向上,再转发BPDU,也就是一级一级的通知根桥。根桥不知道的情况下他的链路,在二层网络中任何一个节点链路断了,有变化了,都会向上一级一级的去找根桥。,根桥在得到TCN之后会在去转发一个重新的配置BPDU,这个新的BPDU只会在得到TCN之后发一次,这一次和以上两种有点不同,也就是说会临时发一个不一样的BPDU,然后会通知所有人,他们得到BPDU会立刻把自己mac地址老化时间是300s,立刻变成15s,也就是说15s之后所有人的mac地址表全部都清空。这样再结合刚才的链路down掉然后监测,然后阻塞端口开启,开启之后所有交换机的mac地址表其实已经老化成15s了,正是你的端口可以转发数据了
那我的mac地址表也已经清空了,如果再有数据发过来都会变成位置单播了,也就是说全都没有mac地址表的映射了,这时候会全部都是广播泛洪,泛洪了1-2论之后,我们会从泛洪的轨道,重新又学习新的道路来,就是开启阻塞后这个新的道路,在往后发的数据包就沿着开启阻塞后的这条道路发了,而不是以前那条路了,所以通过这样一个过程来完成生成树全部的收敛。
生成树
Stp 思科有自己的生成树,叫pvst (全称叫:per vlan spanning tree)
这两个生成树的区别
标准的生成树是基于设备,只要检测到设备有环路,就会阻塞一个。
在交换机上,所有的流量是通过vlan划分的,只要监测到是非指定,那么就要阻塞掉他,按照标准计算,我们阻塞的是交换机的所有
lan的流量也就意味着,所有的vlan运行一棵。
思科的pvst:他把每一个vlan当作
网桥来对待,每一个vlan当一个交换机来对待,也就是说他的生成树,是基于交换机的vlan进行的生成树。
缺点:开销过大。
命令
查询生成树命令
Show spanning-tree
Vlan1会增加1 Bridge ID 32768会增加1 , 是vlan2那32768就+2
这个查询并不是规范的查询,Show spanning-tree是查看所有的生成树
要在
Show spanning-tree vlan 号 才是专门只show当前vlan1的。
内容
Cost:指的是到达根的开销值
Port: 指的是由这个端口到达。
Bridge ID
Priority:优先级
Address:mac地址
BLK:被阻塞的端口
对生成树是没有配置的,对生成树最大的控制是指定谁为根。
STP的根桥不能出现在接入层,一旦出现在接入层就意味着以他底下为根,上面核心和汇聚可能有些接口会被阻塞掉,从而导致数据发上去还得先发下来然后在回去,所以这样就不符合这个网络的规划了,这不合理了。所以要避免根桥出现在接入层,所以根桥都是手动指定的,其他配置都不需要,因为他自己会运行。
指定交换机设备为根命令
Spanning-tree vlan 1 root primary
Primary:指定当前生成树下的主根
Secondary:指定当前生成树下的被跟
直接输入Secondary也无所谓,因为在没有主根的情况下被跟就是主根
也可以直接改优先级让他成主根
命令
Spanning-tree vlan 1 priority 0(必须是4096的倍数,可以输错一下,然后就显示出所有4096的整倍数)
这两条命令都可以改变某一个人为根桥
生成树启用
思科下的生成树是不用启用的,因为他自动是开启的,正常情况下要启用的话要在全局模式下输入
命令: spanning-tree mode (选一种生成树)
选择完毕之后就等于启用了他
ACL访问列表控制
作用:控制某一些主机对他所有流量的行为做一个限制或者是放行,或者是不放行等。
ACL的主要功能:
1:流量的控制,什么样的流量我要放走,什么要的流量我要放走,什么样的流量我要限制住,这些都不是拔网线能解决的,匹配感兴趣的流量。不在可控的范围,不感兴趣的流量就把他干掉。就这个流程
ACL的概念
路由器和交换机接口的一个指令列表,所以提前告诉我们ACL最后要放在接口下去控制。只有接口下能控制我的流量,用来控制端口进出的数据包。
,可以针对进和出这种动作,或者不让他进,或者不让他出。
标准ACL控制列表基于源IP地址。
源IP地址:最原始的应用层的数据,每一层叠加每一层的报头,源IP出现在网络层 IP这一层,IP这一层有源IP和目的IP,标准访问控制列表针对于数据里面只针对于里面源IP地址进行控制,目的IP是不管的。
扩展ACL,扩展访问控制列表基于源目的IP地址甚至于源目的的端口号和协议进行匹配
区别:
标准ALC:无论进和出控制那个方向都是不允许的,这是基于源IP标准访问控制列表。
扩展ACL: 我现在源时1.2,我要访问的目的是网络中百度时,数据包进入路由器时,先要匹配源是不是1.2再要匹配目的地址是不是baidu的那个ip如果匹配才放行。
扩展访问列表和标准访问列表他能做到什么标准做不到的呢,如果说匹配源和目的的话。
扩展列表可以让源不能访问谁,可以访问谁,这是标准访问列表不能做的地方,因为标准访问控制列表只基于源,目的是管不到的,可以拒绝你也可以接受,但是扩展的可以针对于细节的流量。
扩展访问控制列表是优于标准访问控制列表的。
ALC的分类
标准ACL:1~99和1300~1999
基于源IP地址
扩展ACL:100~199和2000~2699
基于源、目的IP地址:源、目的TCP/UDP端口;协议类型
在配置ACL列表的时候,会针对于你的协议,什么是协议呢,就是你怎么来的这个数据,通过什么协议过来的,通过TCP还是UDP,我就干掉你这个协议,或者是允许你这个协议,每一个方向你是不让进还是不让出
进和出的不同
进:进去之后先经过你的系统内寸,然后在给编排让你出去。
不让你进:不让你有这个过程从外面就给你拦截了。
不让你出:在你进来我在处理,最后在出口在分析让不让你出,相对于麻烦一些
ACL的工作原理
入站ACL:对来的分组,首先 会进入接口,然后对来的分组然后在内存里进行分析,包括查询路由表,分析ip报头等等,然后在放到出口,去放行他,这是正常的路由器。,如果在入站ACL卡在这里面去限制的话,要不让你进,要不不让你进。这样很简单,因为不用在中间路由器处理报头,省了这个部分的过程,你让进就进,不让进就不进了,那个数据包就丢掉了,比较符合平常路由器工作。
出站ACL:这个数据包过来之后,在这里面没有限制,让数据包平安的进入到路由器里,路由器在对他拆封装,然后在对他处理,一系列查路由,路由表等等,再放到路由出口去放出的时候发现这里面有一个ACL,在对他限制不让他出或者让出,实际上已经加工过了,里面的对数据已经处理过了这样的话无端端的就对路由器进行了一次消耗。
放出站或放入站无非就是让不让你进,或者让不让你出的问题,但是这两个问题区别在于中间路由器处理的过程,在入口的地方卡着你就相当于省了所有的环节,这是他们最大的不同,其实他们控制的效果都一样
对来的分组:过来将数据包了,我要通过ACL这些进行处理,然后在放到路由的出口,这样的话效率高
ACL:要不应用于入站要不应用于出站,这两个头必须要找一个口管,不可能俩口都管,通常没有什么特大的特殊情况一般是用于入站来解决
ACL的顺序:从上到下、每次一条语句
acl没有明确固定的顺序,必须先写允许,或者拒绝
工作原理
如果第一条就匹配了那后面都不看,如果第一条不匹配的时候才看第二条,以此类推。
允许1.1 拒绝所有人
这两个结合到一起就是只允许他上网
如果说先写允许再写拒绝,那就是说拒绝所有人进入到允许
你过来的数据,和我所书写的这个条件是完全匹配的,也就意味着他将会被立刻执行,执行的结果是允许放行,允许你通过,你可以上网
如果1.2过来,那就不匹配,就废了没用了,就看第二条第二条是拒绝所有人,那就匹配,匹配的结果是拒绝不允许你去访问intnater
允许所有人,拒绝1.1
命令
路由器上
no ip routing (取消路由功能)
然后输入
ip default-gateway
配置网关
然后
access-list 100(acl编号) permit icmp 源ip
从100开始就都是扩展的。
permit:允许
先写最有限制的,允许要放在前面,拒绝所有要放到后面,允许他能ping通就要用icmp协议
ping是icmp协议
icmp协议不仅仅包括ping一种包
echo (echo-ping) 回显请求
echo-reply 回显应答
所以后面要跟上ping属于这一个协议他的位置是echo,这是他的代号
三p里面的每一协议,协议已经出来了接口和方向还没有确认
只匹配他反掩码是0.0.0.0,每一个源ip都是这么写,目的ip也是这么写,这是第一种写法
access-list 100 permit icmp
后面加any,代表是所有。
如果跟host就直接跟源地址后面就不用跟掩码。
如果后面跟的不是一个主机ip,后面跟的是一个网段的ip
access-list 100 permit icmp host 源ip host 目的ip
如果在后面加?出现了cr就代表可以直接回车,代表这个语句是完整的
现在用针对于源访问的目的ip,是允许的他的ping
允许命令
access-list 100 permit icmp host 192.168.1.10 host 1.1.1.1 echo
允许1.10ping1.1
拒绝掉所有的源ip
命令
access-list 100 deny icmp any host 5.5.5.5 echo
拒绝掉所有的源接口去ping通5.5.5.5
这是一个拒绝的所以语句
这只是协议,还没有控制接口和方向
一定要搞好数据从哪里来,从哪里入,从哪里出。
搞好方向之后确认最终的接口是什么,把所有的列表调用在哪里
如何所有的列表调用到接口下,因为我的列表在全局模式下,写完之后他现在只是写了一个表,并没有去用它,基于所有内容在接口下
命令操作内容
进入接口
ip access-group acl编号 in
选项: out in
ip access-group :分组的调用,之前是有第一句话,第二句话,最终是要把这一个组,全部都调用在这里,组号是列表的编号方向in
命令
查询所书写的acl
show access list 100
命令
access-list 100 deny ip any any
ip:所有的网络协议
解除所有源ping所有目的不通的命令。
拒绝ip协议的any any :意思是所有协议的所有源所有目的,全部都干掉,怎么解这句话呢
命令
access-list 100 per ip any any
意思是允许所有的源访问所有的目的,
写这句话真的好吗因为你要放在列表的最结尾的地方,前面所有的控制你都做完了,后面的语句,是改变不了前面的所有的配置的,因为你是一条一条的匹配执行的,所以写到最后改变不了前面的内容,他只能影响后面的内容,把这句话写在结尾也就意味着,我们结尾隐士的deny ip any any 永远不会被匹配上,这是为了放行流量用的,所以吧他写道每个列表的最结尾
标准访问控制列表
1-99
命令
access-list 1 per host 192.168.1.10
access-list 1 deny host 192.168.1.10
因为标准只基于源进行匹配
所以只写源
ip access-list extended
标准的选项:standard
扩展的选项:extended
提前定出来是一个标准的还是一个扩展的,后面跟扩展(标准)的表号,也可以为他进行一个命名式,acl不仅可以编号也可以命名。
为什么这种写法可以命名?因为已经定义的他是一个标准的还是扩展的所以就无所谓了
如果要针对100或以后的表做一些修改的话
命令:
ip access-list extended 100
如果想对100列表做一些修改的话,这样就进入了100列表里
进入到这里面实际适合access是一样的
命令
先show一下查看编号
show ip access-list 100
如果想在这个模式下针对于表做修改或删除
直接
命令
no 编号
如果想加回来用
命令
20 deny icmp any host 1.1.1.1 echo
然后在show一下就加回来了
在里面如何插入
编号 permit icmp host 192.168.1.20 host 1.1.1.1 echo
之前做的实验是针对于ping
pc虽然不能真正的模拟windos下某些软件某些客户端,应用层去访问目的端口等等,但是可以用一下公用的协议,类似于telnat,远程登录
实验
实现acl控制端口
命令
line vty 0 4
password 密码
login
exit
ping IP
telnet ip
enable password 密码
0和4表示允许远程登录的用户用0和4编号
进去之后输入password为远程登录提供密码
login的意思是要是远程登录必须要输入login
最后exit退出
基于远程ping通才能远程连接到上面
在主机上telnet 目的ip
就能从客户端远程登录
因为没有设置密码所以不能直接进入,所以要通过
ip access-list extended 100
5 per tcp host 192.168.1.1 host 1.1.1.1 eq 23
tcp:远程连接基于tcp协议
eq 23 : eq指的是端口号,这个端口号还是应用层那个端口,telnet就是基于应用层的端口去访问到目的,所有的登录我的都是客户端,服务器就是我自己在路由上做line vty,我是服务器,eq 23不是固定在结尾,他的eq 23在结尾是跟在 目的地址,加在这个地方是目的端口是23,也就意味着源后面也是可以加eq 23,但是写在中间是没有意义的,谁登陆我端口是什么是不关心的,被登陆的端口肯定是23
热备份:在网络出口的时候多放了一个网关,也就是出口的网关有俩个,热备份的意思是平时都运行都开启,当其中有一条链路出现问题的时候切换到另外一台,实现有一个备份,就跟生成树有备根,ospf有bdr,都是一样的道理,现在是网关有备份。
两条线路,一条线路断了走另一条,两条都断了就都断了。
配置
两台路由器都指向一个网段的网关,但是客户端要指网关。
要指向左边路由器的还是右边路由器的呢?但不管指谁指之后就不会改了,所以这需要hsrp这两个网关去协商。
如何协商?
hsrp就是将两个人当作一个人看,设备都是物理的没办法合并怎么办呢
可以让两个设备共享一个ip地址,这样的话分别让R1和R2分别指这个ip地址为网关,那就相当于指这个地址。分别指这两个人是一样的。
所以先从内部解决,让客户端有网关可指,就需要路由器利用HSRP协议出一个相同的IP地址,就是你有我也有。
配置hsrp
hsrp需要在网关面向内部主机的接口。但面向的接口没有地址,那就要去面向内部的子接口去做。
主机对向子接口的vlan的那个配置网关子接口,所以就只在配置子接口的路由器的配置网管子接口的接口里去完成,
如果内部不分vlan就一个那配置hsrp会更好做,在内部接口上做就ok了,如果分了vlan分了子接口,所以要去相应的子接口去做
命令
进入配置网关的子接口
standby 1 ip 192.168.1.100
standby:热备份
1:组号 (可以配也可以不配)
ip:可以想怎么写就怎么写但是一定和客户端在一个网段里面 注意:在HSRP里面这个地址是不能在真实接口出现的,如果某一个接口有这个地址是不能在这里配置的。,用的一定是一个不存在的虚拟ip
进入另一个路由器然后进入和上一个一样的子接口
standby 1 ip 192.168.1.100
1:做热备份的时候分组一定是相同的。
do show standby brief
通过这条命令查询HSRP接口所建立的关系
int 接口
grp;组
prio:优先级 (这个优先级的范围是0-255,默认的100,越大越优先)第一个路由是100,第二个也是100,这样就说明并没有决出来谁是主,谁是备。、
state:备份
active:主是那个ip
virtual ip 备份ip
hsrp:优先级一样时对比的时ip地址 192.168.1.1 192.168.1.3 所以192.168.1.1 优先 ip地址越小越优先,在正常的情况下都分配了1个192.168.1.100的ip,现在他们hsrp已经启动了但是指他为网关应该走的谁,走的主,另一个只是备份平时不走,备份状态为主的情况下才会走他,所有有优先级的这种设定,通常都是用手动指定,手动指定某个hsrp为主在那个子接口配置
standby 1 priority 101
把他的优先级改的比备份大一点就行,虽然他还是主,这是手动配置的,也就是说他肯定会是主,不至于说另一边改个ip地址他主就会抢过去
主给他指定之后,主和备就已经确认了,然后把路由搞通看一下切换的效果
路由器可以通了,客户端也能获取到网关了如果想让客户端连接到外网需要做nat
nat:见下一章
nat配置
命令
ip nat outside
outside :因为是上面的出口所以用outside
进入子接口
ip nat inside
退出
然后用acl实现全部可以通
access-list 1 per any
ip nat inside source list 1 int f1/0 overload
如果进入子接口给shutdown了就会发现另一台路由器状态变成Active(主)
在另一台路由器上也要做地址转换
进入子接口
ip nat inside
exit
access-list 1 per any
ip nat inside source list 1 f1/0 overload
这样就会发现完全走的另外一条路
traceroute 6.6.6.6
现在的网通过nat 搞通了traceroute
等接口恢复之后,这条链路并不能变为主,没有变回来,是因为hsrp没有抢占的功能,第一次他会根据优先级,根据ip地址谁小谁优先,来确定出主来,一旦主确认之后,优点想drbdr了,没办法抢占,所以要在配置
命令
在子接口
standby 1 preempt
配置成抢占模式,开启抢占模式之后,只要我的优先级比你大,我就有资格把主的资格抢回来
这些优先级大的就立刻变回主了。
主开启抢占,备份也要开启抢占
为什么备份也要开启抢占?
假如说主断掉的不是建邻居的接口,主断掉的是外口,这样主是不会受影响的,主备关系也不会发生改变,所以主还有一条命令就是监测一下自己的外口。
命令
子接口配置
standby 1 track f1/0 2
监测这个接口,检测他最后的行为是,我要剪掉优先级的值
2;被剪掉的优先级的值。
外口断掉的话我不知道,我也没有任何动作,所以我不会切换的,我的主不变,但是路不通了。
配置完之后优先级会削减2 .这样就会比另一边小,如果备不开启抢占这备也没法把这个主也抢过去。
ping ip repeat 1000000
默认发五个成功,这样会让他发多一点
如果有vlan,那就给每一个链路分一个组,每一个组都要把自己的接口链路改为主。
这种协议思科私有的是hsrp,公有的是vrrp
以下是三个协议。
NAT;地址转换解析
DHCP:我们平时用到的ip地址,不是平时在ip add 一个一个去配置的,从来都没有配过ip,一般都是在pc上点一个dhcp(自动获取)一个按键,我的地址不是我自己配置,而是通过我的网关,服务器下发的。
ppp:拨号,输入用户名和密码连接运营商。
dhcp配置
路由算广域网的。
交换机是局域网的
先在局域网直连路由器把网关配置好
然后做dhcp的地址池配置
配置命令
ip dhcp pool ccna
pool:后面根给pool起的名字
进入dhcp pool之后
要为你下发这个地址,指明他所在的网关是谁,要不他不知道网关是谁,最后要指定DNS服务器,要不他有网关可以联网,但是他不能打开网页,所以这三大件是必须要出的。
宣告地址
network 192.168.1.0 255.255.255.0
意思是下发的是1.0的地址,和网关是通过网段就可以
下发的地址她的掩码一定和我是一样的
之后
default-router
指定默认路由,就是默认网关,反正最后会指为我网关,直接可以写自己的ip地址
这样下发完地址他们就人为我1.1是网关
最后要配置dns服务器
dns-server 1.1.1.1
dns是现实生活中各大运行商为我们提供的dns在思科模拟器没有dns服务器,所以随便写一个
分配完毕之后,如果想控制下发的地址怎么办。掩码是可以控制的
控制掩码只是控制下发地址的总范围,现在就想下发这二百多个地址,我还控制这些地址不能下发怎么样。
推出到全局模式
exit
ip dhcp excluded-address 192.168.1.2
included : 包括 的地址
excluded: 不包括的地址192.168.1.2 192.168.1.9(192.168.1.2-192.168.1.9的地址给排除掉)
虽然在模拟器里建立了连接能通了。但是真正的运营商不可能给接了一根线之后,直接和我能通,在串行链路上,是可以做一个叫ppp的协议的,用拨号连接上网,
用电脑正常连接上网的时候用的是以太网口
查接口
命令
show int f1/0
串行链路是没有mac地址的,也就意味着2层的封装是没有的。
现在广域网的链路接上接上运营商之后运行商并不是就这么愿意通因为他要给我们做一个认证,因为要花钱。
所以运营商把接口改成一个叫ppp的,改成ppp他和r5的链路就down掉了,然后去ping他直连就不通了,因为所用的封装不一样
所以要在ppp封装上做一个ppp的认证,用的比较多的类型叫chap的认证。
pap认证不安全 chap安全
pap:一方请求认证,另一方发送用户名密码就可以了,并且用户名密码在传输中是明文的
chap:双向认证,实行的是一个三次握手一个过程,他是一个双向认证,并且他是加密的,pap是单向的,是一方请求,一方提交用户名密码,而chap双方都要相互进行认证,密码在传输过程中是加密的,chap的安全性更高一点
ppp协议的认证
特点
简单
封装成帧
透明性
多种网络层协议:能够在同一条物理链路上同时支持多种网络层协议
多种类型链路:能够在多种类型链路上运行
差错检测
检测连接状态
底层的认证有两个
NCP
LCP
在数据链路层出现差错的概率不大时,使用此简单的ppp协议较为合理,因为ppp有一个差错检测功能
这里用的是用户名密码进行认证,所以要单独和ppp配置一个用户名密码,这个路由器密码也是一个路由器全局的,它既可以认证ppp,也可以认证路由器的登录,都可以,并不是专门为ppp认证的一个东西,而是一个通用的,,除了用户名密码外还要验证一个主机名
命令
encapsulation ppp
这一条命令就可以把二层封装修改为ppp封装
可以用命令
show int s0/0/0去查看封装
另一台也要修改封装
接口里
encapsulation ppp
PAP认证方式
首先认证需要一个用户名密码,所以要在全局模式下配置一个用户名密码
运营商
username 111 password 222
这个用户名密码是全局的所以不仅可以作为ppp认证的用户名密码,也可以作为路由器的登陆用户名密码
然后去接口里启用ppp认证
ppp authentication pap
这样就相当于启用了认证,启用之后就会发现接口立马就down掉了,因为认证不通过
怎么能让认证通过呢,需要在对端的设备来发送用户名密码
客户发送用户名密码
ppp pap sent-username 111 password 222
这样就启用了一个pap认证
这就是pap认证
也可以在运营商的一段启用认证,在客户端也启用pap认证,实现双向认证,但是pap自身是一个单向认证,只一端启用了认证,另一端发送用户名密码,并且认证是明文的,不安全。
chap认证
运营商
encapsulation ppp
选择chap认证
ppp authentication chap
不需要手工去发送用户名密码,他是自动发送的。
在我们的设备上必须要建立一个用户,他的用户名是对端的主机名,对方也有一个用户名,分别是对端的主机名,密码必须要一样,这个就是chap所使用的用户名密码
在运营商建立用户名密码
r1: username r2 password 222
在另一台主机也要建立用户
r2: username r1 password 222
username后面跟的是对方的主机名,密码要和对端一样
双方都开启ppp authentication chap
和
encapsulation ppp
这种方式比pap认证要保险的多,也是主流的一种认证方式。
可以用
debug ppp authentication
观察他整个认证的过程’
debug ppp negotiation
完整的输出整个ppp协议在建立的时候的一个过程。(了解就行)
NAT协议
但是现在内网客户端是不能访问外网的,因为ip地址指路由为网关,然后路由指定运营商也搞定了,但是在模拟器里网关是不知道内网的网段的,我们可以通过把数据包扔给网关,网关能够扔到运营商,运营商不知道回去怎么走,所以差一个路由,而现实中差的不是路由的问题而是这个地址有没有效的问题,
这一整段都算A类私网地址:10.0.0.0 10.255.255.255
B类:172.16.0.0 - 172.31.255.255
C类 : 192.168.0.0 - 192.168.255.255
NAT : N:network A:address T:translation
现在,abc三种分类都截取一段作为私网地址
私网:自己搭建内网,搭建局域网,类似校园网,公司内部或者是社区,或者是等等,只要是一个内部网络,自己的局域网,自己的内网,意味着有多少个学校就有多少个192.168.1.几。
一旦想通过自己的内网,连向外网就得通过运营商。
如果所有的私网地址都和运营商也就是说网络中会冲蚀着大量的192, 10 , 172,等网段,也就是说选路上是一个很大的问题,所以规定的这三个私网地址是不允许连接到运营商的
在现网中差的不仅仅是回程路由,查的是内网压根就不能访问到外界,所以运营商,不仅仅要提供ppp认证成功,还要给网关提供公网的地址,提供给使用。
我们上网需要用除了这三个地址段以外,所有的公网地址去访问外界,可是内部地址他就是192,,就算给我的主机下方出公网ip我的主机也用不了,所以在网关位置上通常有地址转换
地址转换协议是:把我们发往网关的数据包里面的IP地址在出去的时候进行一个修改,修改成运营商下放给我们的公网ip。
这样我们的地址再通过网关访问外界的时候,就不再是内部私网的地址,而是运营商下放给我们的公网ip,这个公网ip再到运营商他就合法了。
在网关路由器他要认清那个是内,那个是外这两个方向搞清楚,连接运营商的是外部,连接主机的是内部。
配置nat
确认连接运营商的方向,定义他为nat'的外部
ip nat outside
进入配置网关的接口,定义他为nat的内部
ip nat inside
接下来做nat的协议
nat 也分动态和静态的
静态nat
是先要指定一个主机的ip转换成我们想要转换成的ip
全局模式下
ip nat inside source static 192.168.1.10 100.1.1.7
意思:我现在要做ip nat的地址转换,而且后面标记了,我现在要以内部的地址,从内接口收到的地址为源地址,从inside收到的数据包要修改他的源ip,static:做静态的,假如说源地址为192.168.1.7 转换的地址是100.1.1.7
如果有数据从outside进来,那即将要修改的是目的ip
发包发到了那回包回什么??
要修改目的100.1.1.7在变回我的192.168.1.10
所所以还要反正发一次数据
命令
ip nat outside source static 100.1.1.7 192.168.1.10
可以用命令
debug ip nat
查看以下转换过程
静态好是好就是麻烦
动态NAT
先确认好inside,outside
ip nat outside
ip nat inside
然后在全局配置 一个NAT的地址池,跟上开始的ip地址-结束的IP地址,在跟上netmask掩码
ip nat pool jiao ,100.1.1.1 100.1.1.4 netmask 255.255.255.0
现在做完nat地址池之后还要去调用,他不想DHCP一样做完就直接通告。所以要先调用
用:access-list它不仅可以做流量控制,匹配一些流量的时候会经常用它,在这里用标准的合适还是用扩展的合适呢:标准的比较合适。因为标准不准对于目的,我们只是要修改源ip,要写一个用扩展的就必须要匹配这个目的的时候我才能到里面调用地址,这不合理,太麻烦。
可以跟any,全网通。
access-list 1 permit any
也可以指定单独跟一个网段
这个列表做完之后怎么让他相结合呢
命令
ip nat inside source list 1 pool jiao
list:动态就不用static了直接list后面跟编号1,然后跟上扔到哪里 pool jiao这个地址池里
一旦调用它他会立刻生效,这个命令才是让之前所有的命令生效的命令
一般的公司长期租用这么多地址,还有个地址池,非常奢侈,所以更实际一点的命令是,多个内网地址对应公网的时候,就用一个ip地址,就好比一堆人去网吧上网就用一个身份证,当然不太可能,道理就是这个道理,所以
第三种NAT叫做PAT
PAT 端口复用的
,把所用的内网他的数据都挂在一个端口下,然后用公网的端口就用这一个地址去访问外界,然后他在相对应的转换成私网的地址这个端口复用其实和动态地址池差不多,还是要用list,只不过在调用的时候不调用到地址池下了,而是调用在端口下
interface s1/0(配置网关的端口)
命令
ip nat inside source list 1 interface s1/0 overload
无论是谁都用我这个公网ip但是这样敲是做不到的,就只有一个人利用这个公网ip f1/0接口去访问,接下来就没有了所以最后一定要加上最关键的命令,复用的命令overload
注意:list如果已经用过了,就不能在调用了。
他们转换都有独立的进程所以不用担心转换分不清方向位置或转换错ip之类的问题。
这种就实现了多个内网地址转换成一个公网地址,这种就更实用了。
icmp协议测试网络状态的协议
ping 测试网络连通性
pathping 跟踪路径 计算丢包情况。
ICMP 组播
点到点‘
广播1.1.1.1 mac:f;f;f 255.255.255.255
多播(组播)225 一个多媒体发一个包对面多台计算机都能收到,节省网络带宽。
扩展在windows上查看木马命令
netstat -nb
msconfig(微软控制服务)
判断一个地址所属的网段
一台路由器运行了,rip协议
但network时没写某个网段,那个路由表就不会把这个网段通告出去。
network应该写几个网段
控制计算机连接的数量。
在交换机上
switchport mord access
告诉他是接计算机的口
switchport port-security violation shutdown
意思是告诉他如果他违反了安全规则这个口就down掉了
switchport port-security maximum 2
告诉他最多能接两个计算机
设置绑定mac地址
interface range fastEthernet 0/1 - 24
range:进入多个端口用这个
switchport mode access
switchport port-security violation shutdown
这些端口必须安全了就shutdown
假如说我现在的mac地址都是正确的,我想让他进行绑定,就就必须让其中一台计算机ping一遍,然后交换机就会把所有mac地址学一遍,以前是能学到的,现在是要把现在的mac地址变成静态的不要再学习了,变成之后,每个接口就会和每个mac地址绑定,谁要是换了那就不通了
交换机上
命令
show mac-address-table
查看mac地址状态
switchport port-security mac-address sticky
这个命令表示告诉这个交换机以后就静态的就行了不用再学习了
看到的效果是所有的都变成static
用ACL保护路由器的安全
全局模式下
命令line vty 0 15
password aaa
login
exit
access-list 10 permit 192.168.1.3 0.0.0.0
permit一台主机的话可以子网写4个0
line vty 0 15
然后把访问控制列表绑定到telnet接口上
将访问控制列表绑定到物理接口
access-class 10 in
interface f0/1
将访问控制列表绑定到物理接口
ip access-group 10 in
然后用指定的那个主机可以trlnet到路由器上,别的客户机就不可以
ACL的具体应用
绝不允许任何源地址是内部地址或网络地址的数据包进入一个私有的网络
access-list 150 deny ip 127.0.0.0 0.255.255.255 any log
access-list 150 deny ip 0.0.0.0 255.255.255.255 any log
access-list 150 deny ip 10.0.0.0 0.255.255.255 any log
access-list 150 deny ip 172.16.0.0 0.15.255.255 any log
.....等私网地址。
绝不允许任何含有非内部网络有效地址的IP数据包出站
access-list 105 permit ip 192.168.0.0 0.0.255.255 any
access-list 105 deny ip any any log
interface s2/0
ip address-group 105 out
禁止ICMP入站
access-list 112 deny icmp any any echo log
access-list 112 deny icmp any any redirect log
access-list 12 deny icmp any any mask-request log
这些组主要的是禁止ping进我的内网。
思科tracer的作用。
trunk接口就是干道链路。
可以实现不同vlan通信。
在路由器上配置端口映射
端口映射:允许你使用公网地址访问内网服务器
配置端口映射
ip nat inside source static tcp 10.0.0.6 80
svl
交换机的虚拟端口
就是在vlan里配置ip地址
VPN
作用:增加一层地址
在原有的ip外面增加了一层
增加的一层是为了给运营商看的。
通常部署VPN,不同地区的公司内部,使用不同ip地址段的私网ip地址。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。