BGP中一台路由器只能属于一个自制系统.BGP为应用层协议(BGP的邻居关系基于TCP连接 路由互通
).BGP默认目的端口179,传输协议TCP. router-id大的连接小的一方
EBGP的TTL默认为1,IBGP的TTL为255.
64512-63355 私有
IBGP 路由可达后建立BGP会话,基于底层IGP(ospf,静态路由 使路由可达). 建立连接不一定直连
IBGP内部从BGP获得的路由不会通告给其它的IBGP(水平分割,网状全互联连接)
配置
bgp 自制系统号
router-id 设置router-id
peer 对端物理接口地址loopback地址 as-number 对端路由器自制系统号
peer 物理接口地址((lo0 地址)) connect-interface lookback 0 // 以环回口建立邻居关系 改变bgp包源地址(默认以物理口地址发送bgp报文)
peer 对端接口地址 ebgp-max-hop 跳数 //修改ttl值 到对端减1,到lookback再减1
peer 对端物理接口地址 next-hop-local //修改下一跳(通过EBGP学习到的路由传递给IBGP时,下一跳保持不变)
//解决iBGP从ebgp中学习到的路由,吓一跳不会改变
dis bgp peer 查看bgp邻居
BGP起源网络(宣告网络)
bgp 自制系统号
network 网络 掩码
dis bgp routing-tables //查看bgp路由表
eg:
EBGP配置
bgp 200
router-id 2.2.2.2
peer 3.3.3.3 as-number 300
peer 3.3.3.3 con look 0
peer 3.3.3.3 ebgp-max-hop 2
IBGP
bgp 200
router-id 2.2.2.2
peer 3.3.3.3 as-number 200
peer 3.3.3.3 con look 0 //使用逻辑接口时修改源地址 peer指定直连接口地址时,不用添加该命令
peer 3.3.3.3 next-hop-local //修改下一跳 解决从ebgp中学习到的路由,吓一跳不会改变
[R1]int l0
[R1-LoopBack0]ip add 11.11.11.11 32
[R1-LoopBack0]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 12.0.0.1 24
[R2]int l0
[R2-LoopBack0]ip ad 22.22.22.22 32
[R2-LoopBack0]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 12.0.0.2 24
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 23.0.0.2 24
[R3]int l0
[R3-LoopBack0]ip add 33.33.33.33 32
[R3-LoopBack0]int g0/0/1
[R3-GigabitEthernet0/0/1]ip add 23.0.0.3 24
IGP 配置
[R2]ospf ro 2.2.2.2 //不能宣告 G0/0/0 防止G0/0/0 向外发送hello包占用链路资源
[R2-ospf-1]are 0
[R2-ospf-1-area-0.0.0.0]network 23.0.0.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]net 22.22.22.22 0.0.0.0
[R3]ospf 1 ro 3.3.3.3
[R3-ospf-1]are 0
[R3-ospf-1-area-0.0.0.0]net 23.0.0.03 0.0.0.0
[R3-ospf-1-area-0.0.0.0]net 33.33.33.33 0.0.0.0
R2 和 R3 建立IBGP 使用环回口建立邻居 TTL为255
[R2]bgp 200
[R2-bgp]router 2.2.2.2
[R2-bgp]peer 33.33.33.33 as-n 200
[R2-bgp]peer 33.33.33.33 connect-interface l0
[R3]BGP 200
[R3-bgp]router 3.3.3.3
[R3-bgp]peer 22.22.22.22 as-n 200
[R3-bgp]peer 22.22.22.22 conn l0
R2和R1建立EBGP TTL默认为1需要修改
[R1]ip route-static 22.22.22.22 32 12.0.0.2
[R1]bgp 100
[R1-bgp]peer 22.22.22.22 as-nu 200
[R1-bgp]peer 22.22.22.22 con l0
[R1-bgp]peer 22.22.22.22 ebgp-max-hop 2
[R2]ip ro 11.11.11.11 32 12.0.0.1 //配置到r1的静态路由
[R2-bgp]bgp 200
[R2-bgp]peer 11.11.11.11 as 100
[R2-bgp]peer 11.11.11.11 con l0
[R2-bgp]peer 11.11.11.11 ebgp-max-hop 2
起源l1 地址为111.111.111.111
[R1]int l1
[R1-LoopBack1]ip add 111.111.111.111 32
[R1-LoopBack1]q
[R1]bgp 100
[R1-bgp]network 111.111.111.111 32
通过EBGP学习的路由在传递给IBGP的邻居时,下一跳保持不变
[R2-bgp]peer 33.33.33.33 next-hop-local //在R2上指定IBGP邻居时使用
// R1 添加去往R3 的回程路由
方法1
[R2-bgp]net 23.0.0.3 24
方法2 IGP 路由引入BGP (边界上引入)
[R2-bgp]import-route ospf 1
BGP选路
1.本地优先级属性local-preference (本AS内配置,影响本地路由器)
修改本地优先级属性local-preference `修改入站路由优先级
仅在IBGP邻居间有效
影响出站流量 以大为优
R4上
[r4]bgp 200
[r4-bgp]peer 24.0.0.2 route-policy lo_pr import /对端AS通过EBGP学习到的 接收方向
[r4]route-policy lo_pr permit node 10
[r4-route-policy]if-match acl 2000 //没有匹配到acl200的数据,默认拒绝其它
[r4-route-policy]apply local-preference 200 //修改本地优先级
[r4]route-policy lo_pr permit nd 20 //放行其他路由
2.本地通过network命令引入的路由优先级高于本地通过import-route命令引入的路由.
3.AS_PATH ( EBGP间 使用export 和 import都可以)
R4上配置
[r4]bgp 200
[r4-bgp]peer 24.0.0.2 route-policy AS_P import
[r4-bgp]q
[r4]route-policy AS_P per no 10
[r4-route-policy]if-m acl 2000
[r4-route-policy]apply as-path 100 additive //增加和本地相同的AS号,防止影响其他路由学习 以短(AS号个数少)为优
4.MED 区别到达同一邻居AS的多条入口链路(不会传给不相邻的自制系统)
以小为优(默认为0) 影响对端AS入站流量(对端AS上配置,只能比较来自同一自制系统的MED)
仅在相邻的两个AS之间传递,收到此属性的AS不会再将其通知给任何其他第三方AS
R1上影响R3学习到的路由
R1
[r1]bgp 100
[r1-bgp]peer 13.0.0.3 route-policy MED export //发出方
[r1]route-policy MED permit node 10
[r1-route-policy]if-match acl 2000
[r1-route-policy]apply cost 100
比较不同AS发送的MED
[r3]bgp 200
[r3-bgp]compare-different-as-med //设置MED参与选路(接收方)
5.EBGP优先于IBGP
6. BGP优先选择到BGP下一跳IGP度量最低的路径 (底层的路由协议(ospf 等)会影响到BGP选路)
7.rouit-id小的为优
对等体配置(简化BGP配置)
[r6]bgp 300
[r6-bgp]group g_name ?
external Create an external group //ebgp 对等体
internal Create an internal group //Ibgp对等体
[r6-bgp]group g_name internal
[r6-bgp]peer g_name next-hop-local //设置对等体组 配置
[r6-bgp]peer 16.0.0.1 group g_name //bgp 邻居加入对等体组
反射器 (其他路由器就不用建邻居 打破IBGP中的水平分割) 反射器RR 客户RC
客户之间建立的IBGP邻居都是由反射器建立,客户之间不直接建立IBGP.路由可达即可
客户之间的路由学习到的下一跳为对端客户的IP.
[r6-bgp]peer g_name reflect-client
[r6]bgp 300
[r6-bgp]group G_name internal
[r6-bgp]peer 67.0.0.7 group G_name
[r6-bgp]peer 68.0.0.8 group G_name
[r6-bgp]peer G_name reflect-client
[r7]bgp 300
[r7-bgp]route-select
[r7-bgp]router-id 7.7.7.7
[r7-bgp]peer 67.0.0.6 as 300
[r8]bgp 300
[r8-bgp]peer 68.0.0.6 as 300
反射器 防环
1.起源id 本AS内有效 orginator_ID (防止多个RR时, RR和客户机之间形成环路)
查看BGP间通告明细
dis bgp router peer [BGP邻居地址] advertis [bgp宣告地址(network 地址)]
[r6-bgp]dis bgp routing-table peer 67.0.0.7 advertised-routes 88.88.88.882.cluster_list 防止多个放射器间存在环路(多个RR建立时相当于普通路由器,需要网状全互联建立)
[Huawei]bgp 100
[Huawei-bgp]peer 49.0.0.9 reflect-client
[Huawei-bgp]reflect cluster-id 111
RR间当普通路由器建立IBGP网状全互联
扩展:
快速的刷新bgp的邻居信息
refresh bgp all import/export