LXC 启动网络配置求助

2019-08-04 14:47:57 +08:00
 imtyz001

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

3506 次点击
所在节点    Linux
10 条回复
mason961125
2019-08-04 14:57:58 +08:00
systemd 了解一下?
VisionTheta
2019-08-04 15:45:44 +08:00
没太听懂你的问题。 [配对才能正常用网] 是说的容器才能正常上网吗?容器只要拿到了网桥分配的 IP 不就能上网了吗?需要自己设置什么
Foxkeh
2019-08-04 17:40:56 +08:00
想简单的话 proxmox
kaneg
2019-08-04 23:07:18 +08:00
用 LXD,更好用
defunct9
2019-08-05 09:25:13 +08:00
开 ssh,让我上去试试
defunct9
2019-08-05 09:30:04 +08:00
docker0 是个网桥

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

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

我们是这么干的
imtyz001
2019-08-05 14:52:44 +08:00
@VisionTheta 网桥是 LXC 服务启动的时候创建的 但是启动的时候是没有上网的物理接口的 必须用 brctl addif bridge eno1 给网桥添加物理接口才能上网
imtyz001
2019-08-05 14:57:24 +08:00
@defunct9 配置网络的时候参考的这篇博文 https://newdee.cf/posts/325daa6a/ 所以每次开机都需要等 LXC 服务启动之后手动执行 sudo brctl addif bridge eno1 和 sudo route add default gw 192.168.1.1 才能让宿主机和虚拟机都上网
defunct9
2019-08-05 15:12:26 +08:00
@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
2019-08-05 22:06:25 +08:00
@imtyz001 哦哦,因为我们用的是 LXD,`lxd init`之后,好像网桥是一直存在的。为啥不用 LXD 接口来管理呢?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/588926

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX