Linux虚拟网络设备—Veth Pair

        veth是Virtual Ethernet Device的缩写,是一种成对出现的Linux虚拟网络接口设备。它最常用的功能是用于将不同的Linux network namespaces 命名空间网络连接起来,让二个namespaces之间可以进行通信。我们可以简单的把veth pair理解为用一根网线,把二台电脑(二个namespaces)主接连接起来。这样我们就很好理解,veth pair的任何一端down掉了,另外一端也就down掉了。

        下面我们以一台Linux主机中,创建二个namespaces命名空间,并用一对veth-pair把二个namespaces命名空间用IP网络连通为例来说明如果使用veth。

在这里插入图片描述

1、我们可以用以下命令来创建veth pair: veth0----veth1

        创建veth0—veth1的虚拟以太网设备对。

sudo ip link add veth0 type veth peer name veth1

2、创建二个命名空间namespaces后,可以用以下命令将二个veth设备分别移入二个命名空间ns0和ns1,并将它们连接起来。

        创建ns0和ns1二个namespaces命名空间,并将veth0设置为ns0的网卡,将veth1设置为ns1的网卡。

sudo ip netns add ns0
sudo ip netns add ns1
sudo ip link set veth0 netns ns0
sudo ip link set veth1 netns ns1

1+2、或者用以下命令在创建namespaces后,直接在二个namespaces里分别创建veth0和veth2,将二个命名空间直接连接起来

        这一步,等价于上面二步,直接创建ns0和ns1二个namespaces命名空间和veth0—veth1虚拟以太网设备对,并将veth0设置为ns0的网卡,将veth1设置为ns1的网卡。

sudo ip netns add ns0
sudo ip netns add ns1
sudo ip link add veth0 netns ns0 type veth peer veth1 netns ns1

3、使能veth0和veth1

        使能veth0—veth1虚拟以太网设备对,注意要二边都使能起来(相当于插上了网线)

sudo ip netns exec ns0 ip link set veth0 up
sudo ip netns exec ns1 ip link set veth1 up

4、查看ns0和ns1二个命名空间内的veth

        使用ip netns exec ns0 + 要执行的命令的形式,在ns0内执行指定的命令,如下是执行ip link show命令,来查看ns0里的网络链路情况。

sudo ip netns exec ns0 ip link show
sudo ip netns exec ns1 ip link show

5、配置ns0和ns1的网络

        使用ip netns exec ns0 + 要执行的命令的形式,在ns0内执行指定的命令,如下是执行ip addr add命令,来给ns0里的veth0配置IP地址。同时相应的操作ns1。配置完成后,ns0和ns1下会自动产生默认路由。

sudo ip netns exec ns0 ip addr add 192.168.0.2/24 dev veth0
sudo ip netns exec ns1 ip addr add 192.168.0.3/24 dev veth1

6、查看ns0和ns1的ip地址和路由

        我们可以看到ns0里的veth0网卡的ip地址是192.168.0.2, ns1里的veth1网卡的ip地址是192.168.0.3,ns0和ns1二个命名空间里都产生了默认的路由。

sudo ip netns exec ns0 ip addr show
sudo ip netns exec ns1 ip addr show
sudo ip netns exec ns0 ip route show
sudo ip netns exec ns1 ip route show

7、验证ns0和ns1之前的网络连通性

        使用ip netns exec ns0 + 要执行的命令的形式,在ns0内执行指定的命令,如下是执行ping命令,来检查ns0和ns1之间ip网络的联通性。

xxx@xx-PC:~$ sudo ip netns exec ns0 ping 192.168.0.3
PING 192.168.0.3 (192.168.0.3) 56(84) bytes of data.
64 bytes from 192.168.0.3: icmp_seq=1 ttl=64 time=0.024 ms
64 bytes from 192.168.0.3: icmp_seq=2 ttl=64 time=0.030 ms
64 bytes from 192.168.0.3: icmp_seq=3 ttl=64 time=0.050 ms

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

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

相关文章

ESB优势2019-架构师(六十二)

分布式数据数据库系统除了包含集中式数据库系统的模式结构外,还增加了几个模式级别,其中()定义了分布式数据库中数据的整体逻辑结构、使得数据使用方便,如同没有分布一样。 分片模式全局外模式分布模式全局概念模式 …

VisualStudio[WPF/.NET]基于CommunityToolkit.Mvvm架构开发

一、创建 "WPF应用程序" 新项目 项目模板选择如下&#xff1a; 暂时随机填一个目标框架&#xff0c;待会改&#xff1a; 二、修改“目标框架” 双击“解决方案资源管理器”中<项目>CU-APP, 打开<项目工程文件>CU-APP.csproj, 修改目标框架TargetFramew…

企业出海:深入测评华为云云连接

随着全球化不断发展&#xff0c;中国企业也不断向海外拓展业务&#xff0c;然而出海企业面临不同以往的困难和挑战&#xff0c;在其中不可避免面临的跨境网络时延问题&#xff0c;如何选择区域进行部署企业业务&#xff0c;减少时延问题也成为需要重点考虑的问题。九河云结合测…

【嵌入式项目应用】__cJSON在单片机的使用

目录 前言 一、JSON和cJson 二、cJSON是如何表示JSON数据的 三、如何封装完整的JSON数据 1. 先将串口打通&#xff0c;方便电脑查看log日志。 2. 增加cjson.c文件&#xff0c;已经在main.c中 3. 准备打包如下的JSON包 4. 代码部分&#xff0c;先将几个部分初始化指针 …

web - Tomcat服务器

文章目录 目录 文章目录 前言 一 . CS和BS的异同 二 . 什么是Tomcat 二 . Tomcat安装 四 . Tomcat目录结构 bin目录: 用于存放二进制的可执行文件 config目录 server.xml&#xff1a;配置整个服务器信息。例如修改端口号。默认HTTP请求的端口号是&#xff1a;8080 lib目录 log…

VSCode 开发 Vue 语法提示

一. 打开应用商店&#xff0c;搜索 vetur &#xff0c;选择第一个&#xff0c;点击安装。 二. 安装完成后&#xff0c;还可以下载 Vue Language Features 解决代码警告的问题。 最后重启 VSCode 就可以使用啦。另外输入 按回车键还可以自动生成 vue 代码格式哦。 原创作者&…

【20年VIO梳理】

19-20年VIO 梳理 1. 开源代码介绍&#xff1a; DSM2. FMD Stereo SLAM&#xff1a;融合MVG和直接方法&#xff0c;实现准确&#xff0c;快速的双目SLAM3. 基于VINS-Mono开发的SPVIS4. 改进&#xff1a;一种基于光流的动态环境移动机器人定位方案5. PVIO:基于先验平面约束的高效…

网络流探索:解决网络最大流问题的算法集锦

1.初识网络流 网络流一直是初学者心中很难过去的一道坎&#xff0c;很多人说它是一个不像DFS/BFS那么直观的算法&#xff0c;同时网上也有各种参差不齐的材料&#xff0c;让人感到一知半解。 如果你也有这样的感觉&#xff0c;那么不要灰心&#xff0c;坚持住&#xff0c;因为…

linux音频-IIS音频接口

IIS 总线 IIS(Integrate Interface of Sound)即集成音频接口&#xff0c;在上个世纪 80 年代首先被 Philips 公司用于消费产品的音频设备&#xff0c; I2S规范 I2S总线只能用来处理audio data&#xff0c;而别的信号比如控制信号&#xff0c;编码信号则交给别的模块处理。为了…

【攻克】抓包工具:中文版Fiddler使用 教程-攻克获取微信账单

Fiddler是一款免费网络代理调试工具。 Fiddler是一个蛮好用的抓包工具&#xff0c;可以将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作。也可以用来检测网络安全。反正好处多多&#xff0c;举之不尽呀&#xff01; 当年学习的时候也蛮费劲&#xff0c;一些蛮…

数据清洗与规范化详解

数据处理流程&#xff0c;也称数据处理管道&#xff0c;是将原始数据转化为有意义的信息和知识的一系列操作步骤。它包括数据采集、清洗、转换、分析和可视化等环节&#xff0c;旨在提供有用的见解和决策支持。在数据可视化中数据处理是可视化展示前非常重要的一步&#xff0c;…

信息科技如何做好风险管理

文章目录 前言介绍亮点结构读者对象 前言 信息科技对金融业务发展所起的作用是举足轻重的。 近年来&#xff0c;金融机构在战略规划中相继引入科技引领的概念。作为金融机构信息科技从业人员&#xff0c;我们笃信信息科技是一个非常有用的工具&#xff0c;一个兼具产品思维和管…

Mysql在ubuntu22.04上安装配置

更新并下载Mysql sudo apt update sudo apt install mysql-server启动Mysql服务 sudo systemctl start mysql安全配置 包括设置密码、删除匿名用户、禁止远程root登录等&#xff0c;按提示进行即可。 sudo mysql_secure_installation是否设置密码&#xff1a;是 三种强度密…

DBeaver连接数据库报错:Public Key Retrieval is not allowed 的解决方案

写在前面&#xff1a; DBeaver是一款免费的数据库管理工具&#xff0c;安装也是傻瓜式一键安装&#xff0c;比较推荐。 DBeaver官网&#xff08;加载有点慢&#xff0c;耐心等待&#xff09;&#xff1a;DBeaver Community | Free Universal Database Tool 报错详情&#xff…

ARM,汇编指令

一、汇编指令 1、搬移指令 mov r0 ,#3 mov r1,r0 msr cpsr,r0 mrs r0,cpsr 2、条件执行及标志位 cmp moveq movgt 3、机器码 1&#xff09;、立即数合法性 2&#xff09;、立即数不合法 ldr r0,0x12345678 伪指令解决不合法的问题 前4位表示16个数&#xff0c;一个数移动2次。 …

疯狂java 三-六章

第三章 数据类型和运算符 Java语言是强类型语言&#xff0c;意思是每个变量和每个表达式都有一个在编译时就确定的类型&#xff0c;所有的变量都必须显式声明类型 标识符就是类&#xff0c;变量、方法命名的符号 标识符不能包含空格 标识符只能包含美元符($)&#xff0c;不…

UG\NX二次开发 连接曲线、连结曲线 UF_CURVE_auto_join_curves

文章作者:里海 来源网站:王牌飞行员_里海_里海NX二次开发3000例,里海BlockUI专栏,C\C++-CSDN博客 简介 UG\NX二次开发 连接曲线、连结曲线 UF_CURVE_auto_join_curves 效果 代码 #include "me.hpp" extern DllExport void ufusr(char* param, int* returnC…

白嫖在线云服务器,免费在 linux 服务器使用 docker 。 附视频+附文档

白嫖在线云服务器&#xff0c;免费在 linux 服务器使用 docker 。 附视频附文档 文章目录 前言启动 Nginx 案例最后 视频&#xff1a;https://www.bilibili.com/video/BV1WN411W79V/ 国内互联网经过多年发展&#xff0c;单体应用已经无法支持我们的互联网业务&#xff0c;分布…

“第五十一天”

无符号整数&#xff1a; 计算机硬件在进行无符号整数的加法时&#xff0c;从最低位开始&#xff0c;按位相加&#xff0c;并往更高位进位。 当进行减法时&#xff0c;被减数不变&#xff0c;减数全部按位取反&#xff0c;末位加一&#xff08;将一个正数变负&#xff0c;或者…

使用element-UI Cascader组件,实现第一级单选选,第二级,第三级,子级可以多选

最近开发过程中&#xff0c;遇到需求测一个需求&#xff0c;就是级联选择器&#xff0c;需要多选&#xff1b;但是第一级是单选&#xff1b; 既要单选又要复选。参照网上内容&#xff0c;自己整理了一下功能实现&#xff1b; 如下图&#xff1a; 思路&#xff1a;1.把第一层的…