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 1

route add default gw 192.168.162.2 dev yewu
route add default gw 192.168.8.1 dev mgmt

ip route get vrf yewu 223.5.5.5
ping -I yewu  -4  www.baidu.com


sysctl -w net.ipv4.tcp_l3mdev_accept=1
sysctl -w net.ipv4.udp_l3mdev_accept=1

sysctl net.ipv4.raw_l3mdev_accept
sysctl net.ipv4.tcp_l3mdev_accept
sysctl net.ipv4.udp_l3mdev_accept

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024秋语法分析作业-B(满分25分)

特别注意:第17条产生式改为 17) Stmt → while ( Cond ) Stmt 【问题描述】 本次作业只测试一个含简单变量声明、赋值语句、输出语句、if语句和while语句的文法: 0) CompUnit → Block 1) Block → { BlockItemList } 2) BlockItemList → BlockItem…

SQL-leetcode-197. 上升的温度

197. 上升的温度 表: Weather ---------------------- | Column Name | Type | ---------------------- | id | int | | recordDate | date | | temperature | int | ---------------------- id 是该表具有唯一值的列。 没有具有相同 recordDate 的不同行。 该表包…

C#编写的金鱼趣味小应用 - 开源研究系列文章

今天逛网,在GitHub中文网上发现一个源码,里面有这个金鱼小应用,于是就下载下来,根据自己的C#架构模板进行了更改,最终形成了这个例子。 1、 项目目录; 2、 源码介绍; 1) 初始化; 将样…

通过无障碍服务(AccessibilityService)实现Android设备全局水印显示

一、无障碍功能简介 首先我们先来了解下无障碍功能的官方介绍: 无障碍服务仅应用于帮助残障用户使用 Android 设备和应用。它们在后台运行,并在触发 AccessibilityEvents 时接收系统的回调。此类事件表示用户界面中的某些状态转换,例如焦点已…

【Blackbox Exporter】prober.Handler源码详细分析

http.HandleFunc(path.Join(*routePrefix, "/probe"), func(w http.ResponseWriter, r *http.Request) {sc.Lock()conf : sc.Csc.Unlock()prober.Handler(w, r, conf, logger, rh, *timeoutOffset, nil, moduleUnknownCounter, allowedLevel)})我们了解到blackbox_ex…

SpringMVC核心、两种视图解析方法、过滤器拦截器 “ / “ 的意义

SpringMVC的执行流程 1. Spring MVC 的视图解析机制 Spring MVC 的核心职责之一是将数据绑定到视图并呈现给用户。它通过 视图解析器(View Resolver) 来将逻辑视图名称解析为具体的视图文件(如 HTML、JSP)。 核心流程 Controlle…

基于动力学的MPC控制器设计盲点解析

文章目录 Apollo MPC控制器的设计架构误差模型和离散化预测模型推导目标函数和约束设计优化求解优化OSQP求解器参考文献 Apollo MPC控制器的设计架构 误差模型和离散化 状态变量和控制变量 1、Apollo MPC控制器中状态变量主要有如下6个 matrix_state_ Matrix::Zero(basic_stat…

DC-DC 降压转换器设计提示和技巧

基本 DC-DC 降压转换器电路 在开始之前,我们先回顾一下DC-DC降压转换器的电路: 为了帮助您,我开发了降压设计中“什么影响什么”的矩阵: 主要的权衡是电感(与 k 因子成反比,即峰峰值与平均电感电流之比&a…

Unity3D仿星露谷物语开发9之创建农场Scene

1、目标 绘制农场的场景。通过不同Sorting Layer控制物体的显示优先级,绘制Tilemap地图,添加Tilemap Collider碰撞器,同时添加Composite Collider碰撞器优化性能。 ps:绘制Tilemap的技巧:通过"Shift [" 可…

Linux 定时任务:轻松创建与精准执行

Linux 定时任务:轻松创建与精准执行 在 Linux 系统的运维与自动化管理领域,定时任务扮演着举足轻重的角色。它能够让系统在预设的时间点或周期性时段,自动执行特定的脚本、命令,极大地减轻了管理员的工作负担,提升工作…

Linux驱动开发:深入理解I2C时序(二)

在Linux驱动开发中,I2C时序的理解和正确处理是保证I2C设备正常工作和通信的关键。I2C协议的时序特性决定了数据的有效传输和设备间的协作。因此,掌握I2C的时序细节,以及如何在Linux内核中进行时序处理,能够让开发者更好地处理设备通信问题。 本文将继续深入探讨I2C通信协议…

国产编辑器EverEdit - 常用资源汇总

1 国产编辑器EverEdit-常用资源汇总 EverEdit是一款国产文本编辑器,历经超过15年的更新和维护,拥有不输业界顶级商业文本编辑器(EmEditor、UltraEdit)的实力,甚至在某些方面的功能更强(当然,各有千秋),开发者对文本编辑…

解决uniapp H5页面限制输入框只能输数字问题

工作记录 最最近在做 uniapp 开发的移动端 H5 页面,有个需求是金额输入框只能输入数字,不能输入小数点和其他字符,经过各种尝试,发现其他字符可以通过正则过滤掉,但是输入小数点的话,因为没有触发 input 和…

面试准备备备备

职业技能 放到简历的黄金位置(HR刷选简历的重要参考) 基本准则:写在简历上的必须能聊,不然就别写 参考公式:职业技能 必要技术 其他技术 针对性的引导面试官(让他问一些你想让他问的) 寻找合…

npm install --global windows-build-tools --save 失败

注意以下点 为啥下载windows-build-tools,是因为node-sass4.14.1 一直下载不成功,提示python2 没有安装,最终要安装这个,但是安装这个又失败,主要有以下几个要注意的 1、node 版本 14.21.3 不能太高 2、管理员运行 …

Jenkins 中自动化部署 Spring Boot 项目

👨🏻‍💻 热爱摄影的程序员 👨🏻‍🎨 喜欢编码的设计师 🧕🏻 擅长设计的剪辑师 🧑🏻‍🏫 一位高冷无情的全栈工程师 欢迎分享 / 收藏 / 赞 / 在看…

【DSP/matlab】fftshift 是什么意思?在信号处理中有什么作用?

文章目录 前言一、定义什么是 fftshift?fftshift 在信号处理中的作用: 前言 dsp_paper 一、定义 fftshift 是一个在信号处理和数字信号处理中常用的函数,特别是在使用快速傅里叶变换(FFT)时。这个函数的主要作用是将…

【PCIe 总线及设备入门学习专栏 4.2 -- PCI 总线的三种传输模式 】

文章目录 OverviewProgrammed I/O(PIO)Direct Memory Access (DMA)Peer-to-Peer 本文转自:https://blog.chinaaet.com/justlxy/p/5100053095 Overview 本文来简单地介绍一下PCI Spec规定的三种数据传输模型:Programmed I/O&…

SpringBoot_第二天

SpringBoot_第二天 学习目标 Mybatis整合&数据访问 使用SpringBoot开发企业项目时,持久层数据访问是前端页面数据展示的基础,SpringBoot支持市面上常见的关系库产品(Oracle,Mysql,SqlServer,DB2等)对应的相关持久层框架,当然除了对于关系…

分类模型评估利器-混淆矩阵

相关文章 地理时空动态模拟工具介绍(上) 地理时空动态模拟工具介绍(下)地理时空动态模拟工具的使用方法 前言 混淆矩阵(Confusion Matrix)是机器学习领域中用于评估分类模型性能的一种工具。它通过矩阵的…