首页 > 代码库 > 记:Android 服务站 问题记录与解决方案

记:Android 服务站 问题记录与解决方案

1、dnsmasq域名劫持失败:

  现象:

    开启wifi热点后确实执行了dnsmasq命令,但是域名劫持失败。

  原因:

    wifi热点开启命令执行后直接执行了dnsmasq命令,当热点开启过程时间很短时域名劫持可以成功;但是启动稍慢即会被系统启动的dnsmasq命令给杀掉并覆盖;所以会导致无效。

  解决方案:

    开启dnsmasq前定时检查wifi热点是否已经开启成功,成功后再kill掉系统启动的dnsmasq进程,再使用自定义的配置文件执行dnsmasq命令。

 

2、wifi热点启动频繁失败:

  现象:

    关闭移动数据时开启wifi热点不会失败。

    当开启移动数据时,现象如下‘:

      开启wifi热点后重启dnsmasq服务,会导致wifi热点开启失败,甚至出错,在系统设置中再开启也会失败,必须重启设备才可用。

      开启wifi热点后不对dnsmasq服务做做操,wifi热点开启不会失败。

  原因:

    失败原因在于iptables 命令,与dnsmasq命令无关:

    由于开启wifi热点后使用iptables 进行了端口重定向,所以关闭时使用了"iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X"命令清空了iptable规则。所以再次开启会导致开启失败。

  解决方案:

    关闭wifi热点后,使用"iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 80"将重定向到其他端口的80端口恢复到80端口即可;不能清空规则;