lxc网络问题
2025年4月30日 14:46
问题描述 #
- 打开代理网络,lxc无法上网的问题
- 或者打开代理网络,息屏一段时间后,lxc里无法访问外网
解决办法 #
步骤1
systemctl start systemd-resolved
或者
systemctl restart systemd-resolved
关键在于步骤1做了之后, 发现/etc/resolv.conf的内容自动变成了:
nameserver 127.0.0.53
options edns0 trust-ad
search .
无论如何,此刻,apt update
和curl 外网地址
都能成功执行,
开代理情况下的网络修复了
测试的是lxc里的ubuntu 24.10,对于其它版本,应该也同样适用。
【注意】 #
有的脚本把systemd-networkd服务也禁用了,把这个服务也启动一下
systemctl start systemd-networkd
或者
systemctl restart systemd-networkd
教程到这里就可以结束了,也都讲明白了,后面的不用看了。但是如果想看保姆级教程的,那么继续往后看,告诉你具体怎么做。 #
最终总结 #
- 把以前rc.local脚本里以下命令删除
systemctl start systemd-resolved
echo "nameserver 8.8.8.8" > /etc/resolv.conf
systemctl stop systemd-resolved
systemctl disable systemd-resolved
- 把以前rc.local脚本里systemd-networkd有关的脚本页删除(如果有)
注意 #
步骤3 步骤4 步骤5 任选其一即可
- 执行命令
systemctl start systemd-networkd
systemctl enable systemd-networkd
systemctl start systemd-resolved
systemctl enable systemd-resolved
- 在/etc/rc.local里加入以下命令
systemctl start systemd-networkd
systemctl enable systemd-networkd
systemctl start systemd-resolved
systemctl enable systemd-resolved
- 执行命令
systemctl start systemd-resolved
systemctl start systemd-networkd
systemctl enable systemd-networkd
然后在/etc/rc.local里加入以下命令
systemctl start systemd-resolved