###私网公司部分:
r1
inter g0/0/0
ip ad 192.168.2.1 24
inter lo0
ip ad 192.168.1.1 24
r6
inter g0/0/0
ip ad 192.168.2.1 24
inter lo0
ip ad 192.168.1.2 24
r5
inter g0/0/0
ip ad 192.168.3.1 24
inter lo0
ip ad 192.168.4.1 24
r7
inter g0/0/0
ip ad 192.168.3.1 24
inter lo0
ip ad 192.168.4.2 24
###运营商部分:
在关联到vrf空间前不能配置接口ip(不能给r2的0/0/0以及r4的0/0/1接口直接配地址)
否则该地址的直连路由将进入公有路由表
r2
inter g0/0/1
ip ad 23.1.1.2 24
inter lo0
ip ad 2.2.2.2 24
r3
inter g0/0/0
ip ad 23.1.1.3 24
inter g0/0/1
ip ad 34.1.1.3 24
inter lo0
ip ad 3.3.3.3 24
r4
inter g0/0/0
ip ad 34.1.1.4 24
inter lo0
ip ad 4.4.4.4 24
###ospf部分:
r2
ospf 1 router-id 2.2.2.2
area 0
network 23.1.1.0 0.0.0.255
network 2.2.2.0 0.0.0.255
r3
ospf 1 router-id 3.3.3.3
area 0
network 23.1.1.0 0.0.0.255
network 34.1.1.0 0.0.0.255
network 3.3.3.0 0.0.0.255
r4
ospf 1 router-id 4.4.4.4
area 0
network 34.1.1.0 0.0.0.255
network 4.4.4.0 0.0.0.255
display ip routing-table protocol ospf
检测ospf协议连通性
r2
ping 3.3.3.3
ping 4.4.4.4
###MPLS部分
r2
mpls lsr-id 2.2.2.2
mpls
mpls ldp
q
之后需要在所有标签经过的接口上开启协议
interface GigabitEthernet 0/0/1
mpls
mpls ldp
r3
mpls lsr-id 3.3.3.3
mpls
mpls ldp
q
之后需要在所有标签经过的接口上开启协议
interface GigabitEthernet 0/0/0
mpls
mpls ldp
interface GigabitEthernet 0/0/1
mpls
mpls ldp
r4
mpls lsr-id 4.4.4.4
mpls
mpls ldp
q
之后需要在所有标签经过的接口上开启协议
interface GigabitEthernet 0/0/0
mpls
mpls ldp
###MPLS VPN部分
r2
ip vpn-instance a 创建名为a的vrf空间
route-distinguisher 1:1 RD值
vpn-target 1:1 RT值 必须对端的PE端一致
interface GigabitEthernet 0/0/0 进入链接CE端的接口
ip binding vpn-instance a 关联到vrf空间
ip address 192.168.2.2 24 配置私有ip地址
ip vpn-instance b
route-distinguisher 2:2
vpn-target 2:2
interface GigabitEthernet 0/0/2
ip binding vpn-instance b
ip address 192.168.2.2 24
display ip routing-table vpn-instance a 查看空间内的私有路由表
ping -vpn-instance a 192.168.2.1 正常测试将在公有路由表中查询记录;该命令为基于VRF空间a进行路由查询
r4
ip vpn-instance a
route-distinguisher 1:1
vpn-target 1:1
interface GigabitEthernet 0/0/1
ip binding vpn-instance a
ip address 192.168.3.2 24
ip vpn-instance b
route-distinguisher 2:2
vpn-target 2:2
interface GigabitEthernet 0/0/2
ip binding vpn-instance b
ip address 192.168.3.2 24
###实现公司A1 A2 互通 B1 B2互通
r2没有到r1,r6环回的路由 需要写静态或动态(在r2上不能用常规写法) 下面的是动态写法
r1
ospf 2
area 0
network 192.168.1.0 0.0.0.255
network 192.168.2.0 0.0.0.255
r2
ospf 2 vpn-instance a
area 0
network 192.168.2.0 0.0.0.255
r6
ospf 3
area 0
network 192.168.1.0 0.0.0.255
network 192.168.2.0 0.0.0.255
r2
ospf 3 vpn-instance b
area 0
network 192.168.2.0 0.0.0.255
ping -vpn-instance a 192.168.1.1
ping -vpn-instance b 192.168.1.2
r4没有到r5,r7环回的路由 需要写静态或动态(在r4上不能用常规写法) 下面的是动态写法
r5
ospf 2
area 0
network 192.168.3.0 0.0.0.255
network 192.168.4.0 0.0.0.255
r4
ospf 2 vpn-instance a
area 0
network 192.168.3.0 0.0.0.255
r7
ospf 3
area 0
network 192.168.3.0 0.0.0.255
network 192.168.4.0 0.0.0.255
r4
ospf 3 vpn-instance b
area 0
network 192.168.3.0 0.0.0.255
ping -vpn-instance a 192.168.4.1
ping -vpn-instance b 192.168.4.2
###bgp部分:
r2
bgp 1
peer 4.4.4.4 as-number 1
peer 4.4.4.4 connect-interface lo0
ipv4-family vpnv4
peer 4.4.4.4 enable
r4
bgp 1
peer 2.2.2.2 as-number 1
peer 2.2.2.2 connect-interface lo0
ipv4-family vpnv4
peer 2.2.2.2 enable
双向重发布
r2
bgp 1
ipv4-family vpn-instance a
import-route ospf 2
ipv4-family vpn-instance b
import-route ospf 3
q
ospf 2
import-route bgp
ospf 3
import-route bgp
r4
bgp 1
ipv4-family vpn-instance a
import-route ospf 2
ipv4-family vpn-instance b
import-route ospf 3
q
ospf 2
import-route bgp
ospf 3
import-route bgp
公司A1 ping 公司A2
r1
ping 192.168.4.1
公司B1 ping 公司B2
r6
ping 192.168.4.2
都说明MPLS VPN完成 私网环境(A1与A2 B1与B2)互通
###解决r7(公司B2)上网问题 (r4-r7的g4/0/0-g0/0/1属于上网链路)
配置公网地址
r4
inter g4/0/0
ip ad 100.1.1.1 24
r7
inter g0/0/1
ip ad 100.1.1.2 24
acl 2000
rule permit source any
q
inter g0/0/1
nat outbound 2000
q
下放缺省
r7
ospf 3
default-route-advertise always
q
ip route-static 0.0.0.0 0 100.1.1.1
ping 4.4.4.4 //通 r4-r7能上网
ping 2.2.2.2 //不通 因为r2上没有r4的g4/0/0/接口上的100.1.1.1的路由
r7所有出去的流量都要通过100.1.1.0这个网段(r4-r7的g4/0/0-g0/0/1)来走
所以要在r4上正常的发布bgp路由条目
r4
bgp 1
network 100.1.1.0 24
r2 r4 都处于同一bgp r4上有公网的路由条目 r2上也会有(r4发布给r2的)
r7
ping 2.2.2.2 //还是不通
因为r3没有启用bgp 且没有写r3到r4的缺省
r3
ip route-static 0.0.0.0 0 34.1.1.4
r7
ping 2.2.2.2 //通
公司B2能上网 B1也要能上网 B1上网的方式:通过r2-r3-r4-r7 到了r7再在r7上网
因此在r6上也得写缺省
r6
ip route-static 0.0.0.0 0 192.168.2.2
ping 2.2.2.2 //不通 因为r6想要上网是通过r2-r3-r4的MPLS VPN过去 到了r7再在r7上网 所以MPLS VPN这个虚拟链路传递的时候也得有缺省
因此在bgp里引入缺省
r4
bgp 1
ipv4-family vpn-instance b
default-route imported //把刚才在r7的ospf里下方的缺省导入进bgp
r2
display ip routing-table vpn-instance b
r6
ping 2.2.2.2 //通
ping 4.4.4.4 //通
实现公司B1上网