V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
imtyz001
V2EX  ›  Linux

LXC 启动网络配置求助

  •  
  •   imtyz001 · Aug 4, 2019 · 4001 views
    This topic created in 2469 days ago, the information mentioned may be changed or developed.

    给实验室的服务器配置 LXC 容器 联网用的是 LXC 生成的网桥 但每次开机都要执行命令把网桥和宿主机的物理接口配对才能正常用网 尝试过用 rc.local 自动运行命令 但那个时候 LXC 的网桥还没出来 脚本执行失败 求助各位大佬有没有什么办法让服务器开机并等 lxc 服务启动后再执行脚本?

    10 replies    2019-08-05 22:06:25 +08:00
    mason961125
        1
    mason961125  
       Aug 4, 2019
    systemd 了解一下?
    VisionTheta
        2
    VisionTheta  
       Aug 4, 2019
    没太听懂你的问题。 [配对才能正常用网] 是说的容器才能正常上网吗?容器只要拿到了网桥分配的 IP 不就能上网了吗?需要自己设置什么
    Foxkeh
        3
    Foxkeh  
       Aug 4, 2019 via iPhone
    想简单的话 proxmox
    kaneg
        4
    kaneg  
       Aug 4, 2019 via iPhone
    用 LXD,更好用
    defunct9
        5
    defunct9  
       Aug 5, 2019
    开 ssh,让我上去试试
    defunct9
        6
    defunct9  
       Aug 5, 2019
    docker0 是个网桥

    也就第一次启动容器的话,挂一下
    --lxc-conf="lxc.network.link = docker0"

    之后的启动都是在 /etc/rc.d/rc.local
    for i in `docker ps -aq`;do docker start $i;done

    我们是这么干的
    imtyz001
        7
    imtyz001  
    OP
       Aug 5, 2019
    @VisionTheta 网桥是 LXC 服务启动的时候创建的 但是启动的时候是没有上网的物理接口的 必须用 brctl addif bridge eno1 给网桥添加物理接口才能上网
    imtyz001
        8
    imtyz001  
    OP
       Aug 5, 2019
    @defunct9 配置网络的时候参考的这篇博文 https://newdee.cf/posts/325daa6a/ 所以每次开机都需要等 LXC 服务启动之后手动执行 sudo brctl addif bridge eno1 和 sudo route add default gw 192.168.1.1 才能让宿主机和虚拟机都上网
    defunct9
        9
    defunct9  
       Aug 5, 2019
    @imtyz001 你这个就复杂化了。--lxc-conf="lxc.network.type = veth" --lxc-conf="lxc.network.ipv4 = 192.168.86.$i/24" --lxc-conf="lxc.network.ipv4.gateway = 192.168.86.1" --lxc-conf="lxc.network.link = docker0" --lxc-conf="lxc.network.name = eth0" --lxc-conf="lxc.network.flags = up" 我们是启动的时候都指定了固定 ip,网络的参数。
    所以下次启动就不会变。
    VisionTheta
        10
    VisionTheta  
       Aug 5, 2019
    @imtyz001 哦哦,因为我们用的是 LXD,`lxd init`之后,好像网桥是一直存在的。为啥不用 LXD 接口来管理呢?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5689 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 07:47 · PVG 15:47 · LAX 00:47 · JFK 03:47
    ♥ Do have faith in what you're doing.