VPP与FRR基于Linux网络协议栈通信(vrf方式)

您所在的位置:网站首页 linux查看网络协议的版本 VPP与FRR基于Linux网络协议栈通信(vrf方式)

VPP与FRR基于Linux网络协议栈通信(vrf方式)

2024-07-15 12:28| 来源: 网络整理| 查看: 265

  VRF (Virtual Routing and Forwarding)使同一系统下拥有多种且独立的路由表。在LINUX的内核中,从4.3版本已开始支持VRF,若需要较好支持vrf功能,建议Linux操作系统内核版本4.8以上。

操作环境:本文操作系统采用CentOS8,已经安装iproute2。

如下将创建一个veth对,并将其分别绑定到两个不同VRF,然后互相ping通IP;

1. VETH打通不同VRF的基础配置 # 1.创建vrf表red和blue并分别启动 ip link add blue type vrf table 1 ip link add red type vrf table 2 ip link set blue up ip link set red up ip link show type vrf # 2.创建veth对red1和blue1,并分别挂载到对应vrf,启动 ip link add red1 type veth peer name blue1 ip link set red1 vrf red ip link set blue1 vrf blue ip link set blue1 up ip link set red1 up # 3.给veth对分配ip,并ping通彼此 ip addr add 10.10.10.1/24 dev red1 ip addr add 10.10.10.2/24 dev blue1 # 4.通过VRF进行ping操作 ping 10.10.10.1 -I blue1 ping 10.10.10.2 -I red1 # 查看vrf blue的端口地址和路由 ip link show vrf blue ip addr show vrf blue ip route show vrf blue 2. 打通VPP->Linux Kernel netns途径 2.1. linux Shell创建vrf和一对veth,并进行设置; #创建并启动vrf ip link add vrf-2 type vrf table 2 ip link set vrf-2 up #创建veth并绑定 ip link add vpp2 type veth peer name frr2 ip link set frr2 up ip link set vpp2 up ip link set frr2 vrf vrf-2 #添加veth pair的IP ip addr add 10.10.40.1/24 dev frr2 #添加静态路由到vrf表中,指向vpp中网段 ip route add 10.10.10.0/24 via 10.10.40.2 dev frr2 vrf vrf-2 2.2. vpp中接管VETH网卡 #vppctl #创建vrf表2,并挂载物理口G2 ip table add 2 set int ip table G2 2 set interface state G2 up set interface ip addr G2 10.10.10.1/24 #接管veth 网卡 create host-interface name vpp2 set int ip table host-vpp2 2 set interface state host-vpp2 up set interface ip addr host-vpp2 10.10.40.2/24 #添加静态路由,指向vrf 2直连端口下一跳 ip route add 10.10.10.0/24 table 2 via G2 3. 打通FRR->Linux Kernel netns途径

通过FRR官方文档可知,Frr中模块zebra支持对操作系统底层网络的多个接口、地址、静态路由、VRF的动态同步;也可通过配置/etc/frr/zebra.conf完成指定VRF,启动时加-f /etc/frr/zebra.conf;这种情况下,不需要在daemons配置文件中开启-n参数。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3