net namespace--ip ntens

net namespace:可以在单机上面创建相互隔离开的网络环境,步骤如下:

第一种模拟案例:两个network namespace之间互相通信,既ns1和ns2之间通信


第一步:创建网络空间。工具:ip netns

1.介绍:ip netns是进程网络空间管理

2.用法:ip netns {list | add  delete | exec | identify | pids | monitor等}

3.创建两个网络空间ns1和ns2,互不干扰,有独立的网络环境如:ip、网管、掩码等

ip netns add ns1

ip netns add ns2

第二步:如果没有多个网卡,需要创建虚拟网卡设配。工具ip link add XXX type veth peer name XXX.

1.介绍:虚拟网络创建的时候都是成对出现,一端接受信息一端发送信息,创建成对的虚拟网卡可以放到不同的network namespace里面去从而达到network namespace之间互相通信。

2.用法:ip [{-s | -v 等等}]  link  [ {add | delete | set | show} ]  type [{bridge| bond | can | vcan | veth | vlan 等}]  

3.创建一对虚拟网卡tap1和tap2

ip link add tap1 type veth peer name tap2

第三步:把两个虚拟网卡move到两个network namespace中去。工具:ip link set 网络空间的名字 netns 虚拟网卡的名字

1.介绍:把创建好的一对虚拟网卡分别移到不同的网络 空间中去。

2.用法ip link set {DEVICE | group GROUP} {up | down | arp {on | off}} | promisc {on | off} | mtu MTU | netns NAME等

3.把tap1、tap2 move到ns1 和 ns2中去。

ip link set tap1 netns ns1

ip link set tap2 netns ns2

第四步:可以查看不同的network namespace 中的网络设备、IP情况。工具:ip netns exec ns1 comman

1.ip netns exec ns1 查看ns1这个网络空间的情况。comman是在 ns1 空间中要执行的关于网络的命令,用法和真是的机器一样

2.用法:略

3.给ns1空间中的stap1网卡设置IP,子网掩码并且开启

1)ip netns exec ns1 ip link show|list :查看ns1空间中网卡情况

2)ip netns exec ns1 ip link set dev tap1 down :关闭ns1空间中的tap1网卡

3)ip netns exec ns1 ip address add 192.68.102.40/24 broadcast + dev tap1:给ns1空间中的tap1网卡设置IP和掩码相关信息

4)ip netns exec ns1 ip link set dev tap1 up 开启ns1空间中的tap1网卡

ns2同样操作,略;

第二种模拟案例:多个network namespace和物理主机之间互相通信,既ns1和ns2和eth0之间通信。需要桥工具,bridge-utils


第一步:创建桥

1.brctl 用来创建管理桥的工具,和 ip link add xxx type bridge 一样功能

2.创建br0-test桥,类似交换机,把多个网卡绑定到br0-test上面,类似VLAN功能。br0-test就是交换机/VLAN的名字,类似把网线插到交换机上面一样

1).brctl addbr br0-test 创建一个桥

2)brctl stp br0-test off 关闭stp功能,减少网络传输过程中数据”变脏“

3)ip link set dev br0-test up 开启网桥

第二步:创建network namespace

1.ip netns add ns1/ns2

第三步创建虚拟网卡

1.创建两队虚拟网卡

1) ip link add tap1 type veth peer name br-tap1 创建一对虚拟网卡,tap1(网络空间中)和br-tap1(网桥端)

2)brctl addif addif br0-test  br-tap1 把”网线br-tap1“插到”交换机“br0-test上面。

3)ip link set tap1 netns ns1 把虚拟网卡tap1move到ns1网络环境中去。

4)ip netns exec ip link set dev tap1 up 开启ns1空间中的网卡

5)ip link set dev br-tap1 up 开启虚拟网卡的另一端br-tap1

ns2中通ns1一样。略

其余同上



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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值