1、进入Routing-options 指定AS号码

wKioL1T1RvjxbPDWAAIE2j0YUow007.jpg

命令:

set routing-options autonomous-system xxxxx 


---注明:BGP私有AS号64512-65535




2、进入BGP协议的层级,手工配置邻居


root# edit protocols bgp group ibgp--- 进入BGP协议的层级


[edit protocols bgp group ibgp]

root# set type internal --- 指定该组的邻居与我都是IBGP邻居关系。


[edit protocols bgp group ibgp] 
rootset neighbor 10.1.12.1 --- 手工指定邻居的地址(需要说明的是:这里指定的邻居物理接口的地址,并且因为是IBGP邻居,就没有必要指定邻居的AS号了)


[edit protocols bgp group ibgp] 
root# set neighbor 10.1.12.1 peer-as 65000--- 与上面的配置一样,只是在IBGP的group中多余指定了邻居的AS号。

wKiom1T1RyqjIH9JAABf3BCYytI451.jpg

JunOS的路由器通常应用在大网中,经常需要与同一ISP(比如联通)的N多台路由器建立对等体关系,添加到组比较容易管理,控制路由等。注明:在JunOS中,只有BGP和RIP两种路由协议是需要建立组(Group)的。




3、BGP的监控

命令

root# run show bgp summary--- 查看bgp的汇总信息

wKiom1T1RxryCX3sAAJe-2hok9o785.jpg

这台路由器

  • Groups:有多少个BGP组。

  • Peers:有多少对等体邻居。

  • Down Peers:有多少目前失效的邻居(没有到establish状态的邻居)。

-----------------------------------------------------------------------

  • Peer:对等体与我建立对等体关系的邻居接口地址

  • AS:邻居所在的AS号。

  • InPkt:收到对等体发送过来的数据包。

  • OutPkt:发送给邻居的数据包。

  • OutQ:发送给邻居的数据包出现延时是,Q队列中才会有数值。

  • Flaps:邻居关系不稳定,一会儿establish,一会又重新连接,或者是路由条目一会存在一会儿消失,出现一次与之前的状态不一致的情况,记录一次Flaps。

  • Last Up/Down State:上一次邻居状态变化的时间。


  1. Active:该路由条目有效,可以放到路由表RT中的。

  2. Received:已经从邻居出收到了的,但是因为一些策略等方面的原因,不能放置到路由表中的路由。

  3. Accepted:?

  4. Damped:因为不稳定而临时damp惩罚掉的路由条目。




4、将路由条目注入到BGP中

重点是感受一下JunOS的精细化控制路由的情怀。。。

JunOS默认是不会将非BGP Active的路由条目发送给一个BGP的邻居。两层意思

  • 默认不发送非BGP协议学到的路由(direct、static、rip、ospf等)。

  • 默认不发送不是Active状态的路由条目。

如果想将一条路由注入到BGP协议中,就要使用类似策略匹配本机路由表中已经存在的路由,并“重发布”到BGP协议当中。


任务:将R1身后的loopback口地址1.1.1.1/32的路由信息通告给R2


4.1、精细化的定义需要通告给邻居的路由信息(使用policy-option)

wKiom1T1R7_z3INNAACWoDjc63k313.jpg


4.2、在需要的位置调用策略

wKiom1T1R_aDmoKLAAQFOKZjlFw952.jpg

注明:如果同时在不同的层次中插入了策略,那么以最精确地位置匹配策略。



4.3、效果

wKioL1T1SVOxBwx2AAFLSmFOhl8384.jpg
wKiom1T1SFDwc5V5AADwYLndeuM446.jpg

多说一些,以免以后误会:

“*”: 这个星号的作用是告诉你:这是一条有效路由,是激活的,R2去往1.1.1.1/32就是通过这条路由去的!

为什么在R2上去往R1身后1.1.1.1/32的需要通过IBGP邻居通过过来,而不是使用AS内部IGP路由学到?,原因是我们没有将R1的loopback0.0接口启用IGP路由协议。


下面我多试一下:将Lo0.0接口启用OSPF然后对比一下差异:

spacer.gifwKiom1T1SLbx7PraAAE8h_PMbu0462.jpg
wKioL1T1SdTx-k4tAADpglyGsY8290.jpg

R2通过IGP路由协议学到了1.1.1.1/32的路由,所以当它在通过IBGP邻居学到同样一条路由时,不再把它当作一条BGP的active路由,而仅仅是“Received\Accepted”。


而且当接受一条路由,但是不把它作为Active激活状态,JunOS是会给出理由的

使用查看路由条目明细的方式: show route protocol bgp 1.1.1.1/32 detail spacer.gif

wKiom1T1SO7y4hpMAAKyDi36q6Y839.jpg




4.4 总结

  1. BGP会发送自己本地所有被激活(active)路由给邻居。

  2. BGP也只会发Active的路由条目。

  3. IBGP的防环机制:一条从IBGP邻居处学到的路由,不会传递给另外一个IBGP邻居。

  4. 这么做是因为IBGP不能像EBGP一样,通过Path属性防环

  5. JunOS中 没有BGP 同步的概念。。。默认都不同步。需要使用其他诸如 全连接、RR、联邦等技术解决数据黑洞的问题。