连接命名空间方法
来源:互联网 发布:如何上妆 知乎 编辑:程序博客网 时间:2024/05/22 14:02
http://blog.csdn.net/lineuman/article/details/52108191
原文一 Linux Switching – Interconnecting Namespaces
http://www.opencloudblog.com/?p=66
原文二 Linux Network Namespaces
http://www.opencloudblog.com/?p=42
传统的软交换工具是linuxbridge,它是linux内核实现的。在前端管理linuxbridge的是brctl。一个新的软交换工具是Openvswitch,它的前端主要管理工具是ovs-vsctl
tap interfaces
用tunctl 或ip tuntap创建的tap接口不能直接把命名空间链接到linux网桥或者ovs网桥上。
方法一:使用一对veth pair
veth pair
连接两个命名空间的一种简单的方法是用veth pair
过程如下:
# 创建命名空间
ip netns add ns1
ip netns add ns2
# 创建the veth pair
ip link add tap1 type veth peer name tap2
# 把接口移到命名空间中
ip link set tap1 netns ns1
ip link set tap2 netns ns2
# 开启连接
ip netns exec ns1 ip link set dev tap1 up
ip netns exec ns2 ip link set dev tap2 up
方法二:一个linux网桥和两对veth pairs
这种方法常用于把超过两个的命名空间连接到一个交换机上
linux bridge and two veth pairs
连接过程略
方法三:一个openvswitch交换机和两对veth pairs
openvswitch and two veth pairs
这种方法使用了openvswitch代替了古老的linuxbridge
这里我们使用了一个openvswitch和两对vethpairs
The commands to create this setup are(命令如下):
创建命名空间
ip netns add ns1
ip netns add ns2
创建openvswitch(译者注:如果在plc_kvm场景下可能是br-int或其他)
ovs-vsctl add-br ovs-test
port1
# 创建一对pair(create a port pair)
ip link add tap1 type veth peer name ovs-tap1
# 把一端挂到ovs上
ovs-vsctl add-port ovs-test ovs-tap1
# 把另一端挂到命名空间ns1中
ip link set tap1 netns ns1
# 开启端口(set the ports to up)
ip netns exec ns1 ip link set dev tap1 up
ip link set dev ovs-tap1 up
# PORT 2
# create a port pair
ip link add tap2 type veth peer name ovs-tap2
# attach one side to ovs
ovs-vsctl add-portovs-test ovs-tap2
# attach the other side to namespace
ip link set tap2 netns ns2
# set the ports to up
ip netns exec ns2 ip link set dev tap2 up
ip link set dev ovs-tap2 up
方法四:一个openvswitch和两个ovs port
openvswitch and two openvswitch ports
ip netns add ns1
ip netns add ns2
ovs-vsctl add-br ovs-test
ovs-vsctl add-port
ip link set tap2 netns ns2
ip netns exec ns2 ip link set dev tap2 up
- 连接命名空间方法
- 连接网络命名空间的方法
- 批量修改命名空间方法
- spring 命名空间引入方法
- C#连接MySQL引用命名空间
- 找不到Server.MapPath方法的命名空间
- MVC3页面引用命名空间方法
- C#中数组, 命名空间, Main()方法
- 黑马程序员--构造方法与命名空间
- C语言,模拟命名空间的方法
- jQuery扩展命名空间(扩展方法)
- 命名空间在扩展方法中的妙用
- 创建命名空间的几种方法
- C#中找不到类型或命名空间名称"SqlConnection"以及连接别的数据库的命名空间
- 命名空间
- 命名空间
- 命名空间
- 命名空间
- 15周多线程2 猜数字
- java中this关键字测试总结
- Merge_sort
- AnglurJS 回车事件动态添加li标签内容
- Maven搭建环境报Missing artifact jdk.tools:jdk.tools:jar:1.7
- 连接命名空间方法
- Servlet开发
- 阿里云ECS搭建SS服务器的方法
- [知了堂学习笔记] jQuery的事件
- 多对一,多对对的配置文件
- TI协议栈例程GenericApp SampleApp SimpleAp 区别
- DH算法(密钥交换算法)
- Linux C 第五章 字符串处理函数
- 1.第一个C++程序