连接网络命名空间的方法

原文一 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

转载于:https://www.cnblogs.com/lineuman/p/6776012.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值