Ubuntu 17.10下Snap及Ubuntu软件商店安装程序无网络访问问题求助
解决Ubuntu 17.10上Snap应用无法访问网络的问题
我来帮你排查这个Snap应用联网失败的问题——从Ubuntu Software装的Steam、Spotify这类应用都没法联网,大概率和Snap的权限配置、系统网络策略或者内核兼容性有关,咱们一步步来解决:
1. 确认Snap应用的网络权限绑定
Snap应用需要绑定network和network-bind接口才能正常联网,先检查你的snap interfaces输出里,这些应用是否已经连接到这两个接口:
- 正常情况下,你应该能看到类似
network <应用名>:network和network-bind <应用名>:network-bind的关联项 - 如果没有关联,手动执行绑定命令(以Steam为例):
把sudo snap connect steam:network :network sudo snap connect steam:network-bind :network-bindsteam换成有问题的其他应用名,重复执行即可。
2. 排查AppArmor权限限制
Snap依赖AppArmor做权限管控,有时候规则异常会阻断网络请求:
- 先临时关闭AppArmor测试(仅用于排查,测试后务必恢复):
sudo systemctl stop apparmor - 重启有问题的Snap应用,看是否能联网。如果恢复正常,说明是AppArmor规则的问题,执行以下命令重新加载规则:
sudo systemctl restart apparmor sudo snap refresh core
3. 检查内核版本兼容性
你当前使用的内核4.15.4并非Ubuntu 17.10的默认内核(默认是4.13.x系列),部分老内核和Snap的网络虚拟化支持存在兼容性问题:
- 重启系统,在GRUB菜单的“Advanced options for Ubuntu”里选择4.13.x版本的内核启动
- 测试Snap应用是否能正常联网,如果恢复,建议暂时使用默认内核,或者升级到更稳定的适配Ubuntu 17.10的内核版本。
4. 重置Snap核心组件
有时候Snap的核心服务会出现异常,重置核心组件可能解决问题:
sudo snap refresh core sudo systemctl restart snapd
执行完后重启系统,再测试应用联网情况。
5. 排查系统防火墙干扰
确保UFW或其他防火墙没有阻断Snap应用的网络请求:
- 临时关闭UFW测试:
sudo ufw disable - 测试应用联网,若正常,重新打开UFW并添加允许Snap应用的规则:
sudo ufw enable sudo ufw allow out from any to any app snapd
如果以上步骤都没能解决问题,麻烦把snap interfaces的完整输出贴出来,这样我能更精准地定位具体的权限绑定问题。
内容的提问来源于stack exchange,提问作者AshotN




