移动端 | 加入收藏 | 设为首页 | 最新ss | 赞助本站 | RSS
 

freefq.comfree——免费、自由fq——翻墙

困在墙内,请发邮件到freefqcom#gmail.com获得最新免费翻墙方法!
您当前的位置:首页 > 网络翻墙技巧

如今我这样科学上网

时间:2017-07-28  来源:少数派  作者:夕彡 条评论

随着我国相关法律条款的日益完善,本自乱象丛生的 VPN 市场如今已渐渐被控制,使用传统协议 (IKEIPSecPPTP …) 的科学上网方式也变得更加困难;加上第三方服务商的不透明性,不稳定性,使得第三方科学上网的安全性 (如 MITM …),速度体验让人堪忧…524免费翻墙网

故本文将详细介绍如何创造一个安全快速的个人科学上网服务环境;涉及服务端的选择,搭建、优化、安全性加强和客户端的选择,以达到更好的科学上网体验;适合有一定知识的 Linux 用户和善于使用搜索引擎的小白阅读…524免费翻墙网

(仅供参考,请在法律范围内使用该教程,如有违反法律规定,作者概不负责)524免费翻墙网

  • VPS 服务商的选择

VPS 服务商的选择将直接影响你的科学上网体验,下面提供一些参考建议,提供商均安全可靠且有一定知名度;在获得一个 VPS 实例之前,你可能需要先注册好相关账号并准备一张具有国际支付功能的信用卡 (Visa、MasterCard …)524免费翻墙网

Google Cloud Computing Engine (推荐)

需要一个 Google 账号,初次注册可以获得300$有效期为一年的使用卷,最低配置使用一年几乎免费;建议选择 Asia 机房 (IP Location:Mountain View),速度和稳定性极佳,但不支持 IPv6 (不使用负载均衡的情况下)524免费翻墙网

AWS EC2 (推荐)

需要一个 Amazon 账号,初次注册可以获得一年的 Free Trial 权限,出入站流量各 15GB/月;建议选择 Tokyo 机房 (IP Location:Tokyo),稳定性极佳,速度尚可,支持 IPv6 (需设置 VPC)524免费翻墙网

Vultr

账号注册简易(可以使用 PayPal 付款,无需信用卡),初次注册仅送 50GB Block Storage,但费用廉价;建议选择5$套餐,包括 1TB Bandwidth/月,建议选择 Tokyo 机房 (IP Location::Tokyo),速度一般,稳定性尚可,支持 IPv6524免费翻墙网

Linode

账号注册简易,初次注册无优惠,费用廉价,建议选择5$套餐,包括 1TB Bandwidth/月建议选择 Tokyo 机房 (IP Location:Tokyo),速度极佳,稳定性一般 (由于曾经某些人的滥用,导致 IP 极易被 Ban),支持 IPv6524免费翻墙网

Lightsail

需要一个 Amazon 账号,由 AWS 推出,初次注册无优惠,费用廉价配置一般,建议选择5$套餐,包括 500GB Bandwidth/月,建议选择 Tokyo 机房 (IP Location:Tokyo),速度一般,稳定性极佳,不支持 IPv6524免费翻墙网

Digital Ocean

账号注册简易,初次注册无优惠,费用廉价,建议选择5$套餐,包括 1TB Bandwidth/月,建议选择 Singapore 机房 (IP Location:Singapore),速度一般,稳定性极佳,支持 IPv6524免费翻墙网

Azure

需要一个 Microsoft 帐户,初次注册可获得300$有效期为三个月的试用卷;长期使用价格昂贵,建议选择 Japan East/West 机房 (IP Location:Japan),速度和稳定性极佳,支持 IPv6524免费翻墙网

  • 科学上网服务端搭建

❶建立实例

在确定好你所选择的服务商后,你需要建立一个用于提供科学上网服务的实例。建立实例时尽量按照自己的需求来选择实例配置,一般情况下共享的 1v CPU 和 1GB 内存便绰绰有余;另外需要注意一下几点,以确保你能够正常连接并使用你的实例524免费翻墙网

①实例的出入站规则 (Firewall)

入站规则:524免费翻墙网

TCP 22 Your IP # 默认的 SSH 端口,用于连接到你的实例,应允许你的 IP 可以访问 TCP [443] Anywhere* or Your IP # 这里是 Shadowsocks 使用的端口,推荐使用 443 (HTTPS),应确保任意 IP 或你自己的 IP 有访问权限 UDP [443] Anywhere* or Your IP # 若开启 Shadowsocks 的 UDP 转发,请开启此端口,此端口配置应与其 TCP 的端口号和访问权限相同

出站规则:524免费翻墙网

All Traffic Anywhere* # 允许你的实例向任何 IP 发送流量,保证可以正常访问网络

*此处的 Anywhere 通常会显示为 0.0.0.0/0; ::/0524免费翻墙网

②实例的系统类型

使用 Linux;如 UbuntuDebianCentOS…建议使用 Ubuntu 16.x-17.x,较新的发行版系统可以获得更多的特性支持及更好的安全性524免费翻墙网

实例的网络设置,IP 及连接方式

为了实例的安全性,建议开启实例的 Private Network (如果有);确定实例至少拥有一个 Public IPv4 地址,并开启 IPv6 支持 (若有需要);连接到实例需要使用 SSH,应查看实例的 IP 和用户名,密码或密钥 (需要下载),并将其妥善保管524免费翻墙网

连接到实例

①macOS & Linux

使用自带的 Terminal 进行连接524免费翻墙网

ssh -i [YourCert.pem] [Username]@[ServerIP] # 通过 密钥+用户名+IP 进行连接,YoutCert.pem 若不在执行目录下需要标明路径 ssh [ServerIP] # 通过 密码+用户名+IP 进行连接,按照提示输入用户名的密码

②Windows

使用 PuTTY 进行连接,若是 .pem 为后缀的密钥验证,需用 PuTTYgen 转换为 .ppk 为后缀的密钥才可以连接,详见 AWS 提供的文档524免费翻墙网

③iOS & Android

使用 SSH 第三方客户端进行登录,如 Prompt2、Termius (支持多平台且免费)等524免费翻墙网

 524免费翻墙网

 

❸搭建 Shadowsocks-libev 服务器

Q1.为什么使用 Shadowsocks 协议?

相比传统的 VPN (IKEIPSecPPTP …),Shadowsocks 协议具有更好的灵活性和隐蔽性,且搭建相对简单,因此可以拥有相对传统 VPN 更快的速度和更高的稳定性;另对比 V2Ray 这种科学上网的集合体,Shadowsocks 在服务端更加轻量,单一协议完善程度更高;在移动端有更丰富的客户端选择,兼容性和灵活性更优。关于 Shadowsocks 的协议特点,原理及弱点的更多讨论,可以在这里稍做了解,本文不对此长篇大论524免费翻墙网

Q2.为什么使用 Shadowsock-libev 服务端?

相比原版 Shadowsocks (Python),libev (c#) 版本提供了更多的特性支持;而关于ShadowsocksR (Python),Shadowsocks-libev 率先支持 AEAD 加密,并向 ShadowsocksR 学习引进了 Obfs (Simple-Obfs,但与前者原理有所不同),且提供稳定的周期性更新;关于未来,ShadowsocksR 更倾向于 none 加密策略,而 Shadowsocks-libev 则倾向于传统的加密策略,两者有不同的侧重点 (ShadowsocksR 更侧重消除特征以避免被检测识别,而 Shadowsocks-libev 则追求更高的安全性),综合起来并无优劣之分524免费翻墙网

*2017年7月8日,ShadowsocksR团队正式解散,故不会再继续更新524免费翻墙网

①以 root 权限运行命令

初次连接到实例,一般需要获取 root 权限 (非 root 用户的情况下),获取方法如下524免费翻墙网

sudo passwd root # 运行以上命令,重设 root 用户密码 su # 运行以上命令,使用重设后的 root 密码登录

②开始搭建 Shadowsocks-libev 服务端

可以选择使用笔者的自动脚本 Twist 进行搭建或自行搭建 (可参考❻疑难解答的Q9回答*),这里主要介绍如何使用前者搭建科学上网的服务端524免费翻墙网

sudo wget https://raw.githubusercontent.com/Unbinilium/Twist/master/twist -O twist.sh && chmod -x twist.sh # 运行以上命令,下载自动脚本 (shell) 并赋予权限 bash twist.sh # 运行以上命令,开始搭建服务端;若需自定义*,在运行这条命令之前请先参照下方说明③524免费翻墙网

③自定义 Shadowsocks-libev 服务端*

若在安装之前,可以先直接编辑下载后的 twist.sh 后再安装,编辑命令如下524免费翻墙网

nano twist.sh # 运行以上命令进行编辑自定义参数524免费翻墙网

在编辑界面定位到 function shadowsocksconfig(){ 以下至 } 前的内容,编辑 "" 内的参数,下面是关于参数的简单介绍 (说明中未标出及说明后面带有 "!" 号的是不建议修改的参数)524免费翻墙网

SSLOCAL="[\"[::0]\",\"0.0.0.0\"]" # Shadowsocks 的默认监听地址,默认为任何 IPv6 或 IPv4 地址 PORT="443" # Shadowsocks 使用的端口,建议使用 443 (HTTPS) LOACL="127.0.0.1" # 本地监听地址! LOCALPORT="1080" # 本地监听端口! PASSWORD="" # 加密使用的密码,留空将会自动生成,切忌简单密码 TIMEOUT="600" # 未使用的连接超时自动断开,单位 (s) METHOD="chacha20-ietf-poly1305" # 加密方式,详见加密* OBFS="tls" # 混淆方式,详见混淆* OBFSHOST="github.com" # 混淆域名,详见混淆* WORKERS="1024" # 服务使用的线程数,更高的线程数可以提高加解密速度 FWS="enable" # 伪装成网站服务器,避免被检测 ABB="enable" # 利用 fail2ban 自动 Ban 掉向服务器发送恶意数据的 IP BBR="enable" # 安装 Google-BBR 加速,详见优化❹优化的第②步*

若是在使用默认的配置安装完毕后需要自定义,则可以对安装后的配置文件进行编辑,编辑命令如下524免费翻墙网

nano /etc/shadowsocks-libev/config.json # 运行以上命令,对其安装后的运行参数进行编辑自定义

其中大部分参数与 twish.sh 中的自定义参数含义相同,详见 Shadowsocks-libev Wiki,完成编辑后需重启 Shadowsocks-libev 应用配置,命令如下524免费翻墙网

/etc/init.d/shadowsocks restart # 运行以上命令重启通过 Twist 搭建的 Shadowsocks-libev 服务端

*加密,推荐使用 AEAD 加密,以下是四种 AEAD 加密方式524免费翻墙网

aes-128-gcm aes-192-gcm aes-256-gcm chacha20-ietf-poly1305

以及几种常用的 OTA 加密方式 (OTA 加密一定程度上可以加快加密速度并降低 CPU 使用率,但较前者安全性更低且有明显缺陷)524免费翻墙网

rc4-md5 aes-128-cfb aes-128-ctr

*混淆方式,主要分为 tls、http 两种,相比 httptls 更具优势,但支持 Shadowsocks-libev 的 tls 混淆客户端较少524免费翻墙网

*混淆域名,使用混淆时伪装的域名,一般选择大型企业、流量出入较大、CDN 等未被墙的域名作为混淆域名 (如伪装的特定端口下的 IP 或域名来免流),常用的混淆域名有这些524免费翻墙网

cloudfront.com cloudflare.com itunes.apple.com www.icloud.com ajax.microsoft.com apps.bdimg.com

优化*(使用 Twist 脚本搭建不需要进行①-步,已自动完成优化;主要面向 ShadowsocksR 和其它 Shadowsocks 版本的用户)

TCP Fast Open

主要通过第一次 TCP 握手后服务器产生 Cookie 作为后续 TCP 连接的认证信息,客户端通过 TCP 再次连接到服务器时,可以在 SYN 报文携带数据 (RFC793),降低了握手频率,可避免恶意攻击并大幅降低网络延迟 (参考)。下面介绍如何开启这一功能524免费翻墙网

echo "net.ipv4.tcp_fastopen = 3" >> /etc/sysctl.conf # 运行以上命令,设置 IPv4 下的 TFO 默认为开启状态 sysctl -e -p # 运行以上命令,应用配置

②改善 TCP 拥塞算法

HTTP 协议在传输层使用 TCP 协议,TCP 丢包重传机制算法的不同会大幅影响科学上网速度;更换 TCP 拥塞算法需要使用命令 nano /etc/sysctl.conf 编辑系统配置文件,并定位到 net.ipv4.tcp_congestion_control = 这一行 (若没有请手动添加),其后接的算法主要有 cubic、hybla、bbr 等,修改完成后使用命令 sysctl -e -p 应用配置;下面是相关算法的简单介绍

cubic  # 由 bic 算法衍化而来,适用于低丢包率网络 hybla  # 卫星链路使用的算法,适用于高延迟,高丢包率的网络 bbr    # 由 Google 开源的算法,适用于低延迟,较低丢包率的网络 (需要手动配置*)

*配置 Google BBR524免费翻墙网

开始配置 BBR 之前,确保你的内核版本 > 4.8.x (使用命令 uname -a 查看),若低于最低版本,请先更新你的内核 (Ubuntu);若要更新内核,请先使用命令 nano updatekernel.sh 新建脚本,将下面的代码复制粘贴到脚本内并保存524免费翻墙网

KERNELVER="$(wget -qO- http://kernel.ubuntu.com/~kernel-ppa/mainline/ | awk -F'\"v' '/v[4-9]./{print $2}' | cut -d/ -f1 | grep -v -  | sort -V | tail -1)" # 获取最新的 Linux Kernel 版本 SYSTYPE="$(dpkg --print-architecture)" # 获取系统平台信息 [ "$SYSTYPE" = "amd64" ] && KERNEL="$(wget -qO- http://kernel.ubuntu.com/~kernel-ppa/mainline/v${KERNELVER}/ | grep "linux-image" | grep "generic" | awk -F'\">' '/amd64.deb/{print $2}' | cut -d'<' -f1 | head -1)" [ "$SYSTYPE" = "i386" ] && KERNEL="$(wget -qO- http://kernel.ubuntu.com/~kernel-ppa/mainline/v${KERNELVER}/ | grep "linux-image" | grep "generic" | awk -F'\">' '/i386.deb/{print $2}' | cut -d'<' -f1 | head -1)" [ "$SYSTYPE" = "armhf" ] && KERNEL="$(wget -qO- http://kernel.ubuntu.com/~kernel-ppa/mainline/v${KERNELVER}/ | grep "linux-image" | grep "generic" | awk -F'\">' '/armhf.deb/{print $2}' | cut -d'<' -f1 | head -1)" [ "$SYSTYPE" = "arm64" ] && KERNEL="$(wget -qO- http://kernel.ubuntu.com/~kernel-ppa/mainline/v${KERNELVER}/ | grep "linux-image" | grep "generic" | awk -F'\">' '/arm64.deb/{print $2}' | cut -d'<' -f1 | head -1)" [ "$SYSTYPE" = "ppc64el" ] && KERNEL="$(wget -qO- http://kernel.ubuntu.com/~kernel-ppa/mainline/v${KERNELVER}/ | grep "linux-image" | grep "generic" | awk -F'\">' '/ppc64el.deb/{print $2}' | cut -d'<' -f1 | head -1)" [ "$SYSTYPE" = "s390x" ] && KERNEL="$(wget -qO- http://kernel.ubuntu.com/~kernel-ppa/mainline/v${KERNELVER}/ | grep "linux-image" | grep "generic" | awk -F'\">' '/s390x.deb/{print $2}' | cut -d'<' -f1 | head -1)" # 获取对应平台 Kernel 包的文件名 wget -t 3 -T 30 -nv -O "$KERNEL" "http://kernel.ubuntu.com/~kernel-ppa/mainline/v${KERNELVER}/${KERNEL}" # 下载对应的 Kernel dpkg -i $KERNEL # 安装下载好的 Kernel rm -f $KERNEL # 清理下载文件 update-grub # 更新启动菜单 

然后使用命令 chmod -x updatekernel.sh && bash updatekernel.sh 给予脚本运行权限并运行脚本来更新内核524免费翻墙网

若无需更新内核,则先将拥塞控制算法填写为 bbr,再添加以下代码保存并使用命令 sysctl -e -p 应用 524免费翻墙网

net.core.default_qdisc = fq # 将网络拥塞队列算法设置为性能和延迟最佳的 fq_codel

③内核优化

使用命令 nano sysctl.conf 编辑并在末尾加入如下代码,对系统进程及内存分配进行优化,保存并使用命令 sysctl -e -p 应用524免费翻墙网

fs.file-max = 1024000 # 系统所有进程一共可以打开的句柄数 (bytes) kernel.msgmnb = 65536 # 进程通讯消息队列的最大字节数 (bytes) kernel.msgmax = 65536 # 进程通讯消息队列单条数据最大的长度 (bytes) kernel.shmmax = 68719476736 # 内核允许的最大共享内存大小 (bytes) kernel.shmall = 4294967296 # 任意时间内系统可以使用的共享内存总量 (bytes)

使用命令 nano /etc/security/limits.conf 编辑和写入如下代码,限制用户档案的体积大小,提高系统稳定性,完成后保存524免费翻墙网

*                soft    nofile           512000 # 用户档案警告体积大小 (bytes) *                hard    nofile          1024000 # 用户档案最大体积大小 (bytes)

④TCP 的各种优化

涉及内核控制,TCP 包大小,TCP 转发,连接超时等优化,代码的简单释义已在其下方注明;使用命令 nano sysctl.conf 编辑并写入如下代码,保存并使用命令 sysctl -e -p 应用524免费翻墙网

net.core.rmem_max = 12582912 # 设置内核接收 Socket 的最大长度 (bytes) net.core.wmem_max = 12582912 # 设置内核发送 Socket 的最大长度 (bytes) net.ipv4.tcp_rmem = 10240 87380 12582912 # 设置 TCP Socket 接收长度的最小值,预留值,最大值 (bytes) net.ipv4.tcp_rmem = 10240 87380 12582912 # 设置 TCP Socket 发送长度的最小值,预留值,最大值 (bytes) net.ipv4.ip_forward = 1 # 开启所有网络设备的 IPv4 流量转发,用于支持 IPv4 的正常访问 net.ipv4.tcp_syncookies = 1 # 开启 SYN Cookie,用于防范 SYN 队列溢出后可能收到的攻击 net.ipv4.tcp_tw_reuse = 1 # 允许将等待中的 Socket 重新用于新的 TCP 连接,提高 TCP 性能 net.ipv4.tcp_tw_recycle = 0 # 禁止将等待中的 Socket 快速回收,提高 TCP 的稳定性 net.ipv4.tcp_fin_timeout = 30 # 设置客户端断开 Sockets 连接后 TCP 在 FIN 等待状态的实际 (s),保证性能 net.ipv4.tcp_keepalive_time = 1200 # 设置 TCP 发送 keepalive 数据包的频率,影响 TCP 链接保留时间 (s),保证性能 net.ipv4.tcp_mtu_probing = 1 # 开启 TCP 层的 MTU 主动探测,提高网络速度 net.ipv4.conf.all.accept_source_route = 1 net.ipv4.conf.default.accept_source_route = 1 # 允许接收 IPv4 环境下带有路由信息的数据包,保证安全性 net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.default.accept_redirects = 0 # 拒绝接收来自 IPv4 的 ICMP 重定向消息,保证安全性 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 net.ipv4.conf.lo.send_redirects = 0 # 禁止发送在 IPv4 下的 ICMP 重定向消息,保证安全性 net.ipv4.conf.all.rp_filter = 0 net.ipv4.conf.default.rp_filter = 0 net.ipv4.conf.lo.rp_filter = 0 # 关闭反向路径回溯进行源地址验证 (RFC1812),提高性能 net.ipv4.icmp_echo_ignore_broadcasts = 1 # 忽略所有 ICMP ECHO 请求的广播,保证安全性 net.ipv4.icmp_ignore_bogus_error_responses = 1 # 忽略违背 RFC1122 标准的伪造广播帧,保证安全性 net.ipv6.conf.all.accept_source_route = 1 net.ipv6.conf.default.accept_source_route = 1 # 允许接收 IPv6 环境下带有路由信息的数据包,保证安全性 net.ipv6.conf.all.accept_redirects = 0 net.ipv6.conf.default.accept_redirects = 0 # 禁止接收来自 IPv6 下的 ICMPv6 重定向消息,保证安全性 net.ipv6.conf.all.autoconf = 1 # 开启自动设定本地连接地址,用于支持 IPv6 地址的正常分配 net.ipv6.conf.all.forwarding = 1 # 开启所有网络设备的 IPv6 流量转发,用于支持 IPv6 的正常访问

⑤使用 m2crypto 加速加解密 (Python 服务端)

apt-get install build-essential python3-dev python-dev python-pip libssl-dev swig # 运行以上命令,安装支持库 pip install m2crypto # 运行以上命令,安装 m2crypto

 

⑥使用 Kcptun 加速 (会影响 TCP Fast Open 的正常工作,请自行取舍)

echo "$(dpkg --print-architecture)" # 运行以上命令,查看 Linux 硬件版本

这里获取最新的预编译版 本Kcptun (Go) 下载地址 (注意选择相应的 Linux 系统版本)524免费翻墙网

wget [获取的下载地址] # 运行以上命令,下载预编译版本 Kcptun tar -zxvf [下载后的文件名] # 运行以上命令,解压预编译文件 ./[解压后的文件名] -t "[服务器目标IPv4]:[Kcptun目标端口]" -l ":[Kcptun监听端口]" # 运行以上命令启动 Kcptun,具体配置请参考官方 README*

*kcptun/README 官方文档524免费翻墙网

❺安全* (使用 Twist 脚本搭建不需要进行配置,已自动完成配置;主要面向 ShadowsocksR 和其它 Shadowsocks 版本的用户)

①Web Server 的伪装 (使用 TCP80 或TCP 443 为端口的 Shadowsocks 服务器效果更佳)

可以使用 Apache 来构建一个网站服务器,用于隐藏 Shadowsocks 服务器的特征,防止 Shadowsocks 服务器被运营商或防火墙的主动探测发现;使用以下命令配置 Apache 服务器524免费翻墙网

apt-get -y install apache2 # 运行以上命令,安装 Apache 服务service apache2 start # 运行以上命令,启动 Apache 服务*

*若在 TCP80 端口开放或 Shadowsocks 已经连接的状况下在浏览器中输入服务器的 IP 并访问,出现 It’s works! 即为成功配置 Apache Server ;关于安全性加强,请参考②封禁恶意访问 IP*524免费翻墙网

*究其根本,使用较新的 AEAD 流加密更加有效,以上方法仅在某种层面具有一定的效果524免费翻墙网

②封禁恶意访问 IP

⒈使用 fail2ban 来阻止恶意的 SSH 和 Apache Web Server 攻击者,主要是解决潜在的用户攻击者 (比如那些有权限连接到你的 Shadowsocks 服务器的设备可能会绕开实例的外部防火墙,因此单纯配置 Firewall 并不是完全有用的);首先使用以下命令安装 fail2ban524免费翻墙网

apt-get -y install fail2ban # 运行以上命令,安装 fail2ban

使用命令 nano /etc/fail2ban/jail.local 按情况添加以下部分代码并保存来配置 fail2ban 规则,首先是 SSH 规则代码524免费翻墙网

[ssh-iptables] enabled = true filter     = sshd action   = iptables[name=SSH, port=ssh, protocol=tcp] logpath = /var/log/secure

*若开启了 Apache Web Server 伪装,还须添加如下代码保证 Web Server 的安全524免费翻墙网

[apache-tcpwrapper] enabled = true filter     = apache-auth action   = hostdeny logpath = /var/log/httpd/error_log  [apache-badbots] enabled = true filter     = apache-badbots action   = iptables-multiport[name=BadBots, pory="http,https"] logpath = /var/log/httpd/access_log  [apache-shorewall] enabled = true filter     = apache-noscript action   = shorewall logpath = /var/log/httpd/error_log 

⒉使用 Shadowsocks 或 ShadowsocksR 自带的 autoban.py 来禁止恶意的 Shadowsocks 攻击 (仅限 Python 服务端,开始前请确保你拥有 Python 环境);首先找到你的 Shadowsocks(R) 安装路径,请使用命令 cd 进入目录和 ls 显示目录下文件或其它方式找到其安装路径,并按照如下步骤安装 Supervisor (用于运行 Autoban)524免费翻墙网

apt-get -y install supervisor # 安装 Supervisor 任务管理,用于后台运行 autoban.py

使用命令 nano /etc/supervisor/conf.d/autoban.conf 创建 supervisor 配置文件,输入如下代码并保存524免费翻墙网

[program:autoban] command=python autoban.py < /var/log/shadowsocks.log directory=[Shadowsocks(R) 安装路径]/utils autorestart=true user=root

使用如下命令启动 Supervisor 及 Autoban (关于 Autoban 的更多信息请参考这里)524免费翻墙网

service supervisor start # 运行以上命令,启动 Supervisor 服务 supervisorctl reload # 运行以上命令,重加载 Autoban 计划

❻疑难解答

若在安装或优化过程中遇到问题,请先根据提示使用搜索引擎查找;若寻觅无果,可在开源项目的 issues 中寻找,所使用的开源项目有:Shadowsocks-libevsimple-obfsmbedtlslibsodiumTwist等…也可以在评论中讨论,在下为一只高三的学生狗,不一定有能力或有时间为大家解答,请理解下面则针对一些常见问题进行说明524免费翻墙网

Q1.如何确定我是否成功更新了内核?

运行命令 dpkg -l | grep linux-image 显示当前已经安装的内核524免费翻墙网

Q2.如何确定是否成功开启了 BBR 加速?

运行命令 lsmod | grep bbr 后若显示内容中有 tcp_bbr 则为开启成功524免费翻墙网

Q3.使用 ping6 google.com 返回 network is unreachable 怎么解决?

首先确定你的实例至少拥有一个 v6 的 PubilcIP,再执行以下步骤524免费翻墙网

ip link # 运行以上命令,查看当前活动的网络设备 echo "net.ipv6.conf.all.forwarding = 1" >> /etc/sysctl.conf # 运行以上命令,开启全部 IPv6 转发 echo "net.ipv6.conf.[附着有PublicIP的网络设备名称*].accept_ra = 2" >> /etc/sysctl.conf # 运行以上命令,开启附着有 PublicIP 的网络设备的 IPv6 路由广播 sysctl -e -p # 运行以上命令应用配置

*附着有 PublicIP 的网络设备名称一般为 eth0、eth+、ens3、ens+ …524免费翻墙网

Q4.使用 AWS EC2 如何向实例附着一个 IPv6 地址?

请参照 AWS 的官方文档设置 VPC (须有一定的英语基础)524免费翻墙网

Q5.关闭 Twist 的 FWS 功能搭建后或使用其它版本的 Shadowsocks 时 Obfs 发生端口冲突怎么办?

通过使用 nano [配置文件路径] 命令编辑配置文件来解决问题 (使用 Twist 搭建的配置文件路径为 /etc/shadowsocks-libev/config.json,使用其它脚本搭建的服务端请在其 README.md 中寻找相关信息)524免费翻墙网

1.通过修改 "server_port":, 这一行的端口号 (1-65535) 改变端口并重启服务端*524免费翻墙网

2.通过把 "plugin_opts":"", 这一行中的 obfs-host 改为 failover 来改变 Obfs 工作方式来解决问题;若这一行中无 obfs-host 则向其中添加 failover 即可 (注意使用 ; 号将参数分隔);最后请重启服务端* (仅限 Shadowsocks (libev) 用户)524免费翻墙网

*重启服务端:由于不同的脚本搭建的服务端重启方式不同,若服务端支持自动启动,则直接执行命令 reboot 重启实例更为简单;或请参考搭建时所用脚本的 README.md 自行重启524免费翻墙网

Q6.使用 fail2ban 或 autoban.py 不小心 Ban 了自己怎么办?

首先 SSH 连接到你的服务器 (如果用于 SSH 的 IP 被 Ban 的话需要更换一个没被 Ban 的 IP),然后使用以下命令移除被 Ban 的 IP524免费翻墙网

iptables -L # 运行以上命令,显示所有的 iptables 规则,并找到你要解 Ban 的 chain-name 和 IP iptables -D [被 BanIP 的 chain-name] [被 Ban 的 IP] -j REJECT # 手动补充运行以上命令,解除屏蔽

Q7.我如何确认 Supervisor 的 autoban.py 任务已经成功运行?

524免费翻墙网
运行命令 supervisorctl tail -f autoban stderr 查看 Supervisor 的日志,若无报错即为成功运行

Q8.Shadowsocks 有哪些进阶使用?(请合法使用)

1.使用 ss-panelshadowsocks-manager 进行 Web 管理界面配置并接入支付宝商家 API 可以实现提供付费服务从用户获利
2.使用 obfs 来通过将自己的网络流量伪装成一些特殊域名或 IP 的请求以绕开运营商或防火墙的监视及封锁 (原版 Shadowsocks 及其 libev 分支可能需要自行配置 simple-obfs)
3.使用 HAproxy 转发 Shadowsocks 服务器流量以隐藏主服务器的真实 IP
4.使用 ShadowDNS 将 Shadowsocks 服务器用于转发 DNS 解析

Q9.我如何安装其它版本的 Shadowsocks?

使用 Github 寻找搭建脚本 (如 Teddysun 写的全版本搭建脚本),按照 README 或 Wiki 自行搭建

Q10.使用 Twist 脚本配置的服务端如何更新或卸载?

bash twist.sh update # 在 twist.sh 所在目录运行这条命令获取更新 bash twist.sh uninstall # 在 twist.sh 所在目录运行这条命令卸载服务

  • 客户端的选择

以下主要介绍各个平台的 GUI Based 客户端,仅供参考 (Simple-Obfs 为 Shadowsocks-libev 的混淆标准,不支持 Simple-Obfs 并不意味着不支持 ShadowsocksR 的 Obfs-Plugin 混淆标准;此处评价仅从 Shadowsocks-libev 的角度出发,请勿误解)524免费翻墙网

MacOS

ShadowsocksX-NG

免费且功能强大的客户端,支持 AEAD,Kcptun,UDP,不支持任何混淆或 TCP Fast Open,稳定性一般524免费翻墙网

Surge

价格昂贵的网络调试工具,支持 AEAD,TCP Fast Open,同时支持 Simple-Obfs 的 http 混淆 (tls 适配中),稳定性极佳524免费翻墙网

Windows

Shadowsocks-windows

免费易用的官方客户端,支持 AEAD,UDP,TCP Fast Open 还在测试中,但不支持 Simple-Obfs,稳定性极佳524免费翻墙网

Shadowsocks-qt5

免费易用的跨平台客户端,但目前不支持 AEAD,TCP Fast Open 和 Simple-Obfs,稳定性一般524免费翻墙网

Linux

Shadowsocks-qt5

 524免费翻墙网

免费易用的跨平台客户端,但目前不支持 AEAD,TCP Fast Open 和 Simple-Obfs,稳定性一般524免费翻墙网

Avege

免费易用的跨平台客户端,主要适配 ShadowsocksR (与 Shadowsocks-libev 兼容),不支持 AEAD,TCP Fast Open 和 Simple-Obfs,稳定性一般524免费翻墙网

iOS

 524免费翻墙网

十分强大的付费客户端,支持 AEAD,Kcptun,Domain TLS,Obfs-Plugin,可自定义规则,稳定性一般524免费翻墙网

524免费翻墙网
524免费翻墙网

方便易用的付费客户端,支持 AEAD,Obfs-Plugin,可自定义规则,稳定性一般 (官方 Manual)524免费翻墙网

524免费翻墙网
524免费翻墙网

昂贵的网络调试工具,支持 AEAD,TCP Fast Open,Simple-Obfs,可自定义规则,稳定性极佳 (官方 Manual)524免费翻墙网

524免费翻墙网
524免费翻墙网

使用十分简单免费的网络调试工具,支持 AEAD,Obfs-Plugin 可自定义规则,稳定性极佳524免费翻墙网

Android

524免费翻墙网
524免费翻墙网

强大的官方客户端,支持 AEAD,TCP Fast Open,Obfs,Kcptun,稳定性一般524免费翻墙网

OpenWRT

OpenWRT-Shadowsocks (Windows Mobile,ChromeOS 的科学上网方式之一)

开源的官方客户端,支持 AEAD,TCP Fast Open,Simple-Obfs,UDP;配合 ChinaDNSluci-app-shadowsocks (GUI) 使用 (官方 Wiki),稳定性一般。其中 ChinaDNS,luci-app-shadowsocks 一般可直接在路由器 管理界面>软件 (Software) 中安装,后者依赖两个包 iptablesipset;若有 Shadowsocks-libev 缺失情况,可参照命令安装*524免费翻墙网

*命令安装524免费翻墙网

这里获取最新预编译 .ipk 地址,使用 Telnet 或 SSH 连接到你的路由,使用以下命令进行安装524免费翻墙网

opkg install wget # 运行以上命令安装 wget 服务,用于下载 .ipk 到路由器 wget [获取的.ipk地址] # 运行以上命令下载 .ipk 到路由;下载前应注意路由器 CPU 型号,确保选择了正确的 .ipk dpkg -i [下载后的.ipk路径或名称] # 运行以上命令安装客户端

  • 写在最后

撰写这篇文章仅为了分享一下自己的一些经验,希望对有需要的人有所帮助;投笔颇少,顺手写完,表达上的不准确,内容上的不完整和逻辑上的不清晰还请谅解,如有错误欢迎指正;使用科学上网的同时,也应该明确科学上网的真正意义,以及明白为什么会有 GFW 的原因,许多时候我们并没有属于自己的思考,一并打着“闭关锁国”口号的推墙分子又是如何?墙不在了我们的生活会变得更好吗?这些都是我们没有能力回答的问题,即便有所经历,拿一些事实来分析也往往会断章取义,故希望大家可以理智对待GFW存在的事实以及今后科学上网所要面临的种种困难;最后再引用一句 clowwindy 的话:524免费翻墙网

 524免费翻墙网

往往不需要政府造墙,网民也会自发造墙524免费翻墙网

来自https://sspai.com/post/39828524免费翻墙网

来顶一下
返回首页
返回首页
欢迎评论:免登录,输入验证码即可匿名评论 共有条评论
用户名: 密码:
验证码: 匿名发表

推荐资讯

Octohide VPN:快如闪电的免费VPN
Octohide VPN:快如闪
原子网络加速器 - 免费高速VPN 一键链接 方便快捷
原子网络加速器 - 免费
foxovpn绿狐VPN——即连即用、快速、安全
foxovpn绿狐VPN——即
Dubai VPN - Free, Fast & Secure VPN下载
Dubai VPN - Free, Fa
相关文章
栏目更新
栏目热门
墙外新闻
读者文摘

你可以访问真正的互联网了。You can access the real Internet.

管理员精中特别提醒:本网站域名、主机和管理员都在美国,且本站内容仅为非中国大陆网友服务。禁止中国大陆网友浏览本站!若中国大陆网友因错误操作打开本站网页,请立即关闭!中国大陆网友浏览本站存在法律风险,恳请立即关闭本站所有页面!对于您因浏览本站所遭遇的法律问题、安全问题和其他所有问题,本站均无法负责也概不负责。

特别警告:本站推荐各种免费科学上网软件、app和方法,不建议各位网友购买收费账号或服务。若您因付费购买而遭遇骗局,没有得到想要的服务,请把苦水往自己肚子里咽,本站无法承担也概不承担任何责任!

本站严正声明:各位翻墙的网友切勿将本站介绍的翻墙方法运用于违反当地法律法规的活动,本站对网友的遵纪守法行为表示支持,对网友的违法犯罪行为表示反对!

网站管理员定居美国,因此本站所推荐的翻墙软件及翻墙方法都未经测试,发布仅供网友测试和参考,但你懂的——翻墙软件或方法随时有可能失效,因此本站信息具有极强时效性,想要更多有效免费翻墙方法敬请阅读本站最新信息,建议收藏本站!本站为纯粹技术网站,支持科学与民主,支持宗教信仰自由,反对恐怖主义、邪教、伪科学与专制,不支持或反对任何极端主义的政治观点或宗教信仰。有注明出处的信息均为转载文章,转载信息仅供参考,并不表明本站支持其观点或行为。未注明出处的信息为本站原创,转载时也请注明来自本站。

鉴于各种免费翻墙软件甚至是收费翻墙软件可能存在的安全风险及个人隐私泄漏可能,本站提醒各位网友做好各方面的安全防护措施!本站无法对推荐的翻墙软件、应用或服务等进行全面而严格的安全测试,因此无法对其安全性做保证,无法对您因为安全问题或隐私泄漏等问题造成的任何损失承担任何责任!

S. Grand Ave.,Suite 3910,Los Angeles,CA 90071

知识共享许可协议
本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。