【问题标题】:how to create multiple bridges of LXC?如何创建LXC的多个桥?
【发布时间】:2015-02-23 12:45:34
【问题描述】:

现在,安装 LXC 后,您只有一个默认网桥“lxcbr0”,用于将容器连接到主机。所以通过这种方式,我们可以创建多个容器,并将它们全部连接到网桥“lxcbr0”。我的问题是: 我可以创建两个网桥“lxcbr0”和“lxcbr1”,这样我就可以将多个容器分成两个子网,一个连接到“lxcbr0”,另一个连接到“lxcbr1”?

节日快乐! 谢谢。 德里克

【问题讨论】:

    标签: lxc


    【解决方案1】:

    这是将 lxcbr1 添加到 eth2 的 bash 代码

    main.sh:

    #!/bin/bash
    BRCTL_BIN="/sbin/brctl"
    IP_BIN="/sbin/ip"
    
    # variable
    brName=lxcbr1
    brDev=eth2
    # function: add bridge
    # 
    function  addBr() {
    local brName=$1
    local brDev=$2 || ""
    if [ -d /sys/class/net/${brName} ]; then
      # bridge exists
      return
    else
     ${BRCTL_BIN} addbr ${brName}
     ${BRCTL_BIN} setfd ${brName} 0
     ${BRCTL_BIN} sethello ${brName} 5
     ${IP_BIN} link set dev ${brName} up
     if [ "${brDev}x" != "x" ]; then
         ${BRCTL_BIN} addif ${brName} ${brDev}
         ${IP_BIN} link set dev ${brDev} up
     fi
    fi
    }
    
    
    # add lxcbr1
    addBr ${brName} ${brDev} 
    
    # it's simple example 
    #  without bash variable
    # add lxcbr1 and lxcbr3
    
    addBr lxcbr1 eth1
    addBr lxcbr3 eth3
    

    现在您可以将 lxc 容器作为 eth11 连接到 lxcbr1

    lxc.network.type = veth
    lxc.network.flags = up
    lxc.network.mtu = 1500
    lxc.network.link = lxcbr1
    lxc.network.ipv4 = 192.168.0.11/24
    lxc.network.name = eth11
    lxc.network.veth.pair = veth11.1
    

    【讨论】:

    • 看起来很有趣。你能评论你的代码吗?
    猜你喜欢
    • 1970-01-01
    • 2016-04-29
    • 1970-01-01
    • 1970-01-01
    • 2021-04-22
    • 1970-01-01
    • 2021-07-17
    • 2015-09-14
    • 2021-04-10
    相关资源
    最近更新 更多