每一个使用过 Shadowsocks 的人,几乎都会出现过 Shadowsocks 突然无法使用的情况,然而很多人并不知道怎么办,网上的问题解决方法都是一个个的,不利于新手解决问题,所以我就写一个 Shadowsocks 无法使用后的简单排除方法。
本教程不一定能 100% 帮你解决 Shadowsocks 无法使用的问题,但是肯定会有帮助的。
1、确认 Shadowsocks 账号可用
在开始阅读本教程之前,你的第一步就是先确认你的 Shadowsocks 账号是否可用(这步很重要!),建议让其他人链接试试,或者其他设备链接试试。
如果别人能用,你却不能用。那就很明显是 你本地电脑设置问题 或者 Shadowsocks 客户端 问题。请看 2、本地问题
如果别人都不能使用。那就说明是 Shadowsocks 服务端 或者 VPS 问题。请看 3、服务器问题
2、本地问题
再确认别人可以使用你的 Shadowsocks 账号后,那问题就是 你本地电脑设置问题 或者Shadowsocks 客户端 问题。那么我们就一个个排除。
2.1、Shadowsocks 客户端问题
首先,请尽量使用最新的 Shadowsocks 客户端,鉴于目前 Shadowsocks v3.0 原版 因为作者喝茶已经停止更新很长时间了,推荐使用 目前在持续更新的ShadowsocksR 客户端(很多人换了 ShadowsocksR 后就可以使用了)。
下载地址:软件下载
对了,还有一点。Shadowsocks 账号信息 记得检查一下,说不定多了个空格或者符号,这都会导致无法连接 Shadowsocks。
同时,ShadowsocksR 只做了很多 其他的辅助功能,这些功能如果你不需要的话,请不要修改。否则一些设置不正确也会导致无法连接。
2.2、本地电脑设置问题
很多人,都不会去使用过时的 IE 浏览器。那么,先使用一下 IE 浏览器 访问Google.com ,如果可以访问,那么就直接看 2.2.3、浏览器问题
2.2.1、Shadowsocks 软件权限问题
Shadowsocks 启动系统代理后,就会去修改注册表来设置 系统代理设置。
而一些电脑系统或者非管理员用户(比如网吧),可能因为没有相应的权限 导致 Shadowsocks 启动系统代理 后无法修改注册表。
这时候就需要用 管理员权限 启动 Shadowsocks 客户端。
如果确定不是 软件权限问题导致的,那么请继续看下面。
2.2.2、系统代理设置问题
2.2.1 说了,Shadowsocks 启动系统代理后,就会去修改注册表来设置 系统代理设置。
那么,在启动后,请打开 系统代理设置 看一下是否正确设置代理。
右键桌面上的网络 >=> 属性 >=> Internet 选项 >=> 连接 选项卡 >=> 选择你使用的拨号链接 >=> 设置
然后你是 直接电脑连接 猫 拨号上网的用户,就如上图所示打开下图的窗口。
如果你是 路由器连接 猫 上网的用户,就点击上图所示中 下面的 局域网设置 打开下图的窗口。
下图中 上面 红框圈中 的选项是,Shadowsocks 客户端的PAC 模式
一般正确的格式是:http://127.0.0.1:1080/pac?t=XXXXXXX
下图中 下面 红框圈中 的选项是,Shadowsocks 客户端的全局模式
一般正确的格式是:地址:127.0.0.1,端口:1080。
如果,你的下图设置是 空的或者是不正确的(127.0.0.1 是不能变的,端口是可以变的),请修改为正确的 IP 和端口,并检查 Shadowsocks 客户端的本地端口设置。
注意:这里的端口既是 Shadowsocks 中的 本地端口,是可以改的,不过默认是 1080。
2.2.3、浏览器问题
如果上面的情况都解决了,依然无法使用 Shadowsocks 的话,估计是浏览器问题了。
大多数浏览器都是默认使用系统代理的,比如:Chrome、Opera 等浏览器。
同样,也有一些浏览器是有单独的代理设置 选项,比如:Firefox 和国内的几个浏览器。
请自己检查浏览器的 代理设置 是否为 使用系统代理设置,如果不是就改为 使用系统代理设置。
如果没有这个 代理设置选项 或者已经改好了,那么就检查 浏览器扩展。
比较常见的以 Chromium 为内核的浏览器,比如:Chrome、Opera、国内的一些所谓的双核/极速浏览器。
都经常会使用以下两个插件来管理代理设置,Proxy SwitchyOmega、Proxy SwitchySharp,因为这两个插件会 接管 浏览器的代理设置,如果设置错误或者不会使用的话,也会导致 Shadowsocks 无法使用,所以可以暂时禁用这两种插件。
如果在确认 Shadowsocks 账号可用的情况下,以上的几种方法依然无法解决问题,请自行百度。
3、服务器问题
服务器引起的问题就比较麻烦,通过教程很难说清,首先检查一下 VPS IP 是否被墙,接着查看 Shadowsocks 服务端 日志是否出错,然后检查 Shadowsocks是否运行正常,同时看一下防火墙是否允许了 Shadowsocks 的端口,最后还是不行就 重装 Shadowsocks 服务端 试试,条件允许情况下,最好直接重装 VPS 系统,避免是其他软件影响了 Shadowsocks 的运行。我们一条一条解决。
3.1、检查 IP 是否被墙
检查 IP 是否被墙很简单,只要用一下 站长工具-超级 Ping 功能检测一下,如果发现国内全部 Ping 超时 ,其他国家 Ping 正常,那就说明 IP 被墙了,反之没有被墙。
3.2、检查 Shadowsocks 服务端 日志
各个 Shadowsocks 服务端 版本的日志文件略有不同,如果你是使用我网站提供的 Shadowsocks 服务端安装教程,那请去对应的教程里查看 日志文件 位置。
然后通过 对应的命令代码 打开 Shadowsocks 日志信息,然后查看是否有异常,比如[Error] 开头的日志,因为这类问题 繁多并且复杂,出现问题请自行百度 ,当然我也只能解决常见的问题,复杂一些的建议去Github(ShadowsocksR) 问 Shadowsocks 服务端作者。
- Shadowsocks go 一键安装脚本
- Shadowsocks libev 一键安装脚本
- Shadowsocks Python 版一键安装脚本
- ShadowsocksR 服务端单用户安装教程
- ShadowsocksR 一键安装脚本(单用户版)
3.3、检查 Shadowsocks 服务端是否运行正常
通过你安装的 Shadowsocks 版本,在上面找到对应的 查看 Shadowsocks 服务 运行状态的命令。
然后,通过
netstat -lntp
查看端口使用情况,看一下 Shadowsocks 的端口是否正常被 Shadowsocks 自身 占用。
如果被其他程序占用,可以尝试修改 Shadowsocks 端口 或者 关闭占用 Shadowsocks 端口的 程序。
3.4、检查 VPS iptables 防火墙规则是否开放 Shadowsocks 端口
首先查看一下iptables 防火墙规则,看看是不是把 Shadowsocks 的端口堵住了,如果你的 VPS 并没有什么重要的防火墙规则,那就可以直接 关闭防火墙 或者 清空防火墙规则。
当然,如果你的 VPS 上面放的有网站(一般 lnmp 安装完都会把非必要端口外的端口全部封掉)或者其他的程序,你就需要 添加开放端口规则。
# 查看 iptables 防火墙规则 iptables -L # 清空 iptables 防火墙规则 iptables -F ># 添加 iptables 防火墙开放端口规则 -A INPUT -p tcp -m tcp --dport 端口 -j ACCEPT # 关闭防火墙
/etc/init.d/iptables stop</font>
3.5、重装 Shadowsocks 服务端
到这一步基本就是死马当活马医了,一些问题实在找不到,那就干脆重装 Shadowsocks 服务端。
条件允许情况下,最好直接重装 VPS 系统,避免是其他软件影响了 Shadowsocks 的运行。