实验要求:
实验手绘图:
构建网络拓扑图
根据要求2,我们将AS2网段地址依据172.16.0.0/16进行地址划分
划分结果如图所示:
6条骨干链路,8个环回接口,我们进行子网划分的时候,骨干链路只看成1条,一个路由器对应的环回接口只看作1个,所以图中一共需要划分7个网段
再将7个网段继续划分为对应的网段
划分之后,我们进行对应IP地址的配置
配置完成后
查看R2的IP路由表
查看R3的IP 路由表
查看R4的IP路由表
查看R5的IP路由表
查看R6的IP 路由表
查看R7的IP路由表
在AS2内部路由器配置OSPF协议
配置R2的OSPF协议
[r2]ospf 1 router-id 2.2.2.2
[r2-ospf-1]area 0
[r2-ospf-1-area-0.0.0.0]network 172.16.0.0 0.0.255.255
[r2]display ospf peer brief
配置R3的OSPF协议
[r3]ospf 1 router-id 3.3.3.3
[r3-ospf-1]area 0
[r3-ospf-1-area-0.0.0.0]network 172.16.0.0 0.0.255.255
由于R2-R7都是同一汇总网段,所以都可以直接通过宣告172.16.0.0 0.0.255.255
配置命令相同
配置R4的OSPF协议
配置R5的OSPF协议
配置R6的OSPF协议
配置R7的OSPF协议
邻居关系建立完成
通过查看R2的ospf路由表发现用户网段和建邻网段的子网掩码都变成了32,实际上只需要建邻网段是32,而用户网段是24位。
更改用户接口的工作方式为broadcast
用户子网掩码变成30
进行R1-R8的BGP协议配置
其中为了解决种种问题,用了联邦和RR技术
R1:
[r1]bgp 1
[r1-bgp]router-id 1.1.1.1
[r1-bgp]peer 12.1.1.2 as-number 2
R2:
[r2]bgp 64512
[r2-bgp]router-id 2.2.2.2
[r2-bgp]confederation id 2
[r2-bgp]peer 12.1.1.1 as-number 1
[r2-bgp]confederation peer-as 64513
[r2-bgp]peer 172.16.32.1 as-number 64512
[r2-bgp]peer 172.16.32.1 connect-interface lo0
[r2-bgp]peer 172.16.96.1 as-number 64513
[r2-bgp]peer 172.16.96.1 connect-interface lo0
[r2-bgp]peer 172.16.96.1 ebgp-max-hop 2
R3:
[r3]bgp 64512
[r3-bgp]router-id 3.3.3.3
[r3-bgp]confederation id 2
[r3-bgp]peer 172.16.0.1 as-number 64512
[r3-bgp]peer 172.16.0.1 connect-interface lo0
[r3-bgp]peer 172.16.64.1 as-number 64512
[r3-bgp]peer 172.16.64.1 connect-interface lo0
[r3-bgp]
R4:
[r4]bgp 64512
[r4-bgp]router-id 4.4.4.4
[r4-bgp]confederation id 2
[r4-bgp]confederation peer-as 65413
[r4-bgp]peer 172.16.32.1 as-number 64512
[r4-bgp]peer 172.16.32.1 connect-interface lo0
[r4-bgp]peer 172.16.164.1 as-number 65413
Feb 1 2023 23:50:34-08:00 r4 %%01BGP/3/STATE_CHG_UPDOWN(l)[0]:The status of the
peer 172.16.32.1 changed from OPENCONFIRM to ESTABLISHED. (InstanceName=Public,
StateChangeReason=Up)
[r4-bgp]peer 172.16.164.1 connect-interface lo0
[r4-bgp]peer 172.16.164.1 ebgp-max-hop 2
[r4-bgp]
R5:
[r5]bgp 64513
[r5-bgp]router-id 5.5.5.5
[r5-bgp]confederation id 2
[r5-bgp]confederation peer-as 65412
[r5-bgp]peer 172.16.0.1 as-number 64512
[r5-bgp]peer 172.16.0.1 connect-interface lo0
[r5-bgp]peer 172.16.0.1 ebgp-max-hop 2
[r5-bgp]peer 172.16.128.1 as-number 64513
[r5-bgp]peer 172.16.128.1 connect-interface lo0
[r5-bgp]
Feb 2 2023 00:02:24-08:00 r5 %%01BGP/3/STATE_CHG_UPDOWN(l)[0]:The status of the
peer 172.16.128.1 changed from OPENCONFIRM to ESTABLISHED. (InstanceName=Public
, StateChangeReason=Up)
[r5-bgp]
R6:
[r6]bgp 64513
[r6-bgp]confederation id 2
[r6-bgp]peer 172.16.96.1 as-number 64513
[r6-bgp]peer 172.16.96.1 connect-interface lo0
[r6-bgp]peer 172.16.164.1 as-number 64513
[r6-bgp]peer 172.16.164.1 connect-interface lo0
[r6-bgp]
Feb 2 2023 00:02:24-08:00 r6 %%01BGP/3/STATE_CHG_UPDOWN(l)[0]:The status of the
peer 172.16.96.1 changed from OPENCONFIRM to ESTABLISHED. (InstanceName=Public,
StateChangeReason=Up)
R7:
[r7]bgp 64513
[r7-bgp]confederation id 2
[r7-bgp]confederation peer-as 64512
[r7-bgp]peer 172.16.64.1 as-number 64512
[r7-bgp]peer 172.16.64.1 connect-interface lo0
[r7-bgp]peer 172.16.64.1 ebgp-max-hop 2
[r7-bgp]peer 172.16.128.1 as-number 64513
[r7-bgp]peer 172.16.128.1 connect-interface lo0
[r7-bgp]
Feb 2 2023 00:04:37-08:00 r7 %%01BGP/3/STATE_CHG_UPDOWN(l)[0]:The status of the
peer 172.16.128.1 changed from OPENCONFIRM to ESTABLISHED. (InstanceName=Public
, StateChangeReason=Up)
[r7-bgp]peer 78.1.1.2 as
[r7-bgp]peer 78.1.1.2 as-number 3
[r7-bgp]
R8:
[r8]bgp 3
[r8-bgp]router-id 8.8.8.8
[r8-bgp]peer 172.16.164.1 as-number 2
[r8-bgp]
注:如果在过程中少配或者配错了一些命令,则需要删除整个路由器的bgp重新进行配置
查看邻居建立情况
不知道为什么有些bgp协议配置完成bgp路由器接口无法established????
如果成功established之后,接下来的步骤如下:
进行宣告1.1.1.1
接下来正常情况下,R2会给R3和R5传递这条路由信息,但是由于AS-BY-AS导致R3和R5上这条路由不优,我们需要在R2上更改到R3和R5的下一跳,然后这条路由在R3和R5上就优了。
但是R3由于水平分割的原因无法将此路由传递给R4,而R2和R5之间是联邦内部ebgp的关系,R5能够将此路由给R6,并且在R6中是优的,但是同样由于水平分割的原因,R6无法将此路由给R7,这时候,我们就可以使用反射的机制将R3和R6设置为RR,让R4和R7为客户端或者非客户端,这样R4和R6上也能获得该路由并且是优的,由于R4和R7也是联邦内部ebgp关系,所以R4也可以给R7了,最后再给ebgp的R8,就能完成该实验。
设置反射:
R6上学到了来自R5和R7的两条,但属性一样,所以可以防环
同样的方法,R8宣告8.8.8.8路由也可以全网学到。
R1和R8如果想要到AS2中间的路由,R2只需要写一条汇总路由指向空接口,并宣告
R1就有了到中间的路由。
R7上也需要写这条汇总路由指向空接口,并宣告
这样可以当R8访问一些黑洞路由时,直接在R7上就能丢掉,而不需要再转到R2上才能发现并丢弃。
至此实验结束!