博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
虚拟网络设备及其在Linux网络命名空间中的应用
阅读量:4179 次
发布时间:2019-05-26

本文共 1017 字,大约阅读时间需要 3 分钟。

Linux的网络命名空间用以隔离Linux主机上的不同的网络环境。但是有时候,我们又需要从一个网络命名空间中访问另一个网络命名空间中的网络,这就需要用到虚拟网络设备。

虚拟网络设备(Virtual Network Device)是一种抽象的网络设备,类似网络管道,用以在不同的网络命名空间之间建立传输隧道,也可以用以创建网桥以连接到多个其他网络命名空间。虚拟网络设备在Linux中的实现就是veth(Virtual Ethernet Device)。veth是一种虚拟的网络设备,总是被成对地创建,并且一对veth永远是连通的,所以veth一般被称之为veth pair。删除任何一个veth,则成对的另一个veth也会被同时自动删除。

通过veth pair就能够把两个相互隔离的网络命名空间连接起来,从而实现两个网络命名空间之间的通信。相关的命令如下:

#在默认ns创建一对vethip link add veth_left type veth peer name veth_right#设置一个veth所属的ns,另一个留在默认nsip link set veth_right netns oam#分配静态IP并启动ip addr add 10.0.1.1/24 dev veth_leftip link set dev veth_left upip netns exec oam ip addr add 10.0.1.2/24 dev veth_rightip netns exec oam ip link set dev veth_right up#至此,完成了默认ns与oam ns之间的连接。#但是要能够在两个ns之间通信,还需要进行必要的配置,请继续关注后续文章。

参考链接:

        https://yakking.branchable.com/posts/networking-4-namespaces-and-multi-host-routing/

        https://www.cnblogs.com/sparkdev/p/9462762.html
        https://cizixs.com/2017/02/10/network-virtualization-network-namespace/
        http://www.360doc.com/content/18/0829/07/44856983_782027344.shtml

你可能感兴趣的文章
springmvc传值
查看>>
在Eclipse中查看Android源码
查看>>
[转]C语言printf
查看>>
对话周鸿袆:从程序员创业谈起
查看>>
Mysql中下划线问题
查看>>
Xcode 11 报错,提示libstdc++.6 缺失,解决方案
查看>>
vue项目打包后无法运行报错空白页面
查看>>
1136 . 欧拉函数
查看>>
面试题:强制类型转换
查看>>
Decorator模式
查看>>
Template模式
查看>>
Observer模式
查看>>
高性能服务器设计
查看>>
图文介绍openLDAP在windows上的安装配置
查看>>
Pentaho BI开源报表系统
查看>>
Pentaho 开发: 在eclipse中构建Pentaho BI Server工程
查看>>
android中SharedPreferences的简单例子
查看>>
android中使用TextView来显示某个网址的内容,使用<ScrollView>来生成下拉列表框
查看>>
andorid里关于wifi的分析
查看>>
Hibernate和IBatis对比
查看>>