# VPP 对接联通 A 网的配置方法 云网关对接 A 网需要支持 GRE 接口, 在接受租户网路时需能支持 vlan 子网配置。 原生 VPP 支持 GRE 隧道、 Vxlan 隧道,也支持 vlan 接口配置。 现在云网关要实现完整的租户到 A 网的访问,需要支持将 vlan 子接口的报文发送到 GRE 接口输出给 A 网。 ## 模拟场景搭建环境 ![vpp-to-Anet-1](../../_static/vpp-to-Anet-1.png) ## 测试步骤 1、配置 host-1 ```bash # (1)配置 vlan uranus> set int state GigabitEthernet0/a/0 up uranus> create sub-interface GigabitEthernet0/a/0 3 uranus> ip table add 1 uranus> set int ip table GigabitEthernet0/a/0.3 1 uranus> set int ip addr GigabitEthernet0/a/0.3 192.168.3.1/24 uranus> create sub-interface GigabitEthernet0/a/0 5 uranus> ip table add 2 uranus> set int ip table GigabitEthernet0/a/0.5 2 uranus> set int ip addr GigabitEthernet0/a/0.5 192.168.5.1/24 uranus> set int state GigabitEthernet0/a/0.3 up uranus> set int state GigabitEthernet0/a/0.5 up # (2)配置 gre tunnel uranus> set int ip addr GigabitEthernet0/c/0 192.168.6.1/24 uranus> set int state GigabitEthernet0/c/0 up uranus> create gre tunnel src 192.168.6.1 dst 192.168.6.2 uranus> set int ip addr gre0 172.16.1.1/24 uranus> set int state gre0 up # (3)配置路由表 uranus> ip route add 0.0.0.0/0 table 0 192.168.3.2/32 via gre0 uranus> ip route add 0.0.0.0/0 table 0 192.168.5.2/32 via gre0 uranus> ip route add 0.0.0.0/0 table 0 192.168.3.1/24 via GigabitEthernet0/a/0.3 uranus> ip route add 0.0.0.0/0 table 0 192.168.5.1/24 via GigabitEthernet0/a/0.5 uranus> ip route add 0.0.0.0/0 table 1 192.168.3.2/32 via gre0 uranus> ip route add 0.0.0.0/0 table 2 192.168.5.2/32 via gre0 ``` 查看配置,子接口和 gre 已配上: ![vpp-to-Anet-2](../../_static/vpp-to-Anet-2.png) 2、配置 host-2 ```bash # (1) 配置 host-3 vpp uranus> set int state GigabitEthernet0/b/0 up uranus> create sub-interface GigabitEthernet0/b/0 3 uranus> ip table add 1 uranus> set int ip table GigabitEthernet0/b/0.3 1 uranus> set int ip addr GigabitEthernet0/b/0.3 192.168.3.2/24 # 配置 vxlan 子接口 uranus> set int state GigabitEthernet0/b/0.3 up uranus> create sub-interface GigabitEthernet0/b/0 5 uranus> ip table add 2 uranus> set int ip table GigabitEthernet0/b/0.5 2 uranus> set int ip addr GigabitEthernet0/b/0.5 192.168.5.2/24 # 配置 vxlan 子接口 uranus> set int state GigabitEthernet0/b/0.5 up # (2)配置 gre tunnel uranus> set int ip addr GigabitEthernet0/c/0 192.168.6.2/24 uranus> set int state GigabitEthernet0/c/0 up uranus> create gre tunnel src 192.168.6.2 dst 192.168.6.1 uranus> set int ip addr gre0 172.16.1.2/24 uranus> set int state gre0 up # (3)配置路由表 uranus> ip route add 0.0.0.0/0 table 0 192.168.3.1/32 via gre0 uranus> ip route add 0.0.0.0/0 table 0 192.168.5.1/32 via gre0 uranus> ip route add 0.0.0.0/0 table 0 192.168.3.2/24 via GigabitEthernet0/b/0.3 uranus> ip route add 0.0.0.0/0 table 0 192.168.5.2/24 via GigabitEthernet0/b/0.5 uranus> ip route add 0.0.0.0/0 table 1 192.168.3.1/32 via gre0 uranus> ip route add 0.0.0.0/0 table 2 192.168.5.1/32 via gre0 ``` 查看配置: ![vpp-to-Anet-3](../../_static/vpp-to-Anet-3.png) 3、 测试:从 host-1 ping host-2 ![vpp-to-Anet-4](../../_static/vpp-to-Anet-4.png)