VPS 上の OS:
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
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 クライアント側
私のローカル PC では、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
}