设为首页收藏本站language 语言切换
查看: 12434|回复: 15
收起左侧

[原创] CCXX-个人吐血BGP经验总结(下)

  [复制链接]
发表于 2011-7-4 16:07:32 | 显示全部楼层 |阅读模式
下篇是常用命令
BGP常用命令
一些命令
router bgp { Local as numbet} 启动BGP 输入本地BGP as号
bgp router-id x.x.x.x  手动输入bgp router-id ,注意格式 要价格bgp建议 r-id和ospf r-id一致不然可能会出错
neighbor x.x.x.x remote-as x 指定邻居地址和AS号 (先nighbor后network,因为bgp是tcp的不使用组播)(neighbor指定就开始发open报文了)
                             双方都指定并且收到hello报文后neighbor就建立了
                             EBGP一般用直连接口建邻居(也可以用环回口),而IGP一般用环回口建邻居(为了保证网络联通的健壮性)
注意: IBGP中用环回口建邻居会建立不起来因为,双方指定的都是环回口地址作为源,而实际发送open报文是根据路由表的他的源地址是以发送接口的地址为源所以会出现不匹配要加一条命令来改变发送open报文的源地址命令为:

neighbor x.x.x.x update-sourece {interface x/只能指定接口}
作用是改变bgp报文的更新源 备: neighbor后指定的地址代表 当我收到一个报文的源地址是这个地址的时候我接受他为我的邻居,所以如果用环回口作为beighbor 必须要改变他的 update-source 因为默认情况下的源是发送接口的IP地址
注意: EBGP默认情况下报文为1跳,但当EBGP有多条链路相连时(冗余备份),也可以启用loopback接口来作为指定neighbor,但是必须要改ebgp的跳数,同时2个AS(ISP)之间肯定不会起IGP,所以必须要用静态来指定到对方环回口的路由.

neighbor ebgp multihop {1~255} EBGP建立邻居允许多跳,直接回车就是255跳

network x.x.x.x mask { subnet mask  }    IGP中的network有2个作用1 通告接口(此接口收发路由) 2 是通告接口所在的网络
                     BGP中network仅用来通告路由。(他不仅可以通告接口的网络只要是<路由表>内有的路由都可以通告进bgp中)他收发路由只靠路由表选择的出接口和network无关 注意的是BGP的network可以通告任何路由表内有的路由,但是他是精确匹配的必须和路由表看到的路由一模一样,并且他的掩码是正掩码,而且别忘记加mask关键字,bgp中所有通过bgp学习到的路由可以通过sh ip bgp查看到,(甚至还包括未放在路由表中的,这点和普通的IGP距离矢量路由协议不同,IGP不会把未在路由表内的路由放入数据库,除了eigrp可能会放置部分他所谓的拓扑路由)
备:bgp中network从bgp学到的路由(标记B的)是无效的

nei x.x.x.x next-hop-self  在BGP边界上做的 改传播给IBGP邻居时 ,通告路由的下一跳地址为自身,结果就是下一跳地址通过IGP可达,(BGP优化)
                           这个是传播给IBGP邻居时用的,从EBGP传播给EBGP的时候默认是EBGP的update-source
nei x.x.x.x next-hop-unchange 不改变通告IBGP路由的下一跳地址,会self命令的反效果,默认是unchange
sh ip bgp summary  显示邻居信息摘要
sh tcp brief  显示TCP连接信息 摘要
sh ip bgp 显示bgp的路由信息
前面的小i代表啊从IBGP学到的,有2种情况下不打i(1是从Ebgp学到的,2是从自身通告的)


neighbor {word) peer-group  创建一个被调用标记,有点像编程中模块的概念,调用一个通用的配置模板
                            好处是1 减少未每个邻居预留的缓存 2 是减少管理员重复性的命令行输入
例:neighbor lxd peer-group    创建一个命名的peer-group
    neighbor lxd remote-as 1   基于这个命名的peer-group 设置远端AS
    neighbor lxd update-source lo0  基于这个命名的peer-group 设置更新源
    neighbor lxd next-hop-self 基于这个命名的peer-group 设置ebgp通告进IBGP的下一跳地址为自身
    neighbor 2.2.2.2 peer-group lxd  neighbor 2.2.2.2的时候 调用 peer-group lxd
    neighbor 3.3.3.3 peer-group lxd  neighbor 3.3.3.3的时候 调用 peer-group lxd

clear ip bgp *       (硬清理,会断开tcp连接重新建立邻居)
clear ip bgp * soft   (软清理,不断开tcp连接,保持邻居关系,仅重新发送更新,速度更快)
clear ip bgp {neighbor} *|soft 硬清或者软清某个邻居
show ip bgp rib-fail 显示无效的标注为r的路由,并且能看到无效的理由( 当分别从IGP和BGP学到一条路由且IGP的管理距离更低时,sh ip bgp是就会看到路由标注为r,代表是无效的路由)
show ip bgp neighbor {neighbor} advertise-routes 查看我给某个邻居发送的所有路由(这个可以查看的)
show ip bgp neighboe {neighbor} received-routes  查看某个邻居给我发送的所有路由,默认情况下查看不了(没启用缓存)要结合下面的命令
neighbor 5.5.5.5 soft-reconfiguration inbound 指定某个邻居的发送给自己的路由保存在缓存中
auto-summary 高版本默认情况是关闭的 auto-summary 是指在发生重分布行为是 有任何路由被重分布就BGP中 如果开启自动汇总时会进行汇总,反之则不汇总

nei x.x.x.x weight x 将某个邻居发送给自己的所有路由的weight值改为x,(虽然没写方向但肯定是IN方向的,wight是本地有效的不可能被传播出去)
nei x.x.x.x route-map x {in|out} 基于route-map 来修改选路优先级 (in和out代表收和发方向)
bgp default local_preference 修改本地默认的优先级,作用有两个一个修改本地的优先级,二是修改发送给IBGP邻居的优先级

route-map中 set as_path prepend(添加为AS之前) 2 3 4 如果是out方向 代表发出前已经加了AS 2 3 4(发出后加上本地as 1)
所以邻居的as_path 为  1  2 3 4
in 代表收到前已经加了2,3,4 收到后加上邻居as1= 2 3 4  1
注意: set as_path 仅neighbor后的对象是另外一个AS中才起效不管是in还是out方向(即仅对EBGP邻居生效)原理是IBGP邻居在传递路由时不会添加AS号
      prepend last as {number} 添加上一个as {number代表代价的重复的数量} last as对于out 方向代表发之前 先加上传给我的as的号×数量
                                                                                   in  方向 代表收到之前先加上 邻居as* 数量

      通告添加as号添加非自己的as号会产生一个问题就是如果一个ebgp邻居真的包含有此as号,就会触发ebgp的水平分割,所以添加的时候要根据策略和需求,如果只为了选路可以添加多个自己的as号。

     改BGP的MED 就是 set metric 实际上是一样的

nei x.x.x.x route-reflect-client 2层含义 1 设置自己的路由反射器服务端 2设置邻居为路由反射器客户端,如果neighbor是 peer-group成员必须在peer-group中配置

bgp confederation identifier {公有AS}所有联邦成员必须申明公有的AS号
bgp confederation peer {联邦内EBGP邻居as}联邦内ebgp关系邻居通过peer互指对方私有as来互相告知同处于同一联邦(联邦的ibgp邻居无需告知)

neighbor x.x.x.x send-community 启用社团属性,(启用后可通过route-map 如nei x.x.x.x route-map x in/out 来传递社团属性)
社团属性:
set community no-advertise 不通告,收到此属性路由的邻居不会通告给任何BGP邻居 (任何邻居!包括EBGP和IBGP邻居)
set community no-export 不通告出自身大AS区域,收到此属性路由的邻居不会通告出自身大as区域(联邦内可以传)
set community local-as  不通告出自身小AS区域(如果没有做联邦的话其实作用和no-export作用是一样的),但是做了联邦就只在联邦内一个小as区域通告
发表于 2011-7-16 17:48:28 | 显示全部楼层
顶一下
沙发 2011-7-16 17:48:28 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2011-7-19 11:19:44 | 显示全部楼层
板凳 2011-7-19 11:19:44 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2012-5-4 11:26:45 | 显示全部楼层
楼主好给力呀
地板 2012-5-4 11:26:45 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-5-20 00:03:11 | 显示全部楼层
写得不错,整理的挺用心支持一个^_^
5# 2013-5-20 00:03:11 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-5-20 15:09:58 | 显示全部楼层
6# 2013-5-20 15:09:58 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-6-11 15:50:40 | 显示全部楼层
谢谢分享
7# 2013-6-11 15:50:40 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-8-11 20:26:39 | 显示全部楼层
8# 2013-8-11 20:26:39 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-8-11 20:27:01 | 显示全部楼层
9# 2013-8-11 20:27:01 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2013-8-11 20:27:35 | 显示全部楼层
10# 2013-8-11 20:27:35 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2014-11-27 10:39:04 | 显示全部楼层
太棒了,感谢楼主
11# 2014-11-27 10:39:04 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2014-12-2 10:47:43 | 显示全部楼层
太棒了,感谢楼主
12# 2014-12-2 10:47:43 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2016-1-28 16:11:18 | 显示全部楼层
总结的很好,但是表达的还有些欠佳。
13# 2016-1-28 16:11:18 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2016-3-16 15:27:00 | 显示全部楼层
谢谢共享资料
14# 2016-3-16 15:27:00 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-4-26 08:50 , Processed in 0.292917 second(s), 27 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表