锐捷RCNA | 远程登录与路由技术
- 一、远程登录配置
-
- [1. Telnet远程登录介绍](#1. Telnet远程登录介绍)
- [2. 案例1--设置远程登录密码实现远程登录](#2. 案例1--设置远程登录密码实现远程登录)
- [3. 案例2--定义不同用户账户实现远程用户权限隔离](#3. 案例2--定义不同用户账户实现远程用户权限隔离)
- [4. SSH远程登录介绍](#4. SSH远程登录介绍)
- [5. 案例--通过SSH功能远程管理设备](#5. 案例--通过SSH功能远程管理设备)
- 二、路由技术
-
- [1. 直连路由的数据通信](#1. 直连路由的数据通信)
- [2. 间接路由的数据通信](#2. 间接路由的数据通信)
- [3. 路由的下一跳](#3. 路由的下一跳)
- [4. 路由表](#4. 路由表)
- [5. 最长子网掩码匹配原则](#5. 最长子网掩码匹配原则)
- [6. 静态路由](#6. 静态路由)
-
- [6.1 综合案例拓扑](#6.1 综合案例拓扑)
- [6.2 静态路由实现方式](#6.2 静态路由实现方式)
- [6.3 默认路由实现方式](#6.3 默认路由实现方式)
- [6.4 浮动路由实现方式](#6.4 浮动路由实现方式)
- [7. 汇总路由](#7. 汇总路由)
- [8. 动态路由](#8. 动态路由)
-
- [8.1 距离矢量路由协议](#8.1 距离矢量路由协议)
- [8.2 链路状态路由协议](#8.2 链路状态路由协议)
一、远程登录配置
1. Telnet远程登录介绍
Telnet(Telecommunication Network Protocol)是一种网络协议,它用于在远程计算机之间进行双向的、基于文本的通信。Telnet 允许用户登录到远程主机并执行命令,就像坐在那台机器前面一样。它主要工作在TCP/IP协议栈的应用层,使用TCP端口号23。
Telnet 最初是为了在远程终端和主机之间提供一个简单的通信协议而设计的。用户可以通过Telnet客户端软件连接到远程服务器上的Telnet服务,然后输入命令,这些命令会被发送到远程服务器上执行,执行结果再返回给用户。这种方式允许用户管理或访问远程系统,无需物理上坐在那台机器前。
然而,随着网络安全技术的发展,Telnet 的使用逐渐减少,主要是因为它不加密传输的数据,这意味着用户名、密码以及所有其他通过 Telnet 会话传输的信息都可以被截获。这导致了安全风险,尤其是在不安全的网络环境中。因此,更安全的替代方案,如SSH(Secure Shell),逐渐取代了Telnet。SSH 提供了加密的通信通道,可以有效保护传输数据的安全性。
权限划分
在telnet中将用户的权限划分为1-15,数值越高则代表用户的权限越高,可执行的命令则越多(默认权限为0)。
- 权限0:游客级别:只能进行少数操作
- 权限1:监控级:可以进行大部分的查询,无法进行配置
- 权限2:配置级:可以进行配置,但是不能修改系统内部配置,如保存、查看和删除文件
- 权限3-15:管理级别:可以进行所有操作
Telnet可以通过两种方式部署
- 不设置账号密码,设置远程登录密码,通过远程登录密码登录,所有人权限一致
- 为每一个用户设置一个账号密码,分配不同权限
2. 案例1--设置远程登录密码实现远程登录
实验需求
- 通过Telnet功能远程登录管理Router
- 最多允许共5个用户同时telnet登入到交换机
- 特权密码为:2wsx#EDC,Telnet登录密码为:1qaz@WSX
实验拓扑
配置步骤
[Step1]:
给PC配置IP地址
ruby
PC(config)#int g0/0
PC(config-if-GigabitEthernet 0/0)#ip add 192.168.1.1 24
PC(config-if-GigabitEthernet 0/0)#exit
[Step2]:
给Router配置IP地址
ruby
Router(config)#interface g0/0
Router(config-if-GigabitEthernet 0/0)#ip add 192.168.1.2 24
Router(config-if-GigabitEthernet 0/0)#exit
[Step3]:
配置特权密码
ruby
Router(config)#enable password 2wsx#EDC
[Step4]:
配置虚拟终端
ruby
# 进入telnet密码配置模式,0 4表示允许共5个用户同时telnet登入到交换机
Router(config)#line vty 0 4
# 启用需输入密码才能telnet成功
Router(config-line)#login
# 将telnet密码设置为1qaz@WSX
Router(config-line)#password 1qaz@WSX
# 设置用户登录的权限,默认为1
Router(config-line)#privilege level 15
Router(config-line)#exit
[Step5]:
验证:使用PC远程登录Router
ruby
PC#telnet 192.168.1.2
Trying 192.168.1.2, 23...
User Access Verification
Password:1qaz@WSX
Router>ena
Password:2wsx#EDC
Router#
[Step6]:
验证:查看当前设备的登录用户信息,可以看到PC的登录信息
ruby
Router#show users
[Step7]:
可以将在线的用户踢下线
bash
Router#clear line 1
[Step8]:
在上述的配置中存在安全问题,可以通过show running看到特权密码为明文
ruby
Router#show running-config | include enable
enable password 2wsx#EDC
[Step9]:
我们可以通过其它命令设置特权密码,可以看到secret的密码是加密的,而且enable secret设置的密码比enable password设置密码优先级高
当存在enable password和enable secret,默认只生效 enable secret
ruby
Router(config)#enable secret 1qaz@WSX
3. 案例2--定义不同用户账户实现远程用户权限隔离
实验需求
- 通过Telnet功能远程登录管理Router
- 最多允许共5个用户同时telnet登入到交换机
- 特权密码为:2wsx#EDC
- 定义远程用户 user01,密码为:1qaz@WSX,权限设置为1
- 定义管理员用户 admin,密码为:2qaz@WSX,权限设置为最大
实验拓扑
配置步骤
[Step1]:
给PC配置IP地址
ruby
PC(config)#int g0/0
PC(config-if-GigabitEthernet 0/0)#ip add 192.168.2.1 24
PC(config-if-GigabitEthernet 0/0)#exit
[Step2]:
给Router配置IP地址
ruby
Router(config)#interface g0/0
Router(config-if-GigabitEthernet 0/0)#ip add 192.168.2.2 24
Router(config-if-GigabitEthernet 0/0)#exit
[Step3]:
设置特权密码
ruby
Router(config)#enable secret 2wsx#EDC
[Step4]:
设置Telnet登录用户
ruby
# 没有设置权限的用户,权限默认为1
Router(config)#username user01 password 1qaz@WSX
Router(config)#username admin privilege 15 password 2qaz@WSX
[Step5]:
配置虚拟终端
ruby
Router(config)#line vty 0 4
Router(config-line)#login local
Router(config-line)#exit
[Step6]:
验证:使用user01用户登录Router,权限不足要进入特权模式需要输入特权密码
[Step7]:
验证:使用admin用户登录Router,权限足可以直接跳过输入特权密码直接进入特权模式
4. SSH远程登录介绍
- 定义:SSH是Secure Shell的缩写,是一种安全通道协议,主要用来远程管理服务器。
- 功能:SSH协议对通信双方的数据传输进行了加密处理,包括用户登录时输入的用户口令,从而有效防止远程管理过程中的信息泄露问题。此外,SSH还提供了远程复制(如通过SCP命令)和文件传输(如通过SFTP协议)等安全服务。
- 应用环境:SSH服务广泛应用于UNIX、Linux等操作系统中,是远程管理和文件传输的重要工具。在Windows系统中,虽然没有内置的SSH服务,但可以通过安装第三方软件(如PuTTY、Xshell等)来实现SSH功能。
5. 案例--通过SSH功能远程管理设备
实验需求
- 通过SSH功能远程管理Router
- 用户名为:admin,密码为:1qaz@WSX
实验拓扑
配置步骤
[Step1]:
给PC配置IP地址
ruby
PC(config)#int g0/0
PC(config-if-GigabitEthernet 0/0)#ip add 192.168.3.1 24
PC(config-if-GigabitEthernet 0/0)#exit
[Step2]:
给Router配置IP地址
ruby
Router(config)#int g0/0
Router(config-if-GigabitEthernet 0/0)#ip add 192.168.3.2 24
Router(config-if-GigabitEthernet 0/0)#exit
[Step3]:
开启SSH服务,配置登录用户和密码
ruby
Router(config)#enable service ssh-server
Router(config)#username admin privilege 15 password 1qaz@WSX
[Step4]:
配置虚拟终端
ruby
Router(config)#line vty 0 4
Router(config-line)#login local
Router(config-line)#transport input ssh # 设置只允许SSH方式登录
Router(config-line)#exit
[Step5]:
验证:在PC上SSH远程登录Router
[Step6]:
验证:在Router上可以看到SSH登录信息
二、路由技术
路由是数据通信网络中的基本要素。路由信息是指导报文转发的路径信息,路由过程就是报文转发的过程,同一广播域内无需路由转发直接可以通信,跨广播域则需要路由进转发。
在发送数据时,网络层会检查目的IP与自身IP是否处于一个网段
- 同网段:使用ARP解析出目的IP的MAC地址
- 不同网段:使用ARP解析网关的MAC地址
路由:从一个接口上收到数据包,根据数据包的目的地址进行定向和转发的过程。
1. 直连路由的数据通信
**直连路由:**同一个IP网段内的通信
2. 间接路由的数据通信
**间接路由:**不同IP网段间的通信
3. 路由的下一跳
**下一跳:**路由设备进行路由转发,下一台设备的端口IP地址
- 下一跳地址由路由表决定,PC的下一跳默认为为网关
- 下一跳地址是路由设备根据路由表选择的最佳路径
4. 路由表
路由表一共存在三种路由
Connected直连路由
- 通过活动接口配置IP地址形成直连路由
- 直连路由表示路由器直接连接的网络
Static静态路由
- 管理员手动配置的路由信息
- 无法感知网络拓扑的变化,需要手动增删
动态路由
- 路由器之间使用某种动态路由协议,根据相互传递的信息形成的路由
- 在网络拓扑中变化时,能够动态调整路由信息
- 会在链路中产生额外流量,增加负担
**路由表的入表原则:**不同的加入,相同的条目比较好坏(根据度量值)
路由表的用表原则:根据最长子网掩码匹配原则,子网掩码越长则优先使用
未匹配的项
- 未入表的静态路由:保存在配置表中(可以通过 show running-config 查看)
- 未入表的动态路由:保存在各自的路由表中(如ospf可以通过 show ip ospf route)
**度量值:**路由协议用来衡量路径优劣的参数,表示到达目标的代价总和。【比路径】
路由类型 | 度量值参考 |
---|---|
静态路由 | 0 |
OSPF | 带宽 |
RIP | 跳数 |
管理距离:也叫优先级,用来衡量路由来源的可信度【比路由协议】
- 管理距离值越低则越优,只有最优的路由才会被添加到路由表中
- 管理距离默认值由厂商自定义
路由来源 | 缺省管理距离 |
---|---|
直连路由 | 0 |
静态路由 | 1 |
OSPF | 110 |
RIP | 120 |
不可达路由 | 255 |
5. 最长子网掩码匹配原则
- 路由设备基于数据包的目的IP地址,按照最长子网掩码匹配原则查找路由表
- 根据查询结果转发,如果没有查询到则丢弃数据包
6. 静态路由
静态路由介绍
- 静态路由本地生效,不会传递给其它路由器
- 网络安全保密性高,消耗资源比较少
- 下一跳地址必须是直连链路上可达的地址
- 点对点连接时,可以使用出接口作为下一跳地址
- 默认路由是特殊的静态路由:目标网络和子网掩码均为 0.0.0.0
ruby
ip route 目标网络 子网掩码 下一跳地址 [度量值-可选]
ip route 目标网络 子网掩码 出接口 [度量值-可选]
静态路由优先使用下一跳地址而不是出接口
默认路由的使用背景
- 互联网出口路由器
- 要访问Internet,内网的所有设备都需要配置默认路由,不单在互联出口设备
- 路由是逐跳转发,少了任何一台都会出问题
- 明细路由访问内网,默认路由访问外网
- PC的网关
- 只要访问的目标与自己不在同一广播域,都是直接找网关进行转发
- 配置网关时,其实变相等于配置了一条默认路由
- 只有一个出口的末端网络
- 可以省略掉路由条目,直接使用一条默认路由代替
6.1 综合案例拓扑
6.2 静态路由实现方式
R1
tex
R1(config)#ip route 192.168.2.0 255.255.255.0 172.16.1.2
R2
tex
R2(config)#ip route 192.168.1.0 255.255.255.0 172.16.1.1
R2(config)#ip route 192.168.2.0 255.255.255.0 172.16.1.6
R3
tex
R3(config)#ip route 192.168.1.0 255.255.255.0 172.16.1.5
测试连通性
tex
VPCS> ping 192.168.2.1
84 bytes from 192.168.2.1 icmp_seq=1 ttl=61 time=12.111 ms
84 bytes from 192.168.2.1 icmp_seq=2 ttl=61 time=2.598 ms
84 bytes from 192.168.2.1 icmp_seq=3 ttl=61 time=3.592 ms
84 bytes from 192.168.2.1 icmp_seq=4 ttl=61 time=2.753 ms
84 bytes from 192.168.2.1 icmp_seq=5 ttl=61 time=4.167 ms
ini
S 192.168.2.0/24 [1/0] via 172.16.1.2
S :代表此路由为静态路由
192.168.2.0/24 :目标网络
[1/0] :管理距离/度量值
172.16.1.2 :下一跳IP
6.3 默认路由实现方式
R1
tex
R1(config)#ip route 0.0.0.0 0.0.0.0 172.16.1.2
R2
tex
R2(config)#ip route 0.0.0.0 0.0.0.0 172.16.1.1
R2(config)#ip route 0.0.0.0 0.0.0.0 172.16.1.6
R3
tex
R3(config)#ip route 0.0.0.0 0.0.0.0 172.16.1.5
测试连通性
tex
VPCS> ping 192.168.2.1
84 bytes from 192.168.2.1 icmp_seq=1 ttl=61 time=4.684 ms
84 bytes from 192.168.2.1 icmp_seq=2 ttl=61 time=2.443 ms
84 bytes from 192.168.2.1 icmp_seq=3 ttl=61 time=2.474 ms
84 bytes from 192.168.2.1 icmp_seq=4 ttl=61 time=3.561 ms
84 bytes from 192.168.2.1 icmp_seq=5 ttl=61 time=3.713 ms
6.4 浮动路由实现方式
- 浮动路由就是在静态路由的基础上,为路由条目加上管理距离参数,管理距离越小,则会写入路由表
- 当优先级最高的路由失效后,次优的路由会被添加到路由表中
- 静态路由的默认管理距离为1,可选值为 1-255
配置正常路径为PC1-->R1-->R2-->R3-->PC2
正常路径故障后路径为PC1-->R1-->R3-->PC2
R1
tex
R1(config)#ip route 192.168.2.0 255.255.255.0 172.16.1.2 10
R1(config)#ip route 192.168.2.0 255.255.255.0 172.16.1.10 100
R2
tex
R2(config)#ip route 192.168.1.0 255.255.255.0 172.16.1.1
R2(config)#ip route 192.168.2.0 255.255.255.0 172.16.1.6
R3
tex
R3(config)#ip route 192.168.1.0 255.255.255.0 172.16.1.5 10
R3(config)#ip route 192.168.1.0 255.255.255.0 172.16.1.9 100
正常情况下
断开R1和R2、R3和R2的链路
tex
R1(config)#int g0/0
R1(config-if-GigabitEthernet 0/0)#shutdown
R1(config-if-GigabitEthernet 0/0)#exit
R3(config)#int g0/1
R3(config-if-GigabitEthernet 0/1)#shutdown
R3(config-if-GigabitEthernet 0/1)#exit
7. 汇总路由
- 汇总路由的定义:把多条路由汇总成一条路由条目
- 汇总路由的作用:收缩路由表,减轻路由器的负担,提高路由器的转发效率
汇总路由的计算
tex
# 将要汇总的网段转换为二进制
172.16.12.0 ==> 10101100.00010000.00001100.00000000
172.16.13.0 ==> 10101100.00010000.00001101.00000000
172.16.14.0 ==> 10101100.00010000.00001110.00000000
172.16.15.0 ==> 10101100.00010000.00001111.00000000
从左往右,取出相同的位作为新网络位 10101100.00010000.00001100.00000000【网络位不变,其余位数全部为0】
相同的位数:22,汇总的路由则为 10101100.00010000.00001100.00000000/22
也就是 172.16.12.0/22
Router(config)#ip route 172.16.12.0 255.255.255.252 x.x.x.x
8. 动态路由
目前网络项目中的主流路由协议有:RIP、OSPF、BGP
- RIP基于UDP,端口号为 520
- OSPF基于IP,端口号为89
- BGP基于TCP,端口号为179
路由协议工作机制的四个主要步骤
- 邻居发现:路由器通过发送广播或组播报文的方式发现网络中的邻居,并基于特定参数来建立邻居关系
- 路由交换:每台路由器将自己已知的路由相关信息发给相邻路由器
- 路由计算:每台路由器运行特定算法,计算路由表
- 路由维护:路由器之间通过周期性的发送协议报文来维护邻居信息
按照管理范围分类
- IGP内部网关协议:RIP、EIGRP、OSPF、IS-IS(园区网常用协议)
- EGP外部网关协议:BGP(主要应用在金融、政府电子政务网、运营商网络)
按照算法分类
- 距离矢量路由协议:RIP、BGP
- 链路状态路由协议:OSPF、IS-IS
8.1 距离矢量路由协议
- 路由以距离、方向的方式通告出去
- 距离矢量路由协议直接传送各自的路由表信息
- 每台路由器从邻居路由器直接获取路由信息,然后将自己路由信息与获取到的路由信息 一起发送其它邻居
- 逐跳传递,达到全网同步,路由器都不了解网络拓扑
- 只知道相连网络的信息,根据从邻居得到的路由信息更新自己路由
8.2 链路状态路由协议
- 基于Dijkstra算法的最短路径优先(SPF)算法,比距离矢量路由协议复制
- 路由器并不直接向邻居传递路由表项,而是通告给邻居链路状态信息
- 链路状态信息包括:接口IP地址、掩码、网络类型、链路开销、链路上的邻居路由器
- 运行链路状态路由协议的路由器将路由器划分区域,收集区域的所有路由器的链路状态信息,根据状态信息和SPF算法生产网络拓扑结构,每一个路由器再根据拓扑结构计算出路由条目