去美国之前想做个国内服务器的个人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

这里我们看到当前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

安装最新内核
yum --enablerepo=elrepo-kernel install kernel-ml -y
BBR目前只支持4.9.0以上的内核,其他内核是不行的,需要更换内核才可以。

检查内核是否更新
rpm -qa | grep kernel

我们看到了有4.9.0以上版本的内核,需要启动才可以
grub2-set-default 1
重启
shutdown -r now
检查内核是否生效
uname -r
当前内核是4.9.4-1.el7.elrepo.x86_64,在4.9.0以上可以继续

- 安装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

检查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

有提示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,则说明已经开启成功了