netns命名空间使用

背景

在linux系统中通过netns创建虚拟主机,作用同VM,相比于VM其优势是随时创建,随时删除,操作方便

第一步:创建ns
  • 增加虚拟网络命名空间vm,vm是命名空间的名字,可以随意起,就创建了一台虚拟ns
    ip netns add vm

  • 显示物理机里的命名空间,加不加list都行,显示刚创建的vm
    ip netns (list)
    vm

  • 进入netns,也可以不进入但执行每一个ip link都需要在前面加上ip netns exec vm
    ip netns exec vm bash

第二步:为ns创建网卡,打通物理机
  • 在物理机和netns上添加一对veth设备,veth设备是成对出现的,两个设备之间的数据是相互贯通的,这样两个设备间数据就是互通的,其中nc-netns建立在ns上,nc-host建立在br-int网桥

    ip link add nc-host type veth peer name nc-netns

  • 启动物理机上网卡
    ip link set nc-host up

  • 将nc-netns的网卡添加到vm的空间,但是在本地网络中无法查看到,exec进入vm,可以看到nc-netns这个网卡
    ip link set nc-netns netns vm

  • 启动netns上网卡
    ip link set nc-netns up

  • 启动物理机上环回口
    ip link set l0 up

  • 修改vm中网卡的名字为eth0
    ip link set nc-netns name eth0

第三步:给虚拟网卡分配ip地址
  • 给netns的虚拟网卡增加ip地址
    ip addr add dev nc-netns 192.168.1.0/16

  • 给netns的虚拟网卡增加mac地址
    ip link set nc-netns add fe:80:fe:00:89

  • 测试连通性
    此时在本地ping 192.168.1.100通了,我们在物理机通过网桥的形式把ns-host这个网卡添加到br-int里,利用veth相互之间数据贯通的特性实现网络互通

  • 删除netns
    ip netns del vm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值