ubuntu 如何使用vrf

在Ubuntu或其他Linux系统中,您使用ip命令和sysctl命令配置的网络和内核参数通常是临时的,这意味着在系统重启后这些配置会丢失。为了将这些配置持久化,您需要采取一些额外的步骤。

对于ip命令配置的网络接口和路由,您可以将这些配置添加到网络管理工具的配置文件中,或者创建一个启动脚本来在系统启动时重新应用这些配置。然而,对于VRF(Virtual Routing and Forwarding)这样的高级配置,通常需要特定的网络管理工具或自定义脚本来处理。

以下是一些可能的步骤来持久化您的配置:

  1. 使用Netplan(如果适用)
    Netplan是Ubuntu 18.04及更高版本中的网络配置工具。但是,Netplan原生不支持VRF配置。因此,您可能需要编写一个自定义的启动脚本来设置VRF。

  2. 编写自定义启动脚本
    您可以创建一个脚本,该脚本使用ip命令来设置VRF和其他网络配置,并将该脚本添加到系统的启动项中。例如,您可以将脚本放在/etc/network/if-up.d/目录中(如果此目录存在且被系统使用),或者创建一个systemd服务来在启动时运行该脚本。

    脚本示例(假设保存为/etc/network/if-up.d/vrf-setup-script.sh):

    #!/bin/bash
    ip link add mgmt type vrf table 2
    ip link set dev mgmt up
    ip link set ens37 vrf mgmt
    route add default gw 192.168.8.1 dev mgmt
    

    确保脚本具有执行权限:sudo chmod +x /etc/network/if-up.d/vrf-setup-script.sh

    但是,请注意,这种方法可能不适用于所有情况,因为/etc/network/if-up.d/目录和其中的脚本可能在某些Ubuntu版本或网络配置中不被使用。

  3. 使用systemd服务
    创建一个systemd服务来在启动时运行配置脚本可能是一个更可靠的方法。您可以创建一个systemd单元文件,该文件指定了一个在启动时运行的脚本。

    单元文件示例(假设保存为/etc/systemd/system/vrf-setup.service):

    [Unit]
    Description=Setup VRF
    After=network.target[Service]
    Type=oneshot
    ExecStart=/etc/network/if-up.d/vrf-setup-script.sh
    RemainAfterExit=true[Install]
    WantedBy=multi-user.target
    

    然后,启用并启动该服务:

    sudo systemctl enable vrf-setup.service
    sudo systemctl start vrf-setup.service
    

在这里插入图片描述
在这里插入图片描述

  1. 持久化sysctl设置
    对于sysctl设置,您可以将它们添加到/etc/sysctl.conf文件或/etc/sysctl.d/目录中的某个文件中。例如:
    echo "net.ipv4.tcp_l3mdev_accept=1" | sudo tee -a /etc/sysctl.conf
    echo "net.ipv4.udp_l3mdev_accept=1" | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
    
创建VRF
ip link add yewu type vrf table 1
ip link add mgmt type vrf table 2
启用VRF
ip link set dev yewu up
ip link set dev mgmt up##简要查看采用-br参数
# ip -br link show type vrf
##查看所有vrf,-d参数可以显示ID号
# ip link show type vrf将物理接口绑定VRF
ip link set ens33 vrf yewu
ip link set ens37 vrf mgmt
将物理接口移除VRF
ip link set dev ens33 nomaster##显示被分配给vrf的设备
$ ip link show vrf  yewu查看
ip neigh show vrf yewu
ip route show table 1route add default gw 192.168.162.2 dev yewu
route add default gw 192.168.8.1 dev mgmtip route get vrf yewu 223.5.5.5
ping -I yewu  -4  www.baidu.comsysctl -w net.ipv4.tcp_l3mdev_accept=1
sysctl -w net.ipv4.udp_l3mdev_accept=1sysctl net.ipv4.raw_l3mdev_accept
sysctl net.ipv4.tcp_l3mdev_accept
sysctl net.ipv4.udp_l3mdev_accept

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/499205.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringMVC进阶(自定义拦截器以及异常处理)

文章目录 1.自定义拦截器 1.基本介绍 1.说明2.自定义拦截器的三个方法3.流程图 2.快速入门 1.Myinterceptor01.java2.FurnHandler.java3.springDispatcherServlet-servlet.xml配置拦截器4.单元测试 3.拦截特定路径 1.拦截指定路径2.通配符配置路径 4.细节说明5.多个拦截器 1.执…

Mac电脑python多版本环境安装与切换

我当前是python3.9.6环境,需要使用3.9.8环境,通过brew安装3.9.8版本,然后通过pyenv切换环境 步骤 1: 安装 pyenv brew install pyenv brew install pyenv-virtualenv 步骤 2: 安装 Python 3.9.8(使用 pyenv 安装指定版本的 Pyth…

【蓝桥杯——物联网设计与开发】拓展模块4 - 脉冲模块

目录 一、脉冲模块 (1)资源介绍 🔅原理图 🔅采集原理 (2)STM32CubeMX 软件配置 (3)代码编写 (4)实验现象 二、脉冲模块接口函数封装 三、踩坑日记 &a…

基于服务器部署的综合视频安防系统的智慧快消开源了。

智慧快消视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。国产化人工智能“…

12.31【Linux】shell脚本【运行方式,修改环境变量,数组】思维导图 内附练习

1.思维导图 2练习: 1.尝试将下列指令放到脚本中运行 在家目录下创建目录文件dir1,把/etc/passwd拷贝到dir1中,把/etc/group拷贝到dir1中并重命名为grp.txt,使用tree指令,显示dir1目录的文件树,把dir1&am…

win11 vs2022 opencv 4.10 camshift示例程序运行

记录win11 vs2022 opencv 4.10下 camshift等示例程序的单步debug启动方式,方便了解源码。 debug版本编译通过,但运行时报出大量日志信息(部分dll加载FAILED后会自动找兼容dll)。但也能继续运行,效果如下 release版本可以直接运行&#xff0…

赛博周刊·2024年度工具精选(图片资源类)

1、EmojiSpark emoji表情包查找工具。 2、fluentui-emoji 微软开源的Fluent Emoji表情包。 3、开源Emoji库 一个开源的emoji库,目前拥有4000个emoji表情。 4、中国表情包大合集博物馆 一个专门收集中国表情包的项目,已收录5712张表情包,并…

通过Cephadm工具搭建Ceph分布式存储以及通过文件系统形式进行挂载的步骤

1、什么是Ceph Ceph是一种开源、分布式存储系统,旨在提供卓越的性能、可靠性和可伸缩性。它是为了解决大规模数据存储问题而设计的,使得用户可以在无需特定硬件支持的前提下,通过普通的硬件设备来部署和管理存储解决方案。Ceph的灵活性和设计…

JVM对象创建过程

1 类加载检查 jvm通过new指令开始创建对象jvm执行new指令时,首先通过指令参数从常量池中取到需要创建的类名检查该类是否被加载,解析,和初始化过如果没有,则执行类的加载过程new指令对应到java语言具体的操作为 new 关键字创建对象…

逆向生成原理

逆向工程原理 前言逆向工程的原理1.Freemarker模板引擎2.逆向工程的原理 前言 在我们实际开发过程中,开发流程大体可以分为需求分析、数据库字段设计、然后再开始编码,然后就开始创建我们实体类、controller、service、serviceImpl、mapper,…

【Unity】 HTFramework框架(五十七)通过Tag、Layer批量搜索物体

更新日期:2024年12月30日。 Github源码:[点我获取源码] Gitee源码:[点我获取源码] 索引 问题再现通过Tag搜索物体(SearchByTag)打开SearchByTag窗口搜索标记指定Tag的所有物体批量修改Tag搜索Undefined状态的所有物体 …

JWT包中的源码分析【Golang】

前言 最近在学web编程的途中,经过学长提醒,在进行登陆(Login)操作之后,识别是否登陆的标识应该要放入authorization中,正好最近也在学鉴权,就顺便来看看源码了。 正文 1. 代码示例 在进行分…

鸿蒙应用开发(1)

可能以为通过 鸿蒙应用开发启航计划(点我去看上一节) 的内容,就足够了,其实还没有。 可是我还是要告诉你,你还需要学习新的语言 -- ArkTS。 ,ArkTS是HUAWEI开发的程序语言。你需要学习这门语言。这会花费你…

python爬虫--小白篇【selenium自动爬取文件】

一、问题描述 在学习或工作中需要爬取文件资源时,由于文件数量太多,手动单个下载文件效率低,操作麻烦,采用selenium框架自动爬取文件数据是不二选择。如需要爬取下面网站中包含的全部pdf文件,并将其转为Markdown格式。…

超大规模分类(一):噪声对比估计(Noise Contrastive Estimation, NCE)

NCE损失对应的论文为《A fast and simple algorithm for training neural probabilistic language models》,发表于2012年的ICML会议。 背景 在2012年,语言模型一般采用n-gram的方法,统计单词/上下文间的共现关系,比神经概率语言…

latex 尖括号怎么写 编译出来是问号

首先引入\usepackage{amsmath}使用\langle \range, 如下: These knowledge graphs represent real-world facts in the form of triples of \(\langle entity, relationship, entity \rangle \)编译展示出来如下:

永磁同步电机控制算法--最大转矩电流比控制(牛顿迭代法)

一、原理介绍 搭建了基于牛顿迭代法的MTPA双闭环矢量控制系统 二、仿真验证 在MATLAB/simulink里面验证所提算法,采用和实验中一致的控制周期1e-4,电机部分计算周期为1e-6。仿真模型如下所示: 对直接公式计算法和牛顿迭代法进行仿真对比验…

[Win32/ATL]_[初级]_[处理WM_PAINT消息注意事项]

场景 在开发Win32/WTL程序时,遇到了使用CFolderDialog(atldlgs.h)打不开目录选择对话框的情况。具体表现是执行了窗口的DoModal,却没有窗口弹出来。 可以确定执行操作是在主线程,并不是工作线程。调试时暂停看堆栈,知道到DoModal方法里的SHB…

华为配置 之 RIP

简介: RIP(路由信息协议)是一种广泛使用的内部网关协议,基于距离向量算法来决定路径。它通过向全网广播路由控制信息来动态交换网络拓扑信息,从而计算出最佳路由路径。RIP易于配置和理解,非常适用于小型网络…

RCE-PLUS (学习记录)

源码 <?php error_reporting(0); highlight_file(__FILE__); function strCheck($cmd) {if(!preg_match("/\;|\&|\\$|\x09|\x26|more|less|head|sort|tail|sed|cut|awk|strings|od|php|ping|flag/i", $cmd)){return($cmd);}else{die("i hate this"…