
ОС на vps:
uname -a
Linux vultr.guest 4.9.0-12-amd64 #1 SMP Debian 4.9.210-1 (2020-01-20) x86_64 GNU/Linux
Я построил tinyproxy и kcptun на своем VPS таким образом.
крошечныйпрокси
apt-get install tinyproxy
touch /run/tinyproxy/tinyproxy.pid
Оставьте все настройки по умолчанию.
systemctl start tinyproxy
systemctl status tinyproxy
● tinyproxy.service - Tinyproxy lightweight HTTP Proxy
Loaded: loaded (/lib/systemd/system/tinyproxy.service; enabled; vendor preset
Active: active (running)
tinyproxy
в хорошем состоянии, готов к использованию.
kcptun серверная сторона
Получите серверную часть kcptun.
wget https://github.com/xtaci/kcptun/releases/download/v20200226/kcptun-linux-amd64-20200226.tar.gz
tar -zxf kcptun-linux-amd64-20200226.tar.gz
cp server_linux_amd64 /usr/bin/server_linux_amd64
Создайте службу для сервера kcptun.
vi /etc/systemd/system/kcptun.service
[Unit]
Description=Kcptun server
Requires=network.target
After=network-online.target
[Service]
Type=simple
User=nobody
RemainAfterExit=yes
ExecStart=/usr/bin/server_linux_amd64 -c /etc/kcptun/conf.json > /tmp/kcptun.log 2>&1
ExecReload=/usr/bin/kill -HUP $MAINPID
RestartSec=1min
Restart=on-failure
[Install]
WantedBy=multi-user.target
Настройте файл конфигурации для сервера kcptun.
vim /etc/kcptun/conf.json
{
"listen": ":20000",
"target": "127.0.0.1:8888",
"key": "xxxxxxxx",
"crypt": "salsa20",
"mode": "normal",
"mtu": 1400,
"sndwnd": 2048,
"rcvwnd": 2048,
"datashard": 10,
"parityshard": 3,
"dscp": 46,
"nocomp": true,
"acknodelay": false,
"nodelay": 1,
"interval": 40,
"resend": 2,
"nc": 1,
"sockbuf": 16777217,
"smuxver": 1,
"smuxbuf": 16777217,
"streambuf": 2097152,
"keepalive": 10,
"pprof":false,
"quiet":false,
"tcp":false
}
8888
— порт tinyproxy, 20000
порт для соединения между сервером kcptun и клиентом kcptun.
Откройте порт для 20000
.
firewall-cmd --zone=public --add-port=20000/udp --permanent
firewall-cmd --reload
Сервер Sart kcptun.
systemctl start kcptun
systemctl status kcptun
● kcptun.service - Kcptun server
Loaded: loaded (/etc/systemd/system/kcptun.service; disabled; vendor preset:
Active: active (running) since Sun 2020-03-08 08:14:26 UTC; 58min ago
Main PID: 2082 (server_linux_am)
Tasks: 6 (limit: 4915)
CGroup: /system.slice/kcptun.service
└─2082 /usr/bin/server_linux_amd64 -c /etc/kcptun/conf.json
Состояние хорошее.
клиентская сторона kcptun
На моем локальном ПК почти то же самое, что и настройка сервера kcptun на vps.
Получите kcptun.
wget https://github.com/xtaci/kcptun/releases/download/v20200226/kcptun-linux-amd64-20200226.tar.gz
tar -zxf kcptun-linux-amd64-20200226.tar.gz
Создайте службу для клиента kcptun.
vim /etc/systemd/system/kcptun.service
[Unit]
Description=kcptun
Wants=basic.target
After=basic.target network.target
[Service]
User=nobody
Group=nogroup
ProtectSystem=full
ExecStart=/home/debian/client_linux_amd64 -c /home/debian/config.json > /tmp/kcptun.log 2>&1
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
StandardOutput=syslog
StandardError=syslog
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
Установить файл конфигурации.
vim config.json
{
"localaddr": "127.0.0.1:8123",
"remoteaddr": "vps_ip:20000",
"key": "xxxxxxxx",
"crypt": "salsa20",
"mode": "normal",
"dscp": 46,
"sockbuf": 16777217,
"smuxver": 2,
"streambuf": 2097152,
"nocomp": true
}
Установите прокси в моем браузере — firefox,127.0.0.1,порт 8123.
Запустите службу клиента kcptun.
systemctl start kcptun
systemctl status kcptun
● kcptun.service - kcptun
Loaded: loaded (/etc/systemd/system/kcptun.service; disabled; vendor preset:
Active: active (running)
Он тоже в хорошем состоянии, я не могу открыть веб-страницу firefox(8123)--kcptun client(27107)--(27107)kcptun server(8888)--tinyproxy(8888)--target webpage
, проверьте порт.
lsof -i :20000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
server_li 4363 nobody 6u IPv6 23318 0t0 UDP *:20000
Порт в хорошем состоянии. Нет файла журнала как для клиентской, так и для серверной стороны.
На стороне сервера:
cat /tmp/kcptun.log
На выходе ничего нет.
На стороне клиента:
cat /tmp/kcptun.log
На выходе ничего нет.
решение1
1. Установите http и https прокси в Firefox.
2. Установите config.json на стороне VPS-сервера.
vim /etc/kcptun/config.json
{
"listen": ":20000",
"target": "127.0.0.1:8888",
"key": "xxxxxxxx",
"crypt": "salsa20",
"mode": "normal",
"dscp": 46,
"sockbuf": 16777217,
"smuxver": 2,
"streambuf": 2097152,
"nocomp": true
}