麒麟系统上网正常,安卓应用kmre提示无网络
排查方法如下:
-
iptables规则被清除
如果系统第一次安装完成之后,Kmre网络是好的,之后某时刻之后突然没网,很有可能是iptables规则被修改了,可能是用户安装了某个软件,或者是误操作输入了某些命令。如下图,通过sudo iptables -L -v来查看,如下图所示:iptables规则都被清理了,导致FORWARD链默认DROP,这时只需运行sudo iptables -P FORWARD ACCEPT命令即可恢复网络正常
-
rfkill 无线设备网络的软开关被关闭
rfkill 是一个启用/禁用无线设备的工具,也就是一个无线设备软开关,通过sudo rfkill list 可以查看所有蓝牙、无线设备开关,如下图所示:设备0无线设备的软开关就是阻塞的。

执行sudo rfkill unblock 0命令即可恢复网络正常,其中0为设备的序列,上图已经标识。
-
docker0网络设备
ifconfig 来排查各个网络设备是有都在运行,下图是一般台式电脑网络设备,某些网络问题上docker0网络设备被down掉了,可能是安全软件,也可能是用户误操作导致的。这种情况先用sudo ifconfig docker0 up手动启动,重启Kmre或者重启机器试试,如果还是不行,先从安全软件是否限制来排查
-
安全
有时候网络安全打开也可能导致Kmre无网络,虽然之前安全已经兼容适配了这一块,但是随着系统升级,安全模块的更新,仍会出现此问题。如需排查是否是安全模块导致的,需要进入设置将安全全部关掉,如下图,再看看Kmre网络是否正常。
-
内核段错误
某些新的机型并没有很好的适配,比如Kmre无网络问题,可能Kernel相关网络模块并没有加载好,终端执行dmesg命令查看相关日志,下图是X100机型内核出现了网络cfg80211相关的段错误,这类问题需要提交给内核研发人员适配解决。
-
代理网络
如果用户的网络是通过代理网络来上网的,目前Kmre还无法在这种环境下保持网络正常使用。
-
其他
排查是否安装了如奇安信、360等安全软件,这类安全软件可能会做许多的限制;