连接命名空间方法

来源:互联网 发布:如何上妆 知乎 编辑:程序博客网 时间: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 BRIDGEtap1setInterfacetap1type=internaliplinksettap1netnsns1ipnetnsexecns1iplinksetdevtap1upovsvsctladdportBRIDGE tap2 – set Interface tap2 type=internal 
ip link set tap2 netns ns2 
ip netns exec ns2 ip link set dev tap2 up


原创粉丝点击