Linux 下VRF的简单应用

1,引入

VRF是实现虚拟路由转发功能的,在linux-4.0内核以上实现的,vrf的实际功能是实现了3层的数据包的隔离,这跟VLAN实现的二层隔离是不一样的。下面主要介绍LINUX下VRF的创建(ip命令)和结合一些应用相关使用VRF。

https://blog.csdn.net/dog250/article/details/78069964 这篇博客原理性的东西讲的很好,可以参考。

2,VRF接口的创建

① 创建一个VRF red并绑定路由表table 10:

复制代码
ip link add red type vrf table 10
ip link set red up  (up接口)

我们可以看到一个red接口和ip rule下看到三层设备:

:不管添加了几个vrf设备,在ip rule下只会看到一个l3mdev-table,可以理解为这只是一个入口。

② 向当前vrf red中增加或删除接口

复制代码
ip link set dev eth0.1 master red :把eth0.1加入red中
ip link set dev eth0.1 nomaster   :删除eth0.1接口

注意:为什么删除的时候不用带red参数?

因为一个接口只能被添加到一个vrf中,如果多次添加,只有最后一个生效。

③ 显示当前的vrf 信息:

复制代码
ip vrf show : 显示所有vrf 与 table 表绑定关系
ip vrf show red : 显示vrf red 信息

④ 其他显示命令 (只需要在对应的IP命令后面带上vrf red)

复制代码
ip link show vrf red  :显示接口
ip route show vrf red :显示路由
ip addr show vrf red  :显示地址
ip neigh show vrf red :显示邻居

⑤ route和addr添加

复制代码
ip addr add 172.10.10.10/24 dev eth0.1 :添加addr
ip route add 192.168.1.0/24 via 172.10.10.11 vrf red :添加路由

因为red中绑定的table 10,所以路由也可以向table 10添加

⑥ 测试命令

ip vrf exec red ping 10.10.10.101 :连通性测试(ping可以替换为其他的命令,需要内核开启cgroup CONFIG_CGROUP_DEVICE)

如何让应用程序绑定你的vrf接口哪?

① 使用 ip vrf exec red cmd : 用对应的vrf启动相关的命令程序,这通常可以使用在独立的程序启动,如果这个程序全局都要使用,则不要这样做,除非这个程序可以启动多次。

② 通过 setsockopt去将程序的套接字绑定到对应的vrf域中

setsockopt(nSock, SOL_SOCKET, SO_BINDTODEVICE, vrf_name, strlen(vrf_name)+1)

3,绑定的应用程序

① 动态路由协议使用frr版本的,原生支持vrf接口的绑定(rip ospf bgp等)

4,总结

以上简单介绍了vrf的使用,其实功能性的东西就这么多,主要是如何结合其他应用程序,实现相关的隔离功能,其次就是隔离后的vrf域和全局的网络空间之间有什么区别和联系,这些是需要我们观察的。

相关推荐
M78佐菲8 小时前
Linux学习笔记:TCP协议
linux·笔记·学习·tcp/ip·算法
Brilliantwxx8 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
不怕犯错,就怕不做8 小时前
git prune 自动删除本地记录中那些远程已经不存在的分支引用
linux·服务器·git
richdata9 小时前
商品数字化不是先做大数据,而是先把数据变成可用决策
大数据·运维·数据治理·商品数字化·智能补货·ai商品决策
weixin_416667969 小时前
【无标题】
运维·服务器·网络
一池秋_10 小时前
arm低配linux设备,桌面应用冷启动提速方法
linux·运维·arm开发
惜离殇10 小时前
从零开始的敲代码生活--Linux应用软件(文件操作基础1)
linux·c语言·文件操作·标准io
上海云盾-小余12 小时前
流量攻击复盘:为什么 WAF 完好,业务依旧瘫痪
运维·服务器·网络
IT大白鼠12 小时前
Docker 私有仓库管理:Harbor 企业级仓库搭建与镜像全生命周期管理
运维·docker·容器
戴西软件12 小时前
戴西iDWS.3DViz Suite数据轻量化可视化软件,从传统桌面软件向云端协同的重大突破
大数据·运维·网络·人工智能·机器学习·3d