去美国之前想做个国内服务器的个人VPS方便翻墙回来,记录一下关于国内服务器在没有代理情况下出现的许多connection failed的解决方法

1. 更新或安装wget

yum -y install wget

2. 安装网卡工具

yum install net-tools -y

然后断开服务器重连

3. 安装SSR

  • 国内服务器
wget https://github.com/mu228/ssr/raw/master/ssr.sh && bash ssr.sh
# 如果connection failed可添加参数-N --no-check-certificate
  • 国外服务器
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/ssr.sh && chmod +x ssr.sh && bash ssr.sh
# 或者
wget --no-check-certificate https://www.aloneray.com/wp-content/uploads/2019/01/shadowsocksR_CN.sh && chmod +x shadowsocksR_CN.sh && ./shadowsocksR_CN.sh

安装完毕自动调出SSR界面,配置SSR账户信息如下

用户 : 自定义
端口 : 1024
密码 : 自定义
加密 : aes-256-cfb
协议 : auth_sha1_v4
混淆 : plain
兼容 : Yes

配置完毕后,调出ShadowsocksR一键管理脚本页面:

bash ssr.sh

4. 安装BBR(国内服务器)

Google 开源了其 TCP BBR 拥塞控制算法,并提交到了 Linux 内核,从 4.9 开始,Linux 内核已经用上了该算法,因此先检查CentOS系统内核是否在4.9以上

  • 检查更新内核

查看当前核心

uname -r
Vultr CentOS7安装Google BBR加速工具方法

这里我们看到当前CENTOS7核心是3.10.0-514.2.2.el7.x86_64,这个核心是不可以安装BBR的。

更新内核

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
Vultr CentOS7安装Google BBR加速工具方法

安装最新内核

yum --enablerepo=elrepo-kernel install kernel-ml -y

BBR目前只支持4.9.0以上的内核,其他内核是不行的,需要更换内核才可以。

Vultr CentOS7安装Google BBR加速工具方法

检查内核是否更新

rpm -qa | grep kernel
Vultr CentOS7安装Google BBR加速工具方法

我们看到了有4.9.0以上版本的内核,需要启动才可以

grub2-set-default 1

重启

shutdown -r now

检查内核是否生效

uname -r

当前内核是4.9.4-1.el7.elrepo.x86_64,在4.9.0以上可以继续

Vultr CentOS7安装Google BBR加速工具方法
  • 安装Google BBR

安装BBR工具

echo 'net.core.default_qdisc=fq' | sudo tee -a /etc/sysctl.conf
echo 'net.ipv4.tcp_congestion_control=bbr' | sudo tee -a /etc/sysctl.conf
sysctl -p
Vultr CentOS7安装Google BBR加速工具方法

检查BBR是否成功

执行命令,看看是否是提示"net.ipv4.tcp_available_congestion_control = bbr cubic reno"

sysctl net.ipv4.tcp_available_congestion_control

执行命令,是否提示bbr

sysctl -n net.ipv4.tcp_congestion_control

执行命令,是否看到BBR提示

lsmod | grep bbr
img

有提示bbr,则说明已经开启成功了

5. 安装BBR(国外服务器)

安装BBR工具,增加可执行权限,开启BBR

wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh
chmod +x bbr.sh
./bbr.sh

判断BBR加速有没有开启成功。输入以下命令:

sysctl net.ipv4.tcp_available_congestion_control

如果返回值为net.ipv4.tcp_available_congestion_control = bbr cubic reno

后面有bbr,则说明已经开启成功了