为什么我的libvirt不能在用NetworkManager的时候开机启动NAT网络?
但是用Wicked就没问题?
然后@marguerite
为什么Network和Manager之间非要打空格才能发在标题里?
NetworkManager不是很正常吗?
拼写检查?
为什么我的libvirt不能在用NetworkManager的时候开机启动NAT网络?
但是用Wicked就没问题?
然后@marguerite
不是 NetowrkManager 不正常,是中英文之间不加空格不正常。现在 discourse 的标题字数检查(textsential)是不支持 CJK 的,也没有办法分词。你一个空格没有它会认为是一个字。
原生 discourse 甚至中文用户名都不支持,我们用的是郭云鹤在非官方插件基础上二次魔改出来的。官方到现在都没考虑这个问题,archlinux 社区的 fantasticfears 参加了 discourse 的 google summer code 才开始做 unicode username 支持。预计大概 2.4 版本才能发布。
回到你的问题,也许是 NM 的特殊性造成的。network.service 可以由 NM 或 wickedd 提供。wickedd 主要是面向那些传统的服务器环境,NM 主要面向桌面,libvirt 严格意义上是服务器才会有的东西。
wickedd 是把网络设置好了才会返回 success 状态,NM 真正设置网络还得调用 wpa_supplicant 什么的,而且它是接到启动请求只要 NM 能启动就返回 success。那么如果 NM 处理网络连接没处理好,比如 DNS 什么的,它依然是 success 状态。或者 NM 还没开始真正处理网络连接,它依然是 success 状态。
你的 libvirt 不能依赖 network.service 的 success 状态决定它是否设置 NAT。这在服务器端没问题,桌面不行。
你最好自己写个脚本去看看网络是不是真的符合条件再去让 libvirt 干活(我不知道依赖 network-online.target 这个 target 行不行)
比如
关掉拼写检查行吗?
没什么用吧