思科配置(补充)

- 快速查看所有接口的状态: show interfaces status 或者 show ip interface brief

  • 通过telnet连接到路由器
- line vty 0 4 # 一共5条vty(虚拟终端)线路
- password 123456
- login
- transport input telnet # 放行telnet协议

- 注意事项: 如果终端通过telnet远程过来的时候,提示enable模式没有设置密码,可以在"配置模式"下执行以下命令
	- enable password 456789

- 补充: 也可以使用更安全的模式
  - username admin secret your_strong_password # 配置模式下设置
  - line vty 0 4
  - login local         # 使用本地用户名密码库认证
  - transport input ssh # 强制使用SSH替代Telnet
  • 查看自己和其他设备之间,接口连线的情况
- show cdp neighbors
- 知识点: cdp协议是思科专属协议(华为叫"LLDP"),用来发现本机和相邻设备的连接情况(与IP地址无关)
	- 注意事项: 这个协议,只能发现邻居,只能发现相邻的.比如隔一台设备,就发现不了
	
- 实验测试: 两台2960思科交换机,自动连线
	- 进入特权模式,输入命令: show cdp neighbors 
	
......											# 连线的设备是2960,接口是 Fas 0/1
Device ID    Local Intrfce   Holdtme    Capability   Platform    Port ID
Switch       Fas 0/1          138            S       2960        Fas 0/1
  • 交换机: 最重要的功能,存储一张Mac表,该表映射硬件接口(比如1号口)和该接口对应的终端的Mac地址
    • 思科实验: 一台2960交换机,连接3台终端
      • 查看Mac表格命令: show mac address-table
Vlan    Mac Address       Type        Ports
----    -----------       --------    -----

   1    0002.4a66.34cd    DYNAMIC     Fa0/1
   1    00d0.bc98.e1e4    DYNAMIC     Fa0/2
   1    00e0.b016.5359    DYNAMIC     Fa0/3
  • 交换机的三种转发行为
- 群发: 群发给接口上面的所有设备
	- 情况1: 出现未知的Mac地址
	- 情况2: 终端发送广播包
- 转发(单发): 单发给指定的设备
- 丢弃
  • ArpMac有什么区别
- Arp是针对终端来讲,终端之间即使没有交换机,通过直连(依赖Arp),也能通讯
- Mac就是交换机在使用了,在多台终端之间,实现数据转发

IP子网掩码

  • 子网掩码: 由网络号主机位构成,

    • 网络号二进制1表示,主机位0表示
    • 子网掩码的划分: 本质就是切西瓜的问题
    - 255.255.255.0
    	- 11111111.11111111.11111111.00000000
    		- 表示主机位的有8个0,转换成十进制就是2的八次方=256
    		- 上述子网掩码对应IP地址: 192.168.5.123
    			- 所以,192.168.5 就是表示网络号,而123表示主机位
    				- 意味着有256个IP地址: 从0~255
    		- 假设子网掩码变成了255.255.0.0,那么192.168就是网络号,而5.123就是主机位
    			- 意味着有2的16次方个IP地址,超大型的网络
    			
    - 注意事项: 实战中,可以通过"IP地址计算器",输入"子网掩码"来快速生成可用的IP地址
    
  • 二层转发: 指的是同一网段的终端之间,可以直接通讯(比如同网段终端之间通过二层交换机直接通讯)

    • 甚至,不需要二层交换机,比如两台同网段终端之间,通过网线直连,就可以直接通讯,这就是"二层转发"
    • 知识拓展: 当两台终端网段不同的时候,就不能直接通讯,需要借助第三个设备来实现,这就成为"三层通讯"
  • IP地址: 分为3类

    • A类(大型网络): 255.0.0.0(8位)
    • B类(中型网络): 255.255.0.0(16位)
    • C类(小型网络): 255.255.255.0(24位)
  • 特殊的IP地址

    • 0.0.0.0: 代表所有的网络
    • 255.255.255.255: 全网广播地址,代表所有节点
    • 127.0.0.0/8: 环回地址,常用于环回测试
    - 192.168.1.0: 网络地址
    - 192.168.1.255: 广播地址
    
    - 四台路由器,IP地址为: 192.168.1.1~192.168.1.4,连接到一台二层交换机上面,互ping没有问题,现在用1.4的路由器,ping 1.255,结果如下
    
    Router#ping 192.168.1.255
    
    Type escape sequence to abort.
    Sending 5, 100-byte ICMP Echos to 192.168.1.255, timeout is 2 seconds:
    
    Reply to request 0 from 192.168.1.2, 0 ms
    Reply to request 0 from 192.168.1.3, 0 ms
    Reply to request 1 from 192.168.1.1, 0 ms
    Reply to request 1 from 192.168.1.2, 1 ms
    Reply to request 1 from 192.168.1.3, 0 ms
    Reply to request 2 from 192.168.1.1, 0 ms
    Reply to request 2 from 192.168.1.2, 0 ms
    Reply to request 2 from 192.168.1.3, 0 ms
    Reply to request 3 from 192.168.1.1, 0 ms
    Reply to request 3 from 192.168.1.2, 0 ms
    Reply to request 3 from 192.168.1.3, 0 ms
    Reply to request 4 from 192.168.1.1, 0 ms
    Reply to request 4 from 192.168.1.2, 0 ms
    Reply to request 4 from 192.168.1.3, 0 ms
    
    - 结果表明: 1.255确实是"广播地址",因为1~3均回复了
    - 注意事项: ping 255 的命令,只能作为参考,因为有些终端不会回复(比如系统限制,防火墙,休眠等待原因)
    
    
    • 进阶实验,如图所示,当Router4ping255.255.255.255时,得到的回复如下
    Router#ping 255.255.255.255
    
    Type escape sequence to abort.
    Sending 5, 100-byte ICMP Echos to 255.255.255.255, timeout is 2 seconds:
    
    Reply to request 0 from 192.168.1.1, 0 ms
    Reply to request 0 from 192.168.2.2, 0 ms
    Reply to request 0 from 192.168.1.2, 0 ms
    Reply to request 0 from 192.168.2.1, 0 ms
    Reply to request 0 from 192.168.1.3, 0 ms
    ......
    

    • 小结
    - 单对单ping: 其实就是单播
    - 单对多ping: ping 192.168.1.255,其实就是组播
    - 单对所有ping: ping 255.255.255.255,其实就广播
    

网关

  • 定义: 连接不同网络的设备,比如路由器,比如防火墙,比如电脑
    • 通俗理解,能拍照的设备,可以是照相机,手机,录像机等待
  • 思科实验如下: 用路由器实现终端跨网段通讯

  • 思科实验: 终端和两台路由器之间的通讯

- 当最右边的路由器还是路由器的时候,这台路由器是无法和终端通讯的
	- 终端可以ping同本网段的网关和2.254网关
	- 右边路由器可以ping同本网段的网关,ping不同1.254(其实需要写"静态路由")
- 解决办法: 把右边的路由器变成一台终端,就可以ping通左边的终端了
	- 具体操作: 
		- 关闭路由功能
		- 设置网关地址
Router(config)#no ip routing
Router(config)#ip default-gateway 192.168.2.254
  • 结果如下
Router#ping 192.168.1.254
......
Success rate is 80 percent (4/5), round-trip min/avg/max = 0/0/0 ms

Router#ping 192.168.1.2
......
Success rate is 80 percent (4/5), round-trip min/avg/max = 0/0/0 ms
  • 知识点: 路由导航
    • 我们高德地图的时候,先导航一下,才知道路线该怎么走

Vlan 虚拟局域网

  • 通俗理解---虚拟交换机

    • 比如划分两个Vlan,就是两台虚拟交换机,彼此之间互相隔离
  • 知识点:

    • 路由器的接口本身就是一个广播帧,所以收到广播包的时候,会自动丢弃这个广播包
    • 交换机会对这个广播帧进行转发
    • Vlan是通过交换机进行配置的,一个Vlan就是是一个广播域
    • Vlan之间本身就是互相隔离的,想互通就必须借助三层设备,进行三层转发
  • 链路类型: 指的就是交换机的接口模式

    • Access接入链路: 用来连接终端(比如PC,比如服务器)

      • Access口: 入口带有vlan标记,出口撤销vlan标记
    • Trunk干道链路: 用于交换机之间的互联

      • Trunk口(正常情况):
        • 入口: 收到vlan数据帧,先检查vlan允许通过的裂变,如果允许,再往对应的vlan转发
        • 出口: 发出携带vlan标记的数据帧(也会先检查一下vlan列表,允许才发出)
    • Trunk口(非正常情况):

      • 出口: 取消携带vlan标记的数据帧,还原成"原始数据帧"(也会先检查一下vlan列表,允许才发出)
      • 入口: 收到"原始数据帧",根据Native vlan增加标记

  • 思路分析
- 交换机划分两个vlan
	- vlan 10 和 vlan 20
	
- 批量进入两个接口(有两组),更改接口模式为"Access",并加入相应的vlan(比如vlan10和vlan20)

Switch(config)#interface range f0/1-2
Switch(config-if-range)#switchport mode access 
Switch(config-if-range)#switchport access vlan 10
Switch(config-if-range)#exit
......
Switch(config)#interface range f0/3-4
Switch(config-if-range)#switchport mode access 
Switch(config-if-range)#switchport access vlan 20
Switch(config-if-range)#exit
......
Switch(config)#do show vlan
  • 知识点: 华为思科设备的特点区别
- 华为是能关就关,除非你明确写入配置
- 思科是能开就开,除非你明确关闭
- 比如配置"Trunk口"时,区别就很明显
- 不要禁止"Vlan1",很多通讯协议都依赖它,禁掉会有不可思议的问题
  • Trunk配置
- switchport trunk encapsulation dot1q # 思科需先指明数据的封装方式
- switchport mode trunk # 再转换为trunk
- show interfaces trunk # 查看trunk配置

- switchport trunk allowed vlan remove 20 # 移除vlan20,不允许vlan20通过Trunk
- switchport trunk allowed vlan add 20 # 重新加入vlan20,允许vlan20通过Trunk

- no switchport trunk allowed vlan 20 # 数据帧能进去,但是发不出来

  • Native Vlan(PID):在Vlan的基础上,发送时不带Vlan的标记,比如不带Vlan10或者Vlan20
- 应用场景,交换机端口是Trunk,领一端接的不是交换机,而是PC,PC是不认识vlan帧的

- switchport trunk native vlan 10 # 再ping PC就可以通了

- 注意事项: 在一个Trunk上面,Native vlan只允许一个(只允许一个vlan被剥离vlan标记),无法多个
	- vlan1就是 Native Vlan
	
- 作用: 可以在Trunk上面,取消一个vlan的标记
  • 知识点: 思科三层交换机的端口,不能直接配置IP地址,比如先把该端口变成路由端口,才能继续配置IP地址
    • 注意事项: 如果是给vlan配置IP地址,则可以直接配置
- Switch(config-if)#no switchport
- Switch(config-if)#ip address 192.168.1.1 255.255.255.0

生成树协议(Spanning Tree)

  • 两个作用
    • 防止环路

    • 冗余

      • 链路冗余
      • 设备冗余
    • 注意事项: 作冗余(设备冗余和链路冗余)时会产生环路问题

- 书这玩意,不写怎么赚钱,讲的不是人话
- 上课,就是把书翻译成"人话"
- 交换机曾经的名字---"网桥"

  • 根网桥: 根据优先级(交换机默认值都为3万多,数值越小,优先级越大)去挑选根网桥
- show spanning-tree 
- spanning-tree vlan 1 priority 4096 # 生成树协议是基于vlan
- 应用场景: 汇聚交换机设置最优先级(高于普通二层交换机)
	 - 汇聚交换机A: 主根,优先级0
	 - 汇聚交换机B: 次根,优先级4096
	 

Switch#show spanning-tree 
VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    32769
             Address     0005.5ED6.A9A8
             This bridge is the root # 根网桥
             Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1)
             Address     0005.5ED6.A9A8
             Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time  20
- 实验现象说明:
	- 以右边的交换机为'根网桥'为根,开始左右延伸,所以,对面的线路肯定被堵住
  • 根端口(root port): 距离根交换机最近的端口
- 每台"非根交换机"都有一个"根端口"
Switch#show spanning-tree 
......
Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1            Altn BLK 19        128.1    P2p
Fa0/2            Root FWD 19        128.2    P2p # 根端口
  • 指定端口: 转发数据的端口
- 数据从"根端口"进,然后从"指定端口"出
角色	           所在设备	          选举依据	             状态	                 作用
根桥	            整个网络	    最小的 Bridge ID	    所有端口转发	         拓扑中心
根端口	           非根交换机	   到根桥的最小路径开销	 转发(FWD)	       指向根桥的路径
指定端口	      根桥或网段	      网段内到根桥的最优路径	转发(FWD)			 为网段转发流量
非指定端口	     非最优路径的端口  未被选为根端口或指定端口	 阻塞(BLK)		  防止环路
        [根桥: Switch A]
         Gi0/1 (指定端口)  
           |
           |  (Cost=4)
           |
        Gi0/1 (根端口)  
      [Switch B]  
     Gi0/2 (指定端口)  
           |
           |  (Cost=4)
           |
        Gi0/2 (根端口)  
      [Switch C]  
     Gi0/3 (非指定端口, 阻塞)
     
Switch A:根桥,所有端口(如 Gi0/1)是指定端口。

Switch B:Gi0/1 是根端口(指向根桥),Gi0/2 是指定端口(为下游网段服务)。

Switch C:Gi0/2 是根端口(指向 Switch B),Gi0/3 是非指定端口(阻塞)。
  • cost(开销值): 与接口速率`成反比
- 接口的速率越高,开销越小,反之亦然
  • STP端口的5种状态
- 禁用(disable)
- 堵塞(blocking)
- 监听(15秒,listening)
- 学习(15秒,learning)
- 转发(forwarding): 从数据开始转发,需要等待上面30秒的时间
  • 边缘端口(edge port): 交换机中,连接终端端口,可以配置成边缘端口,无需再等待30秒(因为不需要将数据转发给别的交换机,接终端不会形成)
- spanning-tree portfast edge # 进入连接终端的接口
- spanning-tree portfast edge default # 全局配置"边缘端口",注意,思科比较智能,只有连接终端的接口,才会被配置成"边缘端口",而交换机之间的接口,默认是不会被配置成"边缘端口"的

- stp bpdu-protection # 给所有"边缘端口"配上BPDU防护,一旦收到"BPDU报文",直接禁用端口
	- 应用场景: 本来网线接着一台终端,但是某人把终端拿走,换成了交换机...(该端口会被禁用掉,重新换成终端,连接又恢复了)
  • PVST((Per-VLAN Spanning Tree)): 生成树协议的增强版本,专用于解决多VLAN环境中的环路问题

    • 核心概念
      • 传统STP的局限:标准STP(IEEE 802.1D)为整个交换网络计算一棵生成树,所有VLAN共享同一拓扑,可能导致部分VLAN的路径非最优
      • PVST的改进:PVST为每个VLAN独立计算一棵生成树,允许不同VLAN通过不同的路径转发流量,提升带宽利用率并实现负载均衡。
    • 工作流程
      • 选举根桥:每个VLAN独立选举一个根桥(通常选择优先级最低的交换机)。
      • 路径选择:非根交换机根据到根桥的路径成本(基于带宽)确定根端口。
      • 端口角色分配:每个网段选举指定端口(负责转发流量),其余端口被阻塞以防环。
    • 优缺点
      • 优点
        • 负载均衡:不同VLAN可走不同路径,优化带宽使用。
        • 灵活性:针对VLAN定制拓扑,提升冗余能力。
      • 缺点
        • 资源消耗:每个VLAN维护独立生成树,CPU和内存开销较大。
        • 仅限Cisco环境:与非思科设备互通需配合PVST+或其他协议。
    • 配置示例
    Switch(config)# spanning-tree mode pvst           # 启用PVST
    Switch(config)# spanning-tree vlan 10 root primary # 设置VLAN 10的根桥
    Switch(config)# spanning-tree vlan 20 root secondary # 设置VLAN 20的备用根桥
    

链路聚合

  • 作用: 多根物理接口的线,在逻辑上合并在一起

  • 两种类型

    • 静态链路聚合: 不使用协议
      • 应用场景: 老旧的设备,不支持LACP协议,或者该协议在两台设备之间协商失败
    • 动态链路聚合: 使用协议
      • 应用场景: 新设备
  • 注意事项: 当把物理接口捆绑成链路聚合接口以后,配置vlan啥的,都要基于链路聚合接口去配置,而不再配置于物理接口

  • Etherchannel: 以太通道(思科的链路聚合),思科手工开启链路聚合实例如下

Switch(config)#interface range f0/1-2 # 批量进入物理接口
Switch(config-if-range)#shutdown # 先关闭
Switch(config-if-range)#channel-group 1 mode on # 手动开启链路聚合并指明属于 group 1
Switch(config-if-range)#no shutdown # 开启链路聚合端口


- 验证是否成功: Switch#show etherchannel summary 

Flags:  D - down        P - in port-channel
        I - stand-alone s - suspended
        H - Hot-standby (LACP only)
        R - Layer3      S - Layer2
        U - in use      f - failed to allocate aggregator
        u - unsuitable for bundling
        w - waiting to be aggregated
        d - default port


Number of channel-groups in use: 1
Number of aggregators:           1

Group  Port-channel  Protocol    Ports
------+-------------+-----------+----------------------------------------------

1      Po1(SU)           -      Fa0/1(P) Fa0/2(P) 


- 交换机连接PC并配置边缘端口,查看开销并检验效果: 
	- Switch(config-if)#spanning-tree portfast edge
	- Switch#show spanning-tree
	

VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    32769
             Address     0005.5EDE.9B3A
             This bridge is the root
             Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1)
             Address     0005.5EDE.9B3A
             Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time  20

Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Po1              Desg FWD 9         128.27   Shr
Fa0/3            Desg FWD 19        128.3    P2p

- 可以看出, Po1的Cost值只有9,而连接终端的Fa0/3 Cost值为19(开销越小,速度越快)
  • 动态协议有两种

    • LACP协议: 厂商之间公有的,都可以用

      • Active: 主动发动LACP报文(交换机A端口)
      • passive: 被动接收LACP报文(交换机B端口)
      - 一方: Active + 另一方 Active = success
      - 一方: Active + 另一方 passive = success
      - 一方: passive + 另一方 passive = fail
      
    • PAGP协议: 思科私有的

      • desirable: 主动发动PAGP报文(交换机A端口)
      • auto: 被动接收PAGP报文(交换机B端口)
  • LACP协议实例

- 把上面的实例修改一下
	- 交换机A: Switch(config-if-range)#channel-group 1 mode active
	- 交换机B: Switch(config-if-range)#channel-group 1 mode passive
	
- 验证

Switch#show etherchannel summary 
Flags:  D - down        P - in port-channel
        I - stand-alone s - suspended
        H - Hot-standby (LACP only)
        R - Layer3      S - Layer2
        U - in use      f - failed to allocate aggregator
        u - unsuitable for bundling
        w - waiting to be aggregated
        d - default port


Number of channel-groups in use: 1
Number of aggregators:           1

Group  Port-channel  Protocol    Ports
------+-------------+-----------+----------------------------------------------

1      Po1(SU)           LACP   Fa0/1(P) Fa0/2(P)  # 协议为LACP
Switch#
  • PAGP协议实例和LACP协议类似,不再作演示

Hybrid接口

  • 华为独有,思科木有
  • 作用: 就是杂~种,通俗理解就是混电车(既可以加汽油也可以充电)
    • 具有AcesssTrunk的特点
    • 既能连终端也能连交换机
  • 注意事项: 华为端口的默认模式,就是Hybrid
    • 实战中的应用不足5%,很少用到~~~
    • 二层交换机加持下,不同vlan之间可以互通...(虽然违背常理,它可以自由控制vlan之间是否相通)
    • vlan的本质就是vlan标签加加减减

堆叠

  • 概念: 每个厂商的叫法不一样

    • 华为: Stack
    • 思科: VSS
    • 华三: RF
  • 作用: 多台物理设备逻辑上变成一台设备

  • 注意事项: 区别与链路聚合

- 链路聚合: 两台交换机之间的多根连线,逻辑上变成`一根粗的线`
- 堆叠: 两台交换机,逻辑上变成一台交换机

- "链路聚合"+"堆叠",网速大幅度提升~~~
  • 好处: 显而易见,方便网管管理,原来需要配置两台设备,现在只需配置一台设备即可

    • 天然无环,原来被生成树堵塞的接口,也可以利用起来,提高网络传输速率
    • 网络结构会变得非常简单
  • 缺点: 除了,其他都是优点(公司比较有实力,建议搞成这种)

  • 注意事项

 - 只能在`相同层`上面做`堆叠`
	- 接入层交换机之间做`堆叠`
	- 汇聚层交换机之间做`堆叠`(用得多)
	- 核心层交换机之间做`堆叠`

- 近距离接线
	- 两台交换机之间最少连接两根线
		- 如果只连一根,万一挂了,又会分裂成两台设备,堆叠系统分崩离析
		
- 远距离接线
	- 通过光交箱跳线实现
	
- 华为和思科的模拟器,都无法做"堆叠"效果

路由器

  • 作用: 终端跨网段通讯的桥梁
- 通俗理解
	- 交换机: 快递员(工作在二层[数据链路层])
		-  同网段的数据转发
	- 路由器: 物流司机,把货物从一个城市运送到另一个城市(工作在三层[网络层])
		- 不同网段的数据转发
		- 每一个接口,都是一个网段
  • 主要功能有两个
- 决定数据包从哪个端口转发出去
- 决定数据包走哪个路由线路
  • 直连路由
- 路由接口设置IP地址和子网掩码
- 终端设置IP地址和子网掩码和网关
- 测试: 终端在不同网段之间实现互通
  • 静态路由(手工路由,由网管手动书写)

- 三个终端之间实现网段互通

	- route0路由器,只需写一条路由即可
		- Router(config)#ip route 192.168.3.0 255.255.255.0 192.168.4.3
		
	
	- route1路由器,需写两条路由
		- 一条通往1网段,另一条通往2网段
			- Router(config)#ip route 192.168.1.0 255.255.255.0 192.168.4.2
			- Router(config)#ip route 192.168.2.0 255.255.255.0 192.168.4.2
			

动态路由

  • 定义: 路由器之间通过协议互相学习对方的路由表,从而丰富自己的路由表,实现自动路由
  • 路由协议有好几种
- Rip: 很老的协议,有两个版本
	- rip1(几乎没人用了)
	- rip2(多数)
- OSPF: 企业用得比较多
  • 配置rip2实例,关键配置如下
- router rip
- version 2
- network 192.168.1.0 # 配置路由器的直连网段
- network 192.168.2.0
......
Router#show ip route

Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is not set

# R就表示基于RIP协议
C    192.168.1.0/24 is directly connected, Ethernet0/1/0
R    192.168.2.0/24 [120/1] via 192.168.30.3, 00:00:06, FastEthernet0/0
R    192.168.3.0/24 [120/2] via 192.168.30.3, 00:00:06, FastEthernet0/0
C    192.168.10.0/24 is directly connected, FastEthernet0/1
R    192.168.20.0/24 [120/1] via 192.168.30.3, 00:00:06, FastEthernet0/0
C    192.168.30.0/24 is directly connected, FastEthernet0/0

  • 知识点: 跟踪IP地址所经过的下一跳命令(很常用)
- C:\Users\wcw>tracert 192.168.151.232

通过最多 30 个跃点跟踪
到 fileserver.aclas.com [192.168.151.232] 的路由:

  1    <1 毫秒   <1 毫秒   <1 毫秒 192.168.11.254
  2    <1 毫秒   <1 毫秒   <1 毫秒 fileserver.xxx.com [192.168.151.232]
  • 度量值: 讲白了就是开销值(cost),越小越好,在路由表中有体现
- 注意事项
	-  使用不同的路由协议,"度量值"的表示方法是不一样的
		- 比如,在"Rip协议"里称为"跳数",对于路由器来说,显然"跳数"越小越好,意味着开销越小,路由通过最短路径实现数据包的收发
		- 在"OSPF"协议里,称为"带宽"
		- 在"静态路由"里,称为"固定值"
- 多个路由器之间组建的网络,若一条路由是由"静态路由"编写,另外一条路由是比如基于"Rip协议",此时是没法用"度量值"去比较的,而是使用"优先级"(华为的叫法)来进行选择,所谓"优先级"指的是: 哪个协议比较高级...(注意:思科称为"管理距离")
	- 比如一条路由是"高铁",另一条路由是"飞机"
	- 优先级越小越优秀
		- 比如静态路由: 60 # 优先
		- Rip协议: 120
		
	- 同样的路径,华为的路由器会认为"动态路由协议"优先,而思科会认为"静态路由"优先
		
	- 注意事项: 路由表只会记录最优的路径,其他路径不会被写入路由表
Router#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is not set

C    192.168.1.0/24 is directly connected, FastEthernet0/0
C    192.168.2.0/24 is directly connected, FastEthernet0/1
S    192.168.3.0/24 [1/0] via 192.168.1.3 # 这里的[1/0]中的1就是度量距离

OSPF动态路由协议(Open Shortest Path First)

  • 特点: 路由线路默认走最短路线
    • 意义: 不会走环路,意味着这种路线不会有环路(天生无环)
    • OSPF理论很烦~实操很简单~
  • 有两个版本
    • V2: 适用于IPv4 # Na阶段,掌握V2版本即可
    • V3: 适用于IPv6
  • Rip协议的比较
- Rip协议基于"跳数"来决定开销,有一个天生的缺陷
	- 比如R1去R5,上面一路是百兆的,两跳路由;下面一路是万兆的,三跳路由,Rip只看跳数,所以走上面着一路
- OSPF基于"接口速率"(或者叫"带宽")来决定开销
  • 相关概念
- Root-ID: 即路由器的名称,必须唯一,可以自动生成,也可以手动配置(推荐)
- 自制系统: 运行同种协议的一组路由器构成的网络系统
	- 比如一组路由器均运行OSPF协议
	- 比如一组路由器均运行Rip协议
	
- 邻居(Neighbor): 就是两台相邻的直连路由之间,互称对方为"邻居"
- 邻接(Adjacency): 就是兄弟关系,比邻居还亲
	- 成为"邻接"的前提,必须先成为"邻居"(好比女友变成老婆)
	- 但是,"邻居"就不一定能成为"邻接"(好比是朋友,一定会变成兄弟吗?)
- area区域: 逻辑上将OSPF路由器划分成一个"组"的概念
	- "默认区域": 称为"区域0"(骨干区域,即OSPF的核心区域)
	- 只有相同区域的OSPF路由器才可以建立邻居,区域的概念是基于接口
	- NA阶段只需了解"单区域配置"
	
- 宣告:有两个作用
	- 将本路由器直连网段参与到OSPF的协议计算
	- 该接口发送的OSPF的hello报文尝试发现,建立和维护OSPF的邻居关系
  • OSPF协议配置命令
- 示例配置: 实验图以这种配置方式来模仿
	- router ospf 110 # 创建协议进程号110
	- router-id 11.11.11.11 # 为router-id命名(比如路由器为Router1,就命名为11.11.11.11)
	- network 13.1.1.1 0.0.0.0 area 0 # 宣告直连网段(自己接口的地址 + 0.0.0.0 + 区域)
	- network 12.1.1.1 0.0.0.0 area 0

routers

- 以Router2为例,配置如下

Router(config-if)#router ospf 110
Router(config-router)#router-id 22.22.22.22
Router(config-router)#network 192.168.4.2 0.0.0.0 area 0
Router(config-router)#network 192.168.2.2 0.0.0.0 area 0
# 这里发现两个邻居,状态为FULL表示双方之间已经是"邻接"关系,无比亲密
00:11:28: %OSPF-5-ADJCHG: Process 110, Nbr 11.11.11.11 on FastEthernet0/0 from LOADING to FULL, Loading Done

Router(config-router)#
00:11:32: %OSPF-5-ADJCHG: Process 110, Nbr 10.10.10.10 on FastEthernet0/1 from LOADING to FULL, Loading Done

Router(config-router)#network 192.168.1.1 0.0.0.0 area 0

默认路由或称为缺省路由

  • 目标网络子网掩码均为0.0.0.0
- 正常情况下,当路由器收到数据包时,会对照自己的路由表来决定往哪个端口转发
	- 若在路由表中找不到下一跳,就会丢弃该数据包
	- 还有一种情况,就是不丢弃该数据包,而是往"默认路由"转发
	
- "默认路由"的产生,可以是手动写(静态路由),也可以动态生成
  • 基于路由优先级来划分,还可以有等价路由浮动静态路由

    • 等价路由:同一个路由器中,两个接口到达目的地的优先级相同
    • 浮动静态路由: :同一个路由器中,通过修改"优先级"来优先选择路由接口
      • 所以此时这两个路由接口中,优先级强的就是主路由
      • 优先级弱的,就是辅路由
      • 由于路由表只记录最优的路径,所以"优先级弱"的路由此时会消失
  • 实战应用

-  对于需要访问外部网络(如Internet)或另一个大型自治网络(如公司总部网络)的分支机构网络,配置一条指向边界路由器(作为默认网关)的默认路由是最简单有效的方式

- 核心路由器/边界防火墙
  - 有一条指向ISP路由器的默认路由 (0.0.0.0/0 -> ISP_Router_IP`)。
  - 所有去往互联网的流量都通过这条路由发送出去。
  ip route 0.0.0.0 0.0.0.0 203.0.113.1  (静态默认路由指向下一跳203.0.113.1)
  ip route 0.0.0.0 0.0.0.0 Serial0/0/0   (静态默认路由指向出接口Serial0/0/0)

环回接口(loop back)

  • 相比于物理接口,环回接口是一种虚拟接口,除此之外,它和物理接口没有任何区别
  • 物理接口具有的功能,环回接口也有,比如设置IP地址
  • 作用: 作各种测试,把它当成一台虚拟终端(虚拟机),它的稳定性比物理接口
- 物理接口之间,如果连线损坏了,那么就无法通讯,而"环回接口"没有这种问题
- 路由器B配置如下:
# 创建一个环回接口并设置IP地址
- interface loopback0
- ip address 3.3.3.3 255.255.255.255 # 主机路由,代表网络中的一个node节点
- 路由器A配置如下:
- ip route-static 0.0.0.0 0.0.0.0 路由器B接口地址 # 默认优先级60(优先级越小,优先级别越高)
- ip route-static 0.0.0.0 0.0.0.0 路由器B接口另一个地址 preference 61 # 修改优先级
  • 使用OSPF动态路由协议,学习和环回接口通讯的命令
- ospf 10
- default-route-advertise always # 强制向OSPF邻居产生/下放路由
  • 注意事项
- 0.0.0.0 这个地址一般会部署在边界设备,比如路由器(一端连内网,一端连外网),把内网的数据包往外网转发,就设置0.0.0.0这个地址
- 一般情况下,会把0.0.0.0这个地址下放给汇聚交换机(使用动态路由协议,若使用静态路由,则需要手动书写)
  • 思科模拟实验
- 三个路由器各自设接口的IP地址
- R2路由器新建"环回接口"并设置IP地址
	
    - Router(config)#interface loopback 0
    - Router(config-if)#ip address 4.4.4.4 255.255.255.255
    - Router#show ip interface brief
    
    Interface              IP-Address      OK? Method Status                Protocol 
    FastEthernet0/0        192.168.3.2     YES manual up                    up 
    FastEthernet0/1        192.168.1.2     YES manual up                    up 
    Loopback0              4.4.4.4         YES manual up                    up 
    Vlan1                  unassigned      YES unset  administratively down down
- 静态路由配置示例
	- Router1
		- Router(config)#ip route 0.0.0.0 0.0.0.0 192.168.3.2
            Router#ping 4.4.4.4
            Success rate is 80 percent (4/5), round-trip min/avg/max = 0/0/0 ms
- 动态路由配置示例
	- Router1
		- Router(config)#router ospf 110
            Router(config-router)#router-id 1.1.1.1
            Router(config-router)#network 192.168.3.2 0.0.0.0 area 0
            Router(config-router)#network 192.168.2.2 0.0.0.0 area 0
            
    - Router0 
    	- Router(config)#router ospf 110
            Router(config-router)#router-id 10.10.10.10
            Router(config-router)#network 192.168.2.1 0.0.0.0 area 0
            Router(config-router)#network 192.168.1.2 0.0.0.0 area 0
	- Router2
		- Router(config)#route ospf 110
            Router(config-router)#router-id 2.2.2.2
            Router(config-router)#network 192.168.3.1 0.0.0.0 area 0
            Router(config-router)#network 192.168.1.1 0.0.0.0 area 0
            
    - 此时的效果: 三个路由器之间,可以实现互联互通,但是对于"环回接口4.4.4.4"来说,其他路由器是ping不通的,因为Router2 还没有下放路由,在Router2上面配置
    	- Router(config)#router ospf 110
            Router(config-router)#default-information  originate always # 强制向邻居产生默认路由(模拟器上面,这条命令一直失败)

环回接口

在思科路由器中,环回接口(Loopback Interface) 是一个逻辑的、虚拟的软件接口,它不像物理接口(如GigabitEthernet0/0)那样与硬件端口绑定。一旦创建,只要路由器在运行,它就始终处于 “up/up”状态(除非被管理员手动关闭)。


主要特点:

  1. 虚拟性:不由硬件定义,通过IOS命令创建(例如 interface loopback 0)。
  2. 状态稳定:不受物理链路状态、模块插拔或线路故障的影响。只要路由器正常工作,环回接口就始终可用。
  3. 可配置IP地址:可以像物理接口一样为其分配IP地址,通常使用32位掩码(/32)的主机路由。

主要作用和用途:

1. 路由协议标识与稳定性

这是环回接口最核心的用途。在运行OSPF、BGP、EIGRP等路由协议时:

  • 路由器ID:许多协议(如OSPF和BGP)需要一个路由器ID(Router-ID) 来唯一标识自己。路由器ID通常选择所有接口中最高的IP地址。使用环回接口地址作为Router-ID更为稳定,因为它不会像物理接口那样因链路故障而失效。即使某个物理接口宕机,路由邻居关系也不会因为Router-ID的改变而重新收敛。
  • 建立邻居关系:在BGP中,通常将环回接口地址配置为更新源update-source loopback 0),并使用该地址建立对等体关系。这样,只要到环回地址的路由可达(通过任何物理路径),BGP会话就能保持稳定,不受某条特定物理路径中断的影响。

2. 网络设备管理

  • 将环回接口的IP地址作为设备的管理IP地址
  • 优点:管理员可以通过Telnet、SSH、SNMP、Syslog等方式,始终使用这一个稳定的IP地址来管理路由器,而无需关心当前是通过哪个物理接口连接到的设备。
  • 在管理多个设备时,为环回地址规划一个专门的、易于记忆的IP地址段是非常好的实践。

3. 测试与诊断

  • 环回接口常用于网络测试。例如,可以配置一个指向环回接口的静态路由,用于测试路由重分发。
  • 在实验室环境中,模拟一个“永远在线”的网络,用于验证路由协议的发布和学习。
  • 使用 pingtelnet 到本地的环回地址(如 127.0.0.1 或配置的环回接口IP),可以快速测试设备的IP协议栈是否正常工作。

4. 终结服务

  • 一些服务(如GRE over IPsec VPN的隧道终点、MPLS LDP的传输地址等)需要绑定在一个稳定的接口IP上。使用环回接口地址可以确保服务不会因物理接口故障而中断。

5. 模拟网络

  • 在路由器上创建多个环回接口,并为它们分配不同网段的IP地址,可以用于模拟直连网络。这在实验室中测试路由汇总、路由过滤、路由策略时非常有用,无需连接实际的物理网络。

配置示例

! 创建环回接口0
Router(config)# interface loopback 0
! 为其分配IP地址和32位掩码
Router(config-if)# ip address 10.0.0.1 255.255.255.255
! 环回接口无需“no shutdown”,但输入该命令也无妨
Router(config-if)# no shutdown
! 在OSPF中通告环回接口所在的网络(通常会以32位主机路由形式通告)
Router(config-if)# exit
Router(config)# router ospf 1
Router(config-router)# network 10.0.0.1 0.0.0.0 area 0

总结

特性 物理接口 环回接口
本质 硬件相关 逻辑虚拟
状态 依赖链路 始终 up/up(除非关闭)
主要用途 数据传输 管理、标识、增强稳定性
IP地址掩码 通常为网络掩码 通常为 /32(主机路由)

简单来说,环回接口是路由器的一个“虚拟心脏”,为设备提供了一个永久的、稳定的逻辑锚点。它在网络管理、高可用性设计和服务可靠性方面扮演着不可或缺的角色,是专业网络架构中的一项基础且重要的技术。

最长匹配原则

  • 作用: 当多条路由都可以到达目的地时,路由器会选择掩码最长的那个路由来到达目的地

Vlan路由的两种方式

  • 使用路由器的物理接口并设置网关地址,来实现不同vlan之间的通讯
- 缺点很明显,Vlan一旦多了,路由器也要有多个物理接口来对应,成本大,不符合实际

物理接口

  • 第二种方式: 使用逻辑接口,来实现不同vlan之间的通讯,也称为单臂路由
- 一条胳膊,既承担vlan8的通讯,也承担vlan9的通讯
	- 通俗理解: 一个胳膊提着两个塑料袋
    - 缺点: 
      - 胳膊鸭梨大,当多vlan的环境下,网络流量很大,容易堵塞
      - 胳膊"断掉"的时候,所有vlan之间的通讯也断了...
	
- 关键实现方式
	- 交换机关键配置: 二层交换机的上联,必须设置为Trunk,允许多个vlan通过
	- 路由器关键配置: 接口(与交换机直连的物理接口)开辟出两个"虚拟子接口"
		- 一个子接口接收vlan8
		- 另外一个子接口接收vlan9
		- 通俗理解: 把一个路由器的物理接口,拆分成多个子接口来用(大大节省路由接口成本)
			- 一台物理机,可以创建多台虚拟机一个道理~~~
  • 流程图配置如下
- 二层交换机
	- 创建vlan 8 和 vlan 9
	- 连接终端的接口,设置Access模式并加入各自的vlan
	- 连接路由器的接口,设置为Trunk
	
- 路由器
	- 物理接口不设置IP地址(连接二层交换机的接口)
		- 开辟子接口,接收对应的vlan数据包,并设置网关地址
	- 注意事项: 物理接口必须 no shutdown,如果被关闭,子接口也会被关掉,导致无法生效
- 二层配置

	Switch(config)#vlan 8
    Switch(config-vlan)#vlan 9
    Switch(config-vlan)#exit
    
    Switch(config)#interface f0/3
    Switch(config-if)#switchport mode access 
    Switch(config-if)#switchport access vlan 8
    Switch(config-if)#exit
    
    Switch(config)#interface f0/4
    Switch(config-if)#switchport mode access 
    Switch(config-if)#switchport access vlan 9
    Switch(config-if)#exit
    
    Switch(config)#interface f0/1
    ### Switch(config-if)#switchport trunk encapsulation do
    Switch(config-if)#switchport mode trunk 
- 路由器配置
	Router(config)#interface f0/0.1 # 进入1号子接口
    Router(config-subif)#encapsulation dot1Q 8 # 接受vlan 8 数据帧
    Router(config-subif)#ip address 192.168.8.1 255.255.255.0
    Router(config-subif)#exit
    
    Router(config)#interface f0/0
    Router(config-if)#no shu
    Router(config-if)#no shutdown 
    
    Router(config)#interface f0/0.2 # 进入2号子接口
    Router(config-subif)#encapsulation dot1Q 9 # 接受vlan 9 数据帧
    Router(config-subif)#ip address 192.168.9.1 255.255.255.0
    Router(config-subif)#exit

子接口

三层交换机

  • 具有二层交换机所有的功能

  • 具有路由器的部分功能,允许不同的Vlan之间互通

  • 通俗理解: 诺基亚老人机的升级版,功能多,除了以外都是优点

  • 三层交换机路由层面的接口,是完全的虚拟接口,不依赖于物理接口

    • 区别于单臂路由子接口,依赖于物理接口
    • 华为称为Vlanif接口
    • 思科称为SVI接口(switch virtual interface,交换机虚拟接口)
  • 思科实验: 通过三层交换机实现vlan之间的互通

- 三层划分vlan 8,vlan 9,vlan 10
	- 进入每一个vlan接口,设置IP地址和子网,no shutdown
- 进入终端接口,配置成Access模式,并把该口加入对应的vlan口
- 开启路由功能
Switch(config)#vlan 8
Switch(config-vlan)#vlan 9
Switch(config-vlan)#vlan 10
Switch(config-vlan)#exit

Switch(config)#interface f0/1 # 其余接口依样画葫芦
Switch(config-if)#switchport mode access 
Switch(config-if)#switchport access vlan 8
Switch(config-if)#exit
......

Switch(config)#interface vlan 8 # 其余vlan依样画葫芦
Switch(config-if)#ip address 192.168.8.1 255.255.255.0
Switch(config-if)#no shutdown 
Switch(config-if)#exit
......

Switch(config)#ip routing # 启用路由功能
Switch#show ip interface brief 
Interface              IP-Address      OK? Method Status                Protocol 
FastEthernet0/1        unassigned      YES unset  up                    up 
FastEthernet0/2        unassigned      YES unset  up                    up 
FastEthernet0/3        unassigned      YES unset  up                    up 
FastEthernet0/4        unassigned      YES unset  up                    up 
FastEthernet0/5        unassigned      YES unset  down                  down 
......
Vlan1                  unassigned      YES unset  administratively down down 
Vlan8                  192.168.8.1     YES manual up                    up 
Vlan9                  192.168.9.1     YES manual up                    up 
Vlan10                 192.168.10.1    YES manual up                    up

vlan

VRRP协议(Virtual Router Redundancy Protocol)网关冗余协议

  • 作用: 解决局域网中默认网关的单点故障问题
  • 组成方式: 它通过将多个物理路由器组合成一个虚拟路由器,为终端设备提供不间断的网关服务
  • 核心原理
- 虚拟路由器(Virtual Router)
	- 多个物理路由器(VRRP路由器)组成一个逻辑组Master定期发送Advertisement报文(组播地址 224.0.0.18,协议号112)宣告存活,共享一个虚拟IP地址(VIP) 和 虚拟MAC地址
	- 终端设备将默认网关设置为该VIP,而非某台物理路由器的真实IP
	
- 角色选举
	- Master 路由器:组内唯一活跃的路由器,优先级(Priority)决定角色(默认值=100,范围1-254)负责转发发送到VIP的数据包
	- Backup 路由器:处于待命状态,监听Master的存活状态。当Master故障时,Backup接替其工作
	- 选举机制
		- 优先级(Priority)决定角色(默认值=100,范围1-254)
		- 优先级最高者成为Master;若优先级相同,则真实IP地址最大者胜出

- 状态维持
	- Master定期发送Advertisement报文(组播地址 224.0.0.18,协议号112)宣告存活\
	- Backup若在Master Down Interval(默认3倍Advertisement间隔,约3秒)内未收到通告,则发起新选举
	
- 故障切换
	- 当Master故障时,优先级最高的Backup自动成为新Master,接替转发流量
	- 切换过程对终端透明(ARP表无需更新,VIP和虚拟MAC不变)
  • 以两台思科路由器(RouterA 和 RouterB)为例(模拟器不支持),配置VRRP组1,虚拟IP为 192.168.1.254
# 在连接局域网的接口启用VRRP
RouterA(config)# interface GigabitEthernet0/0
RouterA(config-if)# ip address 192.168.1.1 255.255.255.0
RouterA(config-if)# vrrp 1 ip 192.168.1.254    # 加入VRRP组1,设置VIP

RouterB(config)# interface GigabitEthernet0/0
RouterB(config-if)# ip address 192.168.1.2 255.255.255.0
RouterB(config-if)# vrrp 1 ip 192.168.1.254


RouterA(config-if)# vrrp 1 priority 150 # 设置RouterA为高优先级(默认100),并启用抢占
RouterA(config-if)# vrrp 1 preempt     # 故障恢复后自动夺回Master角色
									# RouterB保持默认优先级(100),无需额外配置
# 验证命令						
RouterA# show vrrp brief 
Interface    Grp  Pri Time  Own Pre State   Master addr     Virtual IP
Gi0/0        1    150 3609      Y  Master  192.168.1.1     192.168.1.254

RouterB# show vrrp brief 
Interface    Grp  Pri Time  Own Pre State   Master addr     Virtual IP
Gi0/0        1    100 3609      Y  Backup  192.168.1.1     192.168.1.254
  • 假设RouterARouterB各自接一台终端,那么终端可以配置如下
- 终端A: 192.168.1.10 255.255.255.0 192.168.1.254
- 终端B: 192.168.1.20 255.255.255.0 192.168.1.254
  • 小结
- 所有电脑只需设置 同一子网的IP + 相同的子网掩码 + VRRP虚拟IP作为网关
- VRRP的精华在于——终端无需感知物理设备切换,虚拟IP和虚拟MAC保障了高可用性

ACL(访问控制列表)

  • 作用: NA阶段掌握两个作用

    • 流量过滤(控制谁谁可否访问)
    • 做NAT地址转换
  • 通俗理解: 就是一个流量漏斗

  • 种类: 有两种ACL

    • 标准ACL: 只能匹配源目标的IP地址
    • 拓展ACL: 匹配五元素
  • 执行规则: 从上往下,默认就是拒绝

  • 思科Acl访问控制实验

# 创建IP列表1,并拒绝来自两个IP地址的流量
- Router(config)#ip access-list standard 1
- Router(config-std-nacl)#deny host 192.168.1.100
- Router(config-std-nacl)#deny host 192.168.1.101
- Router(config-std-nacl)#9999 permit any # 这条非常重要,放行剩余的流量
Router(config-std-nacl)#exit

# 进入路由接口,在接口的入口处,引入列表1的流量规则
Router(config)#interface f0/0
Router(config-if)#ip access-group 1 in
Router(config-if)#exit

# 查看ACL列表配置详情
Router#show ip access-lists 
Standard IP access list 1
    10 deny host 192.168.1.100 (8 match(es)) # match表示已经匹配到的数据包,这个数值会一直变化
    20 deny host 192.168.1.101

ip-list

  • 注意事项
- 此时"1.100"和"1.101"的终端流量均不能通过接口的入口
- 即使把IP地址修改为其他地址,也不能通过,因为默认拒绝所有!(如果放行剩余流量,其他IP地址就可以过.)
	- 这个默认规则,其实就是系统最底层的规则,比如,编号99999,拒绝所有的流量(看不见,但是确确实实存在)
  • 拓展ACL实例: 不允许源地址为192.168.1.101和目标IP192.168.2.100通讯
# 声明拓展ACL并写入指令
Router(config)#ip access-list extended 100
Router(config-ext-nacl)#deny ip host 192.168.1.101 host 192.168.2.100
Router(config-ext-nacl)#9999 permit ip any any
Router(config-ext-nacl)#exit


# 物理接口的入口处运用该
Router(config)#interface f0/0
Router(config-if)#ip access-group 100 in
Router(config-if)#exit
  • ACL需求: 不允许192.168.1.0/24的所有奇数流量通过
- ip access-list standard 2
- deny 192.168.1.1 0.0.0.254 # 关键配置
- 999 permit any
- interface ...
- ip access-group 2 in

Acl

  • 注意事项
- ACL 只能管控"转发"的流量,比如终端A的数据包发给终端B,要经过路由器转发,这种场景ACL就可以管控
	- 以路由器为目的的流量(Ingress to Router):例如外部设备访问路由器的管理IP(ACL入方向可过滤)
- 如果是路由器自己发出的流量,ACL是没有办法进行管控的,比如路由器和光猫之间的流量通讯
  • ACL应用之远程连接: 只允许指定IP地址远程过来,其他一律拒绝
- 普通配置远程命令如下

Router(config)#line vty 0 4 # 表示同时配置 5 个虚拟终端会话(编号 0 到 4),允许最多 5 个用户通过 Telnet 远程登录路由器
Router(config-line)#password 123456
Router(config-line)#login # 启用密码验证
Router(config-line)#transport input telnet # 指定远程连接协议
Router(config-line)#exit
Router(config)#enable password 123456 # 设置进入特权模式(enable)的密码

- 效果: clientIP3 和 clientIP4 都可以远程 telnetServer

- 需求: 只允许指定IP地址远程过来(比如192.168.1.3),其他一律拒绝

# 声明规则
telnetServer(config)#ip access-list standard 1
telnetServer(config-std-nacl)#permit 192.168.1.3 0.0.0.0 # 0.0.0.0:通配符掩码(wildcard mask),表示精确匹配该IP
# 在虚拟接口上面应用规则
telnetServer(config)#line vty 0 4
telnetServer(config-line)#access-class 1 in

- 效果: 1.3可以远程,但是1.4无法远程



telnet

  • 注意事项:telnet协议的配置简单,SSH协议的配置相对复杂(配置好也可以"一劳永逸")

NAT网络地址转换

  • 作用: 解决IP4地址不够用的问题
    • 内网数据包转公网,需要Nat
    • 公网数据包转内网,需要Nat
  • 注意事项
- 内网多终端与外网之间的数据包通讯,通过"端口"来区分不同的终端

端口转发(Port Forwarding)和NAT(网络地址转换,Network Address Translation)不是一回事,但两者密切相关——端口转发本质上是NAT的一种“特殊应用”,依赖NAT的底层机制实现。

一、先明确:NAT是什么?

NAT是路由器的核心功能之一,核心作用是解决“公网IP数量不足”的问题,让多个内网设备(用私有IP)通过一个公网IP访问互联网。

  • 内网设备的IP是私有IP(如192.168.1.x),仅在内部有效,无法直接与外网通信。
  • 路由器有一个公网IP(如203.0.113.5),是内网设备访问外网的“统一身份”。

NAT的工作逻辑
当内网设备(如192.168.1.100)访问外网时,路由器会把数据包的“源IP”从私有IP替换成公网IP,同时记录这个“替换关系”;当外网返回数据时,路由器再根据记录把“目标IP”从公网IP换回对应的私有IP,确保数据正确送达。

简单说,NAT是“内网→外网”方向的IP转换工具,默认只允许内网主动访问外网,不允许外网主动访问内网(这是一种安全隔离)。

二、端口转发:NAT的“反向特例”

端口转发是在NAT基础上,人为设置的“外网→内网”方向的规则,目的是让外网设备能主动访问内网特定设备的服务。

它的本质是:在NAT的转换规则中,额外添加一条“外网请求→内网设备”的映射
例如,当外网设备访问路由器公网IP的80端口时,路由器会根据端口转发规则,把请求转发到内网192.168.1.100的80端口(如Web服务器)。

三、核心区别:方向与主动性

对比维度 NAT(基础功能) 端口转发(NAT的特殊应用)
默认方向 主要处理“内网→外网”的通信(内网主动发起) 专门处理“外网→内网”的通信(外网主动发起)
触发方式 自动触发:内网设备访问外网时,NAT自动转换IP 手动配置:需用户在路由器上手动设置转发规则
作用范围 对所有内网设备的外网访问生效(通用转换) 仅对规则中指定的端口和内网设备生效(精准映射)
核心目的 解决公网IP不足,实现多设备共享一个公网IP 打破默认隔离,让外网能访问内网特定服务

四、举个例子:直观理解关系

假设你家路由器公网IP是203.0.113.5,内网有两台设备:

  • 电脑A(192.168.1.100):搭建了Web服务器(端口80,需外网访问)。

  • 手机B(192.168.1.101):仅用来看视频、刷网页。

  • NAT的作用
    手机B刷网页时,NAT会自动把手机的私有IP(192.168.1.101)换成公网IP(203.0.113.5),让外网服务器知道数据该返回给哪个“公网身份”;当数据返回时,NAT再把公网IP换回192.168.1.101,确保手机能收到。

  • 端口转发的作用
    你在路由器上设置“公网80端口→内网192.168.1.100的80端口”的规则后,当外网朋友访问203.0.113.5:80时,路由器会通过NAT的机制,把请求转发到电脑A的Web服务器(这是NAT默认不允许的“反向操作”,需要手动规则支持)。

总结

  • NAT是基础机制:负责内网与外网之间的IP转换,默认只支持内网主动访问外网,是所有家用路由器的必备功能。
  • 端口转发是NAT的“定制化规则”:专门用于允许外网主动访问内网特定服务,必须手动配置,且依赖NAT的底层转换能力。

简单说:NAT是“高速公路”,端口转发是这条公路上的“定向路标”——路标(端口转发)必须建立在公路(NAT)之上,才能引导车流(数据)到达指定目的地。

- Nat默认的行为,只能是内网的设备主动访问外网的设备,而外网的设备是无法主动访问内网设备的,除非在路由器上面指定端口转发
- NAT 的核心设计逻辑是 **“单向通行”**:默认情况下,只有内网设备主动发起的对外网的请求能被允许(比如你用手机浏览网页、电脑登录游戏),此时路由器会通过 NAT 记录 “内网 IP + 端口” 与 “公网 IP + 端口” 的对应关系,确保外网的响应能正确返回给内网设备。

- 而外网设备主动向内网设备发起的请求(比如别人想访问你内网的服务器),会被路由器直接拦截—— 因为 NAT 没有对应的 “反向映射规则”,不知道该把请求转发给内网哪个设备。

- 只有通过手动配置端口转发,提前在路由器上定义 “外网 IP + 端口” 与 “内网 IP + 端口” 的对应关系,才能打破这种单向限制,让外网设备的主动请求被正确转发到内网目标设备。

- 这种设计本质上是一种 “天然防火墙”,通过限制外网主动访问,提升了内网设备的安全性。
  • Nat思科实验
- 重点配置Router0

# 所有的流量都指向运营商的IP地址,由运营商来作后续的处理
- ip route 0.0.0.0 0.0.0.0 202.100.1.2

# 声明inside接口和outside接口
- Router(config)#interface f0/1
  Router(config-if)#ip nat inside 
- Router(config)#interface f0/0
  Router(config-if)#ip nat outside将 ACL 1 匹配的内网设备(192.168.1.0/24 网段)的源 IP 地址,转换为路由器 f0/0 接口的公网 IP 地址,并启用 “过载”(即 PAT)
  
  
# 放行1网段的所有流量
- Router(config)#ip access-list standard 1
  Router(config-std-nacl)#permit 192.168.1.0 0.0.0.255
  
# 将 ACL 1 匹配的内网设备(192.168.1.0/24 网段)的源 IP 地址,转换为路由器 f0/0 接口的公网 IP 地址,并启用 “过载”(即 PAT)
- Router(config)#ip nat inside source list 1 interface f0/0 overload 
- 拆解参数:
	- list 1:指定使用编号为 1 的 ACL 来匹配需要转换的内网设备(即步骤 2 中允许的 192.168.1.0/24 网段)
	- interface f0/0:指定 NAT 转换后的 “公网 IP 来源” 是路由器的 f0/0 接口(通常这个接口连接外网,配置了公网 IP)
	- overload:启用端口地址转换(PAT),允许多个内网设备共享同一个公网 IP(通过不同的端口号区分)。这是家庭 / 企业网络中最常用的 NAT 模式,解决了公网 IP 不足的问题
  • 小结
- 当 192.168.1.0/24 网段的内网设备(如电脑、手机)访问外网时,路由器会自动将它们的私有 IP 地址(如 192.168.1.100)转换为 f0/0 接口的公网 IP 地址,同时通过端口号区分不同设备的连接,让多个内网设备可以共享一个公网 IP 上网。
- 这就是路由器 “多设备共享一个宽带账号上网” 的核心配置逻辑。

思科实验

  • Nat主要解决数据包从的问题
- 有些时候,我们需要解决数据包从"外"向"内"的问题,这种称为"端口映射"
	- 外网IP和内网IP之间的端口映射关系,在"路由器"上面配置
	
- Nat的两个好处
	- 解决公网IP不够用的问题
	- 安全性好,隐藏私网服务器的IP地址
- 模拟PC配置

Router(config)#no ip routing
Router(config)#ip default-gateway 192.168.1.1

- 配置账户名和密码

Router(config)#line vty 0 4
Router(config-line)#password 123456
Router(config-line)#login
Router(config-line)#transport input telnet 
Router(config-line)#exit
Router(config)#enable password 123456

- 内网测试

Router#telnet 192.168.1.101
Trying 192.168.1.101 ...Open
User Access Verification
Password: 
telnetServer>

- 中间商路由
Router(config-if)#ip nat inside 
Router(config-if)#exit
Router(config-if)#ip nat outside 
# 配置静态 NAT 转换,将内部地址转换为外部地址
Router(config)#ip nat inside source static tcp 192.168.1.101 23 202.100.1.1 2323

- 外网终端
Router#telnet 202.100.1.1 2323
Trying 202.100.1.1 ...Open
User Access Verification
Password: 
telnetServer>

Nat

VPN

  • 本质: 内网数据包嵌套在外网数据包
- 两个公网IP之间,是可以进行通讯的,收到数据包以后,路由器再进一步解包,发给自己私网的IP终端,从而实现通讯

- 通俗理解: 就是"走私",快递一袋面粉,但是面粉里面包裹着自己的私货!
  • vpn的两种方式
- site to site: 点对点,即上面的方式

- 远程访问: 笔记本电脑--->公网--->路由器B
  • 思科vpn模拟实验

网络拓扑设计

  • PC1 (192.168.1.10) -> 路由 A (Fa0/0:192.168.1.1)
  • 路由 A (Fa0/1:10.0.0.1) -> 路由 B (Fa0/0:10.0.0.2)
  • 路由 B (Fa0/1:20.0.0.1) -> 路由 C (Fa0/1:20.0.0.2)
  • 路由 C (Fa0/0:192.168.2.1) -> PC2 (192.168.2.10)
- 路由A配置

! 基本配置
enable
configure terminal
hostname RouterA
no ip domain-lookup

! 接口配置
interface FastEthernet0/0
 ip address 192.168.1.1 255.255.255.0
 no shutdown

interface FastEthernet0/1
 ip address 10.0.0.1 255.255.255.0
 no shutdown

! 静态路由
ip route 0.0.0.0 0.0.0.0 10.0.0.2
ip route 192.168.2.0 255.255.255.0 10.0.0.2

! IPsec VPN配置
! 定义感兴趣流量
access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255

! IKE阶段1配置
crypto isakmp policy 10
 encr aes
 authentication pre-share
 group 2
 lifetime 3600

crypto isakmp key vpnpassword address 20.0.0.2

! IKE阶段2配置
crypto ipsec transform-set VPN-SET esp-aes esp-sha-hmac

! 加密映射
crypto map VPN-MAP 10 ipsec-isakmp
 set peer 20.0.0.2
 set transform-set VPN-SET
 match address 101

! 应用加密映射到出口
interface FastEthernet0/1
 crypto map VPN-MAP

! 保存配置
end
write memory

- 路由B配置

! 基本配置
enable
configure terminal
hostname RouterB
no ip domain-lookup

! 接口配置
interface FastEthernet0/0
 ip address 10.0.0.2 255.255.255.0
 no shutdown

interface FastEthernet0/1
 ip address 20.0.0.1 255.255.255.0
 no shutdown

! 静态路由 - 仅转发数据包,不参与VPN
ip route 192.168.1.0 255.255.255.0 10.0.0.1
ip route 192.168.2.0 255.255.255.0 20.0.0.2

! 保存配置
end
write memory

- 路由C配置

! 基本配置
enable
configure terminal
hostname RouterC
no ip domain-lookup

! 接口配置
interface FastEthernet0/0
 ip address 192.168.2.1 255.255.255.0
 no shutdown

interface FastEthernet0/1
 ip address 20.0.0.2 255.255.255.0
 no shutdown

! 静态路由
ip route 0.0.0.0 0.0.0.0 20.0.0.1
ip route 192.168.1.0 255.255.255.0 20.0.0.1

! IPsec VPN配置
! 定义感兴趣流量
access-list 101 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255

! IKE阶段1配置
crypto isakmp policy 10
 encr aes
 authentication pre-share
 group 2
 lifetime 3600

crypto isakmp key vpnpassword address 10.0.0.1

! IKE阶段2配置
crypto ipsec transform-set VPN-SET esp-aes esp-sha-hmac

! 加密映射
crypto map VPN-MAP 10 ipsec-isakmp
 set peer 10.0.0.1
 set transform-set VPN-SET
 match address 101

! 应用加密映射到出口
interface FastEthernet0/1
 crypto map VPN-MAP

! 保存配置
end
write memory

vpn

posted @ 2025-05-15 17:06  清安宁  阅读(104)  评论(0)    收藏  举报