前言
访问外网仅为学习国外最新技术, 了解最新科技资讯, 请避免接受反动政治言论洗脑以危害国家安全!
作为一名程序员, 难免会需要访问“外网”, 查找资料。于是我决定自己搭建一个VPN
第零步:选择合适的 VPS
什么是 VPS 请自己百度吼
国外常见的 VPS 有很多, 如 Linode
、Vultr
、SugarHosts
等, 具体请看该网站 https://www.vpser.net/
我选择的是 Vultr
, 他们家有 $2.5/m 的廉价 VPS, 每月 500G 流量, 当然, 能不能抢到货就看你们自己咯
具体购买流程我就不多说了(买东西应该不用教吧, 哈哈)
操作系统:CentOS 7
搭建 VPN 的方式有很多, 我也只查阅了 ss 的搭建方式(略略略
第一步:搭建 ss
啥是ss???
ss 是 shadowsocks 的简称, 一个可穿透防火墙的快速代理(官方文档)
1
2
3
4
# CentOS:
> yum install python-setuptools && easy_install pip
> pip install shadowsocks
# 其他操作系统请查看官方文档
第二步:编写 ss 配置
1
2
3
4
5
> vim /etc/shadowsocks.json
# 如果提示 vim: command not found
# 可以使用 vi /etc/shadowsocks.json
# vi 是 Linux 系统下标准的编辑器, 类似于 windows 的记事本
# vim 需要另外安装
如果不懂 vi 怎么使用, 请自行百度
单用户模式
1
2
3
4
5
6
7
8
9
10
{
"server": "120.0.0.1",
"server_port": 8388,
"local_address": "120.0.0.1",
"local_port": 1080,
"password": "password",
"timeout": 300,
"method": "aes-256-cfb",
"fast_open": false
}
server
: 这里填写你的服务器外网 IP
server_port
: 这是你要连接 ss 的端口
local_address
: 默认填写 120.0.0.1 即可
local_port
: 默认填写 1080 即可
password
: 密码
多用户模式
1
2
3
4
5
6
7
8
9
10
11
12
13
{
"server": "120.0.0.1",
"local_address": "120.0.0.1",
"local_port": "1080",
"port_password": {
"8381": "password1",
"8382": "password2",
"8383": "password3"
},
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false
}
server
: 你的服务器外网 IP, Google Cloud VM 有可能会将外网 IP 镜像到内网, 通过 /etc/hosts 查看
开启 fast_open 模式 (可选)
设置 fast_open
为 true
, 并且
1
echo 3 > /proc/sys/net/ipv4/tcp_fastopen
第三步:配置开机启动
1
> vim /etc/init.d/shadowsocks.sh
写入以下内容
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/sh
#
# chkconfig: 2345 85 15
# description: run shadowsocks.
# processname: shadowsocks
rm -rf ~/shadowsocks.log || true
ssserver -c /etc/shadowsocks.json -d start --log-file ~/shadowsocks.log
> chmod +x /etc/init.d/shadowsocks.sh
> chkconfig --add /etc/init.d/shadowsocks.sh
# systemctl enable /etc/init.d/shadowsocks.sh
第四步:开启端口
注意:接下来开始对 CentOS 的版本有要求了!
我使用的是 CentOS 7
CentOS 6 的童鞋们我会在下面给相关链接, 请自行查阅.
1
2
3
4
5
6
7
8
# 查看已开放端口
> firewall-cmd --list-ports
# 开启端口 以开启 8388 端口为例
> firewall-cmd --zone=public --add-port=8388/tcp --permanent
# 重启防火墙
> firewall-cmd --reload
CentOS 7 以下版本请看这里
第五步:安装 TCP 加速 (可选)
1
2
3
4
5
# 安装
> wget -N --no-check-certificate https://github.com/91yun/serverspeeder/raw/master/serverspeeder.sh && bash serverspeeder.sh
# 卸载
> chattr -i /serverspeeder/etc/apx* && /serverspeeder/bin/serverSpeeder.sh uninstall -f
当然, 在你安装的时候, 有很大可能会报内核不支持
这个时候就需要修改 Linux 内核了, 一定要选择对应系统版本的内核, 不然 VPS 可能会 die
CentOS 7 内核更换(内核:3.10.0-327.el7.x86_64)
1
2
# 安装 3.10.0-327.el7.x86_64 内核
> rpm -ivh http://xz.wn789.com/CentOSkernel/kernel-3.10.0-229.1.2.el7.x86_64.rpm --force
如果安装内核的时候报错
The name of network interface is not eth0, please retry after changing the name
那么请执行下面这个命令, 没报错就不用了
1
> yum install net-tools -y
查看内核是否安装成功
1
2
> rpm -qa | grep kernel
# 如果打印出来的信息里存在 3.10.0-327.el7.x86_64 , 说明安装成功
重启VPS
1
> reboot
查看当前使用内核版本
1
2
> uname -r
# 3.10.0-327.el7.x86_64
至此, 再执行一下 serverspeeder
安装命令, 就万事大吉了 !!!
最后一步
1
2
3
4
# 启动 ss
> ssserver -c /etc/shadowsocks.json -d start
# 停止 ss
> ssserver -c /etc/shadowsocks.json -d stop
附:ss客户端下载地址
本文由
Oscaner
创作, 采用
知识共享署名4.0
国际许可协议进行许可
本站文章除注明转载/出处外, 均为本站原创或翻译, 转载前请务必署名