linux下科学上网简单搭建
linux下利用shadowsock+kcptun+udp2raw的科学上网搭建。
本文适读人群
- 对linux服务有简单了解
- 对科学上网稳定性有强迫,在使用shadowsock+kcptun+udp2raw会让科学上网非常稳定不容易掉包
本文能够知道什么
- linux下成功使用shadowsock+kcptun+udp2raw搭建科学上网
本文不知道什么
- 搭建工具原理
VPS购买
- 我买的是digitalocean价格在5刀一个月偏贵,只要是国外服务器就行。
shadowsock搭建
下载shadowsock已发布的版本
https://github.com/shadowsocks/shadowsocks-rust/releases
,找一个最新版本下载即可,或者用命令wget https://github.com/shadowsocks/shadowsocks-rust/releases/download/v1.6.10/shadowsocks-v1.6.10-release.x86_64-unknown-linux-musl.tar.xz
即可下载至本地;本地压缩包解压后我们要使用的有两个文件,ssserver:shadowsock的服务端,sslocal:shadowsock的客户端;
客户端配置
将
sslocal
二进制拷贝至/usr/local/bin/
下sudo cp sslocal /usr/local/bin
创建配置文件
sudo vim /etc/shadowsocks.json
1
2
3
4
5
6
7
8
9{
"server":"127.0.0.1",
"server_port":30001,
"local_address":"127.0.0.1",
"local_port":9872,
"password":"rtqqer190",
"timeout":300,
"method":"aes-256-gcm"
}创建开机启动服务
sudo vim /lib/systemd/system/ss-server.service
1
2
3
4
5
6
7
8
9
10
11[Unit]
Description=shadowsocks server daemon
After=syslog.target network.target
[Service]
Type=simple
# 关键就是这行,确定我们的程序文件,以及配置文件的路径
ExecStart=/usr/local/bin/sslocal -c /etc/shadowsocks.json
[Install]
WantedBy=multi-user.target启动服务并设置开机启动
systemctl start ss-server.service
systemctl enable ss-server.service
服务端配置
- 将
ssserver
二进制拷贝至/usr/local/bin/
下sudo cp ssserver /usr/local/bin
- 创建配置文件
sudo vim /etc/shadowsocks.json
1
2
3
4
5
6
7
8
9{
"server":"::",
"server_port":39201,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"rtqqer190",
"timeout":300,
"method":"aes-256-gcm"
} - 创建开机启动服务
sudo vim /lib/systemd/system/ss-server.service
1
2
3
4
5
6
7
8
9
10[Unit]
Description=shadowsocks server daemon
After=syslog.target network.target
[Service]
# 关键就是这行,确定我们的程序文件,以及配置文件的路径
ExecStart=/usr/local/bin/ssserver -c /etc/shadowsocks.json
[Install]
WantedBy=multi-user.target - 启动服务并设置开机启动
systemctl start ss-server.service
systemctl enable ss-server.service
kcptun搭建
下载kcptun已发布的版本
https://github.com/xtaci/kcptun/releases
,找一个最新版本下载即可,或者用命令wget https://github.com/xtaci/kcptun/releases/download/v20220628/kcptun-linux-amd64-20220628.tar.gz
即可下载至本地;本地压缩包解压后我们要使用的有两个文件,server_linux_amd64:kcptun的服务端,client_linux_amd64:kcptun的客户端;
客户端配置
将
client_linux_amd64
二进制拷贝至/usr/local/bin/
下sudo cp client_linux_amd64 /usr/local/bin
创建开机启动服务
sudo vim /lib/systemd/system/kcptun.service
1
2
3
4
5
6
7
8
9
10
11
12
13
14[Unit]
Description=kcptun-server Service
After=network.target
Wants=network.target
[Service]
Type=simple
PIDFile=/var/run/kcp-server.pid
# 重要的就是下面的这句话
ExecStart=/usr/local/bin/client_linux_amd64 -l :30001 -r 127.0.0.1:30001 --crypt salsa20 --key "lch0719" --nocomp
Restart=on-abnormal
[Install]
WantedBy=multi-user.target启动服务并设置开机启动
systemctl start kcptun.service
systemctl enable kcptun.service
服务端配置
将
server_linux_amd64
二进制拷贝至/usr/local/bin/
下sudo cp server_linux_amd64 /usr/local/bin
创建配置文件
sudo vim /etc/kcptun.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20{
"listen":":8400",
"target":"127.0.0.1:39201",
"crypt":"salsa20",
"mode":"fast2",
"key":"lch0719",
"nocomp":true,
"keepalive":10,
"nodelay":0,
"mtu":1350,
"dscp":0,
"sockbuf":4194304,
"nc":1,
"resend":2,
"parityshard":3,
"rcvwnd":4096,
"interval":20,
"sndwnd":4096,
"datashard":10
}创建开机启动服务
sudo vim /lib/systemd/system/kcptun.service
1
2
3
4
5
6
7
8
9
10
11
12
13
14[Unit]
Description=kcptun-server Service
After=network.target
Wants=network.target
[Service]
Type=simple
PIDFile=/var/run/kcp-server.pid
# 重要的就是下面的这句话
ExecStart=/usr/local/bin/kcptun -c /etc/kcptun.json
Restart=on-abnormal
[Install]
WantedBy=multi-user.target启动服务并设置开机启动
systemctl start kcptun.service
systemctl enable kcptun.service
udp2raw搭建
下载udp2raw已发布的版本
https://github.com/wangyu-/udp2raw-tunnel
,找一个最新版本下载即可;本地压缩包解压后我们要使用指定架构版本
udp2raw_amd64
,udp2raw为服务端客户端一体;客户端配置
将
udp2raw_amd64
二进制拷贝至/usr/local/bin/
下sudo cp client_linux_amd64 /usr/local/bin
创建开机启动服务
sudo vim /lib/systemd/system/udp2raw.service
1
2
3
4
5
6
7
8
9
10
11
12
13
14[Unit]
Description=udp2raw-server Service
After=network.target
Wants=network.target
[Service]
Type=simple
PIDFile=/var/run/kcp-server.pid
# 重要的就是下面的这句话
ExecStart=/usr/local/bin/udp2raw_amd64 -c -l0.0.0.0:30001 -r <服务器ip地址>:<服务器udp端口,比如我这里就是:4096> -k "lch0719"
Restart=on-abnormal
[Install]
WantedBy=multi-user.target启动服务并设置开机启动
systemctl start udp2raw.service
systemctl enable udp2raw.service
服务端配置
将
udp2raw_amd64
二进制拷贝至/usr/local/bin/
下sudo cp server_linux_amd64 /usr/local/bin
创建开机启动服务
sudo vim /lib/systemd/system/udp2raw.service
1
2
3
4
5
6
7
8
9
10
11
12
13
14[Unit]
Description=udp2raw-server Service
After=network.target
Wants=network.target
[Service]
Type=simple
PIDFile=/var/run/kcp-server.pid
# 重要的就是下面的这句话
ExecStart=/usr/local/bin/udp2raw_amd64 -s -l0.0.0.0:4096 -r127.0.0.1:8400 -a -k "lch0719"
Restart=on-abnormal
[Install]
WantedBy=multi-user.target启动服务并设置开机启动
systemctl start udp2raw.service
systemctl enable udp2raw.service
谷歌设置shadowsock
- 首先下载谷歌插件
SwitchyOmega
auto switch
配置规则列表网址https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt
proxy
配置代理协议Sock5
,代理服务器127.0.0.1
,代理端口为刚才shadowsock端口9872
- 不代理列表配置
1
2
3127.0.0.1
::1
localhost
终端配置科学上网
sudo apt install proxychains4
sudo vim /etc/proxychains4.conf
在[Proxylist]下增加:sock4 127.0.0.1 9872