network namespace与veth pair_如何查看veth归属哪个namespace-程序员宅基地

技术标签: 新手开发linux  linux开发  

network namespace

创建network namespace

# ip netns add blue

# ip netns list

blue

 

添加网口到namespace

先创建veth

# ip link add veth0 type veth peer name veth1

在当前namespace可以看到veth0和veth1

# ip link list

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:b2:cf:72 brd ff:ff:ff:ff:ff:ff

3: veth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000

    link/ether ae:0d:00:e1:11:38 brd ff:ff:ff:ff:ff:ff

4: veth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000

    link/ether 42:e7:50:d4:bb:c5 brd ff:ff:ff:ff:ff:ff

 

将veth1加到namespace “blue”

# ip link set veth1 netns blue

此时,当前namepapce只能看到veth0。

NewImage

通过如下命令可以查看blue namespace的网口

# ip netns exec blue ip link list

NewImage

 

配置network namespace的网口

通过ip netns exec可以配置namespace的网口

# ip netns exec blue ifconfig veth1 172.17.42.2/16 up

NewImage

network namespace的网口与物理网卡的通信

通过bridge来实现。参见veth pair一节。

 

主要参考

[0]Introducing Linux Network Namespaces

 

veth pair

veth pair是用于不同network namespace间进行通信的方式,veth pair将一个network namespace数据发往另一个network namespace的veth。如下:

NewImage

 

# add the namespaces

ip netns add ns1

ip netns add ns2

# create the veth pair

ip link add tap1 type veth peer name tap2

# move

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/tycoon1988/article/details/39055149

智能推荐

实现一个函数判断year是不是润年_编写一个函数判断year年份是否为闰年-程序员宅基地

文章浏览阅读309次。实现一个函数判断year是不是润年#include <stdio.h>void leap_year(int i)//创建函数{ if (i % 4 == 0 && i % 100 == !0 || i % 400 == 0) { printf("是闰年\n"); } else { printf("不是闰年\n"); }}int main()..._编写一个函数判断year年份是否为闰年

docker的挂载和数据卷_docker mount-程序员宅基地

文章浏览阅读2.3k次。我们还定义了两个 volumes,一个用于将本地的 /data/mysql 目录挂载到 MySQL 容器中的 /var/lib/mysql 目录上,另一个用于将当前目录(即 .)挂载到 Django 容器中的 /code 目录上。它们允许容器中的数据在容器停止和删除后仍然存在,并允许多个容器共享同一卷,使用数据卷可以使容器中的数据持久化,并且可以在多个容器之间共享相同的数据。MySQL 容器中的数据会被保存到本地的 /data/mysql 目录中,而 Django 容器中的代码会被保存到本地的当前目录中。_docker mount

Linux驱动开发03:Input子系统_linux btn_0-程序员宅基地

文章浏览阅读530次。介绍本章以”BTN_0”事件为例, 使用input子系统向内核注册一个”BTN_0”的输入事件,然后通过定时器定时触发来模拟按键按下的操作;在应用层中通过注册输入事件来接收驱动发出的事件。整个过程不涉及硬件,只是介绍Input子系统的框架。 Input子系统基于cdev提供接口,属于字符设备,所有使用input子系统构建的设备都使用主设备号13,同时输入子系统也支持自动创建设备文件,这些文件..._linux btn_0

简单的涂色问题解决_最近小民接到一个涂色任务:有排成一行的 n 个方格,用红(red)、粉(pink)、绿(g-程序员宅基地

文章浏览阅读2.1k次。题目内容: 有排成一行的n个方格,用红(Red)、粉(Pink)、绿(Green)三色涂每个格子,每格涂一色,要求任何 相邻的方格不能同色,且首尾两格也不同色.求全部的满足要求的涂法。 输入描述输入正整数n输出描述输出结果 输入样例5输出样例30_最近小民接到一个涂色任务:有排成一行的 n 个方格,用红(red)、粉(pink)、绿(g

getElementsByClassName的用法 和 js获取class-程序员宅基地

文章浏览阅读675次。因为IE浏览器不支持getElementsByClassName,所以你要自己写一个方法得到class但是火狐浏览器知道getElementsByClassName,可以直接的用<html><head> <title></title> <script type="text/javascript"> ..._getelementsbytagname 获取classname

C语言中的函数(超详细)_c语言函数-程序员宅基地

文章浏览阅读4.3w次,点赞232次,收藏759次。我们都知道函数是数学里的重要组成部分,数学中我们常见到函数的概念,但是你了解C语言中的函数吗?其实函数就相当于一个子程序,那什么是子程序呢?在计算机科学中,子程序是一个大型程序中的某部分代码, 由一个或多个语句块组成。它负责完成某项特定任务,而且相较于其他代 码,具备相对的独立性。一般会有输入参数并有返回值,提供对过程的封装和细节的隐藏。这些代码通常被集成为软件库。如果库函数能干所有的事情,那还要程序员干什么?所有更加重要的是自定义函数!!!_c语言函数

随便推点

基于Android校园跳蚤市场交易系统的设计与实现_基于安卓的跳蚤市场论文-程序员宅基地

文章浏览阅读3.3w次,点赞76次,收藏458次。小跳蚤 大用途前言: 算一算时间又快到了一年一度的毕业设计了吧,我也差不多完成我自己的毕业设计一年了,在此推出我的毕业设计成果以供后来的学弟学妹参考。都说站在巨人肩膀上,更上一层楼,在枯燥的编程期间我也有参考CSND大力哥的文章。很多人 把毕业设计应付过去,但是学习终究是自己的,绝知此事要躬行。接下来跟着我学习和分析的思路看一下成果吧!目录第1章 引言.... 5..._基于安卓的跳蚤市场论文

一文带你快速了解 Java 线上问题快速诊断神器 Arthas_[root@localhost ~]# ./as.sh arthas script version:-程序员宅基地

文章浏览阅读685次,点赞4次,收藏14次。文章目录一、什么是 Arthas二、特性一览三、Arthas 能为你做什么?四、快速安装1、前提条件2、一键安装五、快速使用1、启动并连接进程六、使用示例1、dashboard(当前系统的实时数据面板)2、sysprop(查看或修改java属性)3、mbean(实时查看Mbean信息)4、thread(查看线程)5、thread -n(查看占CPU前几的线程栈信息)6、jad(反编译代码)7、sc(查看已经加载的类)8、sm(列出某个类加载的方法)9、trace(跟踪方法的消耗时间)10、stack (查看_[root@localhost ~]# ./as.sh arthas script version: 3.7.2 [info] java_home: /

opencv 入门笔记十 图片序列保存为视频_opencv将图片保存为视频-程序员宅基地

文章浏览阅读3.8k次。opencv 入门笔记十 图片序列保存为视频_opencv将图片保存为视频

目标检测中准确率评价指标_目标检测overlap-程序员宅基地

文章浏览阅读1.1w次。caffe中实现SSD准确率评价方法是TestDetection()函数。mAp指标值是每个类别的Average precision的平均值。本文分析DetectionEvaluateLayer中实现评价的过程及其评价指标。需要指出的是,一般的前向过程是不包含DetectionEvaluateLayer层的定义的,只有在训练的评价(TEST)过程中才会使用到该layer。具体使用该层时,需要在..._目标检测overlap

27《Go语言入门》单向通道(chan)_go单向chan-程序员宅基地

文章浏览阅读1.1k次。这是我纯手写的《Go语言入门》,手把手教你入门Go。源码+文章,看了你就会????!文章中所有的代码我都放到了github.com/GanZhiXiong/go_learning这个仓库中!看文章时,对照仓库中代码学习效果更佳哦!目录什么是单向通道声明单向通道time包中的单向通道关闭通道只读通道不能关闭给关闭通道发送数据将会触发panic从已关闭的通道接收数据时将不会发生阻塞测试题测试1支持????什么是单向通道单向通道就是只能用于写入或读取数据的通道。它是对通道的一种使用限制。如果ch_go单向chan

SpringMVC(一)_"在springmvc配置文件中,有如下配置: <bean class=\"org.springfr-程序员宅基地

文章浏览阅读278次。Spring web mvc和Struts2都属于表现层的框架,它是Spring框架的一部分Springmvc处理流程入门程序springMVC是表现层框架,需要搭建web工程开发1、导入jar包2、加入配置文件创建SpringMVC的核心配置文件SpringMVC本身就是Spring的子项目,对Spring兼容性很好,不需要做很多配置。这里只配置一个Contr..._"在springmvc配置文件中,有如下配置: