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
私はこのように私のvpsにtinyproxyとkcptunを構築しました。
小規模エージェント
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 クライアント
私のローカルコンピュータでは、vpsに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
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)
状態も良好です。 Webページを開くことができません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. Firefoxでhttpおよびhttpsプロキシを設定します。
2. vps サーバー側で config.json を設定します。
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
}