BGP中使用Lo接口后的问题

简介:
请努力,活下来,豁出去
 
BGP基本理伦:
由eBGP邻居学来的信息肯定会传给其他eBGP邻居。
由eBGP邻居学来的信息肯定会传给所有iBGP邻居。
由iBGP邻居学来的信息不会再传给另外的iBGP邻居。(reflector除外)
由iBGP邻居学来的信息:
(1)如果同步关了,会传给eBGP邻居
(2)如果同步开了,先查找自己的IGP。如果IGP里面有这个网络,就把这个网络传给eBGP;如果IGP里面没有这个网络,就不会传给eBGP邻居。
 
 
不过今天我的实验不是研究iBGP的同步问题,而是neighbor *.*.*.* update-source loopback 0 所带来的问题。
 
R1(S1/1)--(S1/0)R2(S1/1)--(S1/0)R3
R1、R2的as为64512,R3为64513
 
R1#show run
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
!
interface Loopback1
 ip address 172.16.0.1 255.255.255.0
!
interface Loopback2
 ip address 172.16.1.1 255.255.255.0
!
interface Loopback3
 ip address 172.16.2.1 255.255.255.0
!
interface Loopback4
 ip address 172.16.3.1 255.255.255.0
!
interface Serial1/1
 description DCE,BGP 64512,connected to R1's S1/0,ip 172.16.255.2/30
 ip address 172.16.255.1 255.255.255.252
 clock rate 9600
!
router bgp 64512
 no synchronization
 network 172.16.0.0 mask 255.255.255.0
 network 172.16.1.0 mask 255.255.255.0
 network 172.16.2.0 mask 255.255.255.0
 network 172.16.3.0 mask 255.255.255.0
 network 172.16.255.0 mask 255.255.255.252
 neighbor 2.2.2.2 remote-as 64512
 neighbor 2.2.2.2 update-source Loopback0
 no auto-summary
!
ip route 2.2.2.2 255.255.255.255 Serial1/1
 
/////
R2#show run
interface Loopback0
 ip address 2.2.2.2 255.255.255.255
!
interface Serial1/0
 description DTE,BGP 64512,connected to R1's S1/1,ip 172.16.255.1/30
 ip address 172.16.255.2 255.255.255.252
!
interface Serial1/1
 description description DCE,BGP 64512,connected to R3's S1/0,ip 10.1.255.2/30
 ip address 10.1.255.1 255.255.255.252
 clock rate 9600
!
router bgp 64512
 no synchronization
 network 10.1.255.0 mask 255.255.255.252
 network 172.16.255.0 mask 255.255.255.252
 neighbor 1.1.1.1 remote-as 64512
 neighbor 1.1.1.1 update-source Loopback0
 neighbor 3.3.3.3 remote-as 64513
 neighbor 3.3.3.3 ebgp-multihop 2
 neighbor 3.3.3.3 update-source Loopback0
 no auto-summary
!
ip route 1.1.1.1 255.255.255.255 Serial1/0
ip route 3.3.3.3 255.255.255.255 Serial1/1
 
/////
R3#show run
interface Loopback0
 ip address 3.3.3.3 255.255.255.255
!
interface Loopback1
 ip address 192.168.0.1 255.255.255.0
!
interface Loopback2
 ip address 192.168.1.1 255.255.255.0
!
interface Loopback3
 ip address 192.168.2.1 255.255.255.0
!
interface Loopback4
 ip address 192.168.3.1 255.255.255.0
!
interface Serial1/0
 description DTE,BGP 64513,connected to R2's S1/1,ip 10.1.255.1/30
 ip address 10.1.255.2 255.255.255.252
!
router bgp 64513
 no synchronization
 network 10.1.255.0 mask 255.255.255.252
 network 192.168.0.0
 network 192.168.1.0
 network 192.168.2.0
 network 192.168.3.0
 neighbor 2.2.2.2 remote-as 64512
 neighbor 2.2.2.2 ebgp-multihop 2
 neighbor 2.2.2.2 update-source Loopback0
 no auto-summary
!
ip route 2.2.2.2 255.255.255.255 Serial1/0
//////
 
乍看配置,没有任何问题,察看路由表
R1#show ip route
     1.0.0.0/32 is subnetted, 1 subnets
C       1.1.1.1 is directly connected, Loopback0
     2.0.0.0/32 is subnetted, 1 subnets
S       2.2.2.2 is directly connected, Serial1/1
     3.0.0.0/32 is subnetted, 1 subnets
S       3.3.3.3 is directly connected, Serial1/1
     172.16.0.0/16 is variably subnetted, 5 subnets, 2 masks
C       172.16.255.0/30 is directly connected, Serial1/1
C       172.16.0.0/24 is directly connected, Loopback1
C       172.16.1.0/24 is directly connected, Loopback2
C       172.16.2.0/24 is directly connected, Loopback3
C       172.16.3.0/24 is directly connected, Loopback4
     10.0.0.0/30 is subnetted, 1 subnets
B       10.1.255.0 [200/0] via 2.2.2.2, 00:44:01
 
R2#show ip route
     1.0.0.0/32 is subnetted, 1 subnets
S       1.1.1.1 is directly connected, Serial1/0
     2.0.0.0/32 is subnetted, 1 subnets
C       2.2.2.2 is directly connected, Loopback0
     3.0.0.0/32 is subnetted, 1 subnets
S       3.3.3.3 is directly connected, Serial1/1
     172.16.0.0/16 is variably subnetted, 5 subnets, 2 masks
C       172.16.255.0/30 is directly connected, Serial1/0
B       172.16.0.0/24 [200/0] via 1.1.1.1, 00:01:29
B       172.16.1.0/24 [200/0] via 1.1.1.1, 00:01:29
B       172.16.2.0/24 [200/0] via 1.1.1.1, 00:01:29
B       172.16.3.0/24 [200/0] via 1.1.1.1, 00:01:29
     10.0.0.0/30 is subnetted, 1 subnets
C       10.1.255.0 is directly connected, Serial1/1
B    192.168.0.0/24 [20/0] via 3.3.3.3, 00:01:00
B    192.168.1.0/24 [20/0] via 3.3.3.3, 00:01:00
B    192.168.2.0/24 [20/0] via 3.3.3.3, 00:01:01
B    192.168.3.0/24 [20/0] via 3.3.3.3, 00:01:01
 
R3#show ip route
     2.0.0.0/32 is subnetted, 1 subnets
S       2.2.2.2 is directly connected, Serial1/0
     3.0.0.0/32 is subnetted, 1 subnets
C       3.3.3.3 is directly connected, Loopback0
     172.16.0.0/16 is variably subnetted, 5 subnets, 2 masks
B       172.16.255.0/30 [20/0] via 2.2.2.2, 00:01:33
B       172.16.0.0/24 [20/0] via 2.2.2.2, 00:01:33
B       172.16.1.0/24 [20/0] via 2.2.2.2, 00:01:33
B       172.16.2.0/24 [20/0] via 2.2.2.2, 00:01:33
B       172.16.3.0/24 [20/0] via 2.2.2.2, 00:01:33
     10.0.0.0/30 is subnetted, 1 subnets
C       10.1.255.0 is directly connected, Serial1/0
C    192.168.0.0/24 is directly connected, Loopback1
C    192.168.1.0/24 is directly connected, Loopback2
C    192.168.2.0/24 is directly connected, Loopback3
C    192.168.3.0/24 is directly connected, Loopback4
 
R1没有192.168/22网段的路由。由于R2的路由表完整,因此初步判断问题出现在R1的配置或R2的bgp配置上。
 
因为R2的问题只可能在neighbor 3.3.3.3的语句中,检查发现没有问题,因此问题再次定格到R1上。
 
由于R3属于ebgp路由,R1能否获得该路由,可通过上述四条规则判断。
 
R1#debug bgp updates
*May 15 00:31:08.615: BGP(0): no valid path for 192.168.0.0/24
*May 15 00:31:08.615: BGP(0): no valid path for 192.168.1.0/24
*May 15 00:31:08.615: BGP(0): no valid path for 192.168.2.0/24
*May 15 00:31:08.615: BGP(0): no valid path for 192.168.3.0/24
 
上述更加表明R2没有配置问题。关键是为R1何由没有把R2通告的路由直接放到路由表里,而是变成了no valid path了呢?
 
百思不得其解,但解决的方法倒是想到了。由于R1没有有效的路由到R3,估计是R1不知道R3在哪里,也就是R1不知道3.3.3.3在哪里。告诉它就行了。
R1(config)#ip route 3.3.3.3 255.255.255.255 s1/1
 
R1#show ip route
     1.0.0.0/32 is subnetted, 1 subnets
C       1.1.1.1 is directly connected, Loopback0
     2.0.0.0/32 is subnetted, 1 subnets
S       2.2.2.2 is directly connected, Serial1/1
     3.0.0.0/32 is subnetted, 1 subnets
S       3.3.3.3 is directly connected, Serial1/1
     172.16.0.0/16 is variably subnetted, 5 subnets, 2 masks
C       172.16.255.0/30 is directly connected, Serial1/1
C       172.16.0.0/24 is directly connected, Loopback1
C       172.16.1.0/24 is directly connected, Loopback2
C       172.16.2.0/24 is directly connected, Loopback3
C       172.16.3.0/24 is directly connected, Loopback4
     10.0.0.0/30 is subnetted, 1 subnets
B       10.1.255.0 [200/0] via 2.2.2.2, 00:21:39
B    192.168.0.0/24 [200/0] via 3.3.3.3, 00:00:56
B    192.168.1.0/24 [200/0] via 3.3.3.3, 00:00:56
B    192.168.2.0/24 [200/0] via 3.3.3.3, 00:00:56
B    192.168.3.0/24 [200/0] via 3.3.3.3, 00:00:56
 
察看路由表,发现192.168/22的路由,居然是通过3.3.3.3到达的。也就是说,R1把3.3.3.3当作是可达的下一条,这就是为何R1不把R2通告的路由当作有效路由的原因了。
 
那应该如何添加静态路由呢?应该在那些路由器上添加呢?为解决上述两个问题,我修改了上述拓扑图,增加了一台R4路由器,R3的S1/1与R4的S1/0连接,R4属于as 64513,原来R3的lo1、lo2、lo3、lo4改为R4的lo1、lo2、lo3、lo4,设置如下:
R3#show run
interface Loopback0
 ip address 3.3.3.3 255.255.255.255
interface Serial1/0
 description DTE,BGP 64513,connected to R2's S1/1,ip 10.1.255.1/30
 ip address 10.1.255.2 255.255.255.252
!
interface Serial1/1
 description DCE,BGP 64513,connected to R4's S1/0,ip 192.168.255.2/30
 ip address 192.168.255.1 255.255.255.252
 clock rate 9600
!
router bgp 64513
 no synchronization
 neighbor 2.2.2.2 remote-as 64512
 neighbor 2.2.2.2 ebgp-multihop 2
 neighbor 2.2.2.2 update-source Loopback0
 neighbor 4.4.4.4 remote-as 64513
 neighbor 4.4.4.4 update-source Loopback0
 no auto-summary
!
ip route 2.2.2.2 255.255.255.255 10.1.255.1
ip route 4.4.4.4 255.255.255.255 Serial1/1
 
 
R4#show run
interface Loopback0
 ip address 4.4.4.4 255.255.255.255
!
interface Loopback1
 ip address 192.168.0.1 255.255.255.0
!
interface Loopback2
 ip address 192.168.1.1 255.255.255.0
!
interface Loopback3
 ip address 192.168.2.1 255.255.255.0
!
interface Loopback4
 ip address 192.168.3.1 255.255.255.0
!
interface Serial1/0
 description DTE,BGP 64513,connected to R3's S1/1,ip 192.168.255.1/30
 ip address 192.168.255.2 255.255.255.252
!
router bgp 64513
 no synchronization
 network 192.168.0.0
 network 192.168.1.0
 network 192.168.2.0
 network 192.168.3.0
 network 192.168.255.0 mask 255.255.255.252
 neighbor 3.3.3.3 remote-as 64513
 neighbor 3.3.3.3 update-source Loopback0
 no auto-summary
!
ip route 2.2.2.2 255.255.255.255 Serial1/0
ip route 3.3.3.3 255.255.255.255 Serial1/0
 
察看R1的路由表:
R1#show ip route 
     1.0.0.0/32 is subnetted, 1 subnets
C       1.1.1.1 is directly connected, Loopback0
     2.0.0.0/32 is subnetted, 1 subnets
S       2.2.2.2 is directly connected, Serial1/1
     3.0.0.0/32 is subnetted, 1 subnets
S       3.3.3.3 is directly connected, Serial1/1
     172.16.0.0/16 is variably subnetted, 5 subnets, 2 masks
C       172.16.255.0/30 is directly connected, Serial1/1
C       172.16.0.0/24 is directly connected, Loopback1
C       172.16.1.0/24 is directly connected, Loopback2
C       172.16.2.0/24 is directly connected, Loopback3
C       172.16.3.0/24 is directly connected, Loopback4
B    192.168.0.0/24 [200/0]  via 3.3.3.3, 00:05:54
B    192.168.1.0/24 [200/0] via 3.3.3.3, 00:05:55
B    192.168.2.0/24 [200/0] via 3.3.3.3, 00:05:55
B    192.168.3.0/24 [200/0] via 3.3.3.3, 00:05:55
 
以及其中一条路由
R1#show ip route 192.168.0.0
Routing entry for 192.168.0.0/24
  Known via "bgp 64512", distance 200, metric 0
  Tag 64513, type internal
   Last update from 3.3.3.3 00:06:00 ago
  Routing Descriptor Blocks:
  * 3.3.3.3, from 2.2.2.2, 00:06:00 ago
      Route metric is 0, traffic share count is 1
      AS Hops 1
 
可以发现,路由表完全正常。每台路由器均配了两条静态路由,其中蓝色标识的路由用语iBGP获取路由,这些一般在as里面应该由IGP实现,目的是所有iBGP Peers的路由一致。关键是红字的部分,可以看到,所有非直联的iBGP Peer与eBGP Peer之间的路由,均由对端AS的网关作为源。因此必须配置一条到对端网关的静态路由。
该静态路由可在与该eBGP peer连接的iBGP peer上设置,然后在IGP里进行重分配。若该iBGP peer上有其他私有的static routes,可使用分配控制列表或route-map进行过滤。


本文转自 gole_huang 51CTO博客,原文链接:http://blog.51cto.com/golehuang/76972

相关文章
|
21天前
|
存储 人工智能 测试技术
小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
141068 20
小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
|
20天前
|
人工智能 运维 前端开发
基于阿里百炼的DeepSeek-R1满血版模型调用【零门槛保姆级2084小游戏开发实战】
本文介绍基于阿里百炼的DeepSeek-R1满血版模型调用,提供零门槛保姆级2048小游戏开发实战。文章分为三部分:定位与核心优势、实战部署操作指南、辅助实战开发。通过详细步骤和案例展示,帮助开发者高效利用DeepSeek-R1的强大推理能力,优化游戏逻辑与视觉效果,解决官网响应延迟问题,提升开发效率和用户体验。适合企业开发者、教育行业及多模态探索者使用。
73336 17
基于阿里百炼的DeepSeek-R1满血版模型调用【零门槛保姆级2084小游戏开发实战】
|
24天前
|
人工智能 自然语言处理 API
快速使用 DeepSeek-R1 满血版
DeepSeek是一款基于Transformer架构的先进大语言模型,以其强大的自然语言处理能力和高效的推理速度著称。近年来,DeepSeek不断迭代,从DeepSeek-V2到参数达6710亿的DeepSeek-V3,再到性能比肩GPT-4的DeepSeek-R1,每次都带来重大技术突破。其开源策略降低了AI应用门槛,推动了AI普惠化。通过阿里云百炼调用满血版API,用户可以快速部署DeepSeek,享受高效、低成本的云端服务,最快10分钟完成部署,且提供免费token,极大简化了开发流程。
191048 23
快速使用 DeepSeek-R1 满血版
|
1月前
|
人工智能 自然语言处理 Shell
深度评测 | 仅用3分钟,百炼调用满血版 Deepseek-r1 API,百万Token免费用,简直不要太爽。
仅用3分钟,百炼调用满血版Deepseek-r1 API,享受百万免费Token。阿里云提供零门槛、快速部署的解决方案,支持云控制台和Cloud Shell两种方式,操作简便。Deepseek-r1满血版在推理能力上表现出色,尤其擅长数学、代码和自然语言处理任务,使用过程中无卡顿,体验丝滑。结合Chatbox工具,用户可轻松掌控模型,提升工作效率。阿里云大模型服务平台百炼不仅速度快,还确保数据安全,值得信赖。
358020 62
深度评测 | 仅用3分钟,百炼调用满血版 Deepseek-r1 API,百万Token免费用,简直不要太爽。
|
9天前
|
人工智能 搜索推荐 数据可视化
Manus:或将成为AI Agent领域的标杆
随着人工智能技术的飞速发展,AI Agent(智能体)作为人工智能领域的重要分支,正逐渐从概念走向现实,并在各行各业展现出巨大的应用潜力。在众多AI Agent产品中,Manus以其独特的技术优势和市场表现,有望成为该领域的标杆。作为资深AI工程师,本文将深入探讨Manus的背景知识、主要业务场景、底层原理、功能的优缺点,并尝试使用Java搭建一个属于自己的Manus助手,以期为AI Agent技术的发展和应用提供参考。
11098 13
|
9天前
|
机器学习/深度学习 人工智能 测试技术
阿里云百炼已上线超强推理开源模型QwQ-32B,尺寸更小,性能比肩DeepSeek满血版
通义千问团队推出了320亿参数的QwQ-32B模型,通过大规模强化学习和多阶段训练,在数学、编程及通用能力上达到或超越了DeepSeek-R1等先进模型。QwQ-32B模型已在阿里云百炼上线,支持API调用,用户可通过官方文档了解详细使用方法。未来,团队将继续探索智能体与RL集成,推动人工通用智能的发展。
|
26天前
|
机器学习/深度学习 人工智能 自然语言处理
快来零门槛、即刻拥有 DeepSeek-R1 满血版
随着人工智能技术的发展,DeepSeek作为一款新兴推理模型,凭借强大的技术实力和广泛的应用场景崭露头角。本文基于阿里云提供的零门槛解决方案,评测DeepSeek的部署与使用。该方案支持多模态任务,涵盖文本生成、代码补全等,融合NLP、IR和ML技术,提供快速实现AI应用的便利。用户无需编码,最快5分钟、最低0元即可部署DeepSeek模型。阿里云还提供100万免费Token,适合预算有限的个人或小型团队试用。通过Chatbox客户端配置API,用户可轻松体验智能交互功能,如数学提问和代码书写等。
38719 5
|
21天前
|
人工智能 编解码 算法
DeepSeek加持的通义灵码2.0 AI程序员实战案例:助力嵌入式开发中的算法生成革新
本文介绍了通义灵码2.0 AI程序员在嵌入式开发中的实战应用。通过安装VS Code插件并登录阿里云账号,用户可切换至DeepSeek V3模型,利用其强大的代码生成能力。实战案例中,AI程序员根据自然语言描述快速生成了C语言的base64编解码算法,包括源代码、头文件、测试代码和CMake编译脚本。即使在编译错误和需求迭代的情况下,AI程序员也能迅速分析问题并修复代码,最终成功实现功能。作者认为,通义灵码2.0显著提升了开发效率,打破了编程语言限制,是AI编程从辅助工具向工程级协同开发转变的重要标志,值得开发者广泛使用。
7912 68
DeepSeek加持的通义灵码2.0 AI程序员实战案例:助力嵌入式开发中的算法生成革新
|
8天前
|
机器学习/深度学习 弹性计算 搜索推荐
真正的0代码,0脚本,0门槛,QwQ-32B一键部署!
阿里云最新发布的QwQ-32B模型通过强化学习显著提升了推理能力,在多个核心指标上达到DeepSeek-R1满血版水平,超越了DeepSeek-R1-Distill-Qwen-32B。用户可通过阿里云系统运维管理(OOS)的公共扩展功能,一键部署OpenWebUI+Ollama至ECS,轻松运行QwQ-32B模型。该方案支持本地部署和连接阿里云百炼在线模型,无需编写代码,操作简便,适合新手尝试。具体步骤包括:在阿里云控制台安装OpenWebUI扩展、选择ECS实例并创建、等待几分钟后获取URL链接,即可开始使用。此外,还提供了详细的配置指南和高级玩法介绍,帮助用户更好地利用该模型。
|
11天前
|
开发者 异构计算
高效部署通义万相Wan2.1:ComfyUI文生/图生视频实战,工作流直取!
通义万相Wan2.1开源不到一周,已登顶HuggingFace Model 和 Space 榜双榜首,在HuggingFace和ModelScope平台的累计下载量突破100万次,社区热度持续攀升!为响应小伙伴们对ComfyUI工作流运行Wan2.1的强烈需求,社区开发者整理了实战教程👇
1347 22
高效部署通义万相Wan2.1:ComfyUI文生/图生视频实战,工作流直取!