zoukankan      html  css  js  c++  java
  • Linux Network Namespace

    Linux Network Namespaces

      Linux kernel在2.6.29中加入了namespaces,用于支持网络的隔离,我们看一下namespace是如何使用的

    创建与配置

      创建一个名为blue的namespace

        ip netns add blue

      列出所有的namespace

        ip netns list

    分配网络接口到namespace上

      我们可以将一对veth中的一个分配到namespace上,将另一个分配到另一个上。

      veth的创建如下:

        ip link add veth0 type veth peer name veth1

      这样就创建了一对veth,veth0 和veth1。 veth的作用就像一根网线一样,从一端进入的数据会从另一端出来。 使用 ip link list 查看创建的veth设备。

      如果我们想把刚创建的namaespace与global/default namespace连接,我们可以这样做: ip link set veth1 netns blue veth1 从global从消失了,因为这对veth的另一端veth0在default中,这样我们就可以将两个 namespace联系起来了。

      使用如下命令查看blue namespace中的连接

        ip netns exec blue ip link list

      如何配置namespace中的接口呢?可以使用如下命令:

        ip netns exec <network namespace> <command to run against that namespace>

    连接到物理网络

      可以使用linux bridge 或者 openvswith bridge。将物理接口和veth的一个加入到同一个bridge就可以了。

  • 相关阅读:
    Epplus导出excel
    访问GitHub需要修改hosts
    如何将你的.Net Core程序部署成为服务
    生成雪花Id类
    文件操作帮助类
    工作流-WikeFlow
    《C语言进阶剖析》课程目录
    《C++深度解析》课程目录
    USB URB的status及其代表的意义
    数据结构优秀博文整理
  • 原文地址:https://www.cnblogs.com/vincenshen/p/8443479.html
Copyright © 2011-2022 走看看