v2ray on v2fly

v2rayも最近は妨害を受けているような気がするので、バージョンアップ。開発はv2flyコミュニティに移っている。
https://www.v2fly.org/en_US/
Debianのtestingなら、golang-v2ray-coreというパッケージがあるようだが、ubuntuでは手動インストールするしかない。いつの間にか、Arch Linuxにはパッケージができている。

以前のバージョンからの移行ガイドに従って、インストール。https://github.com/v2fly/fhs-install-v2ray/wiki/Migrate-from-the-old-script-to-this
install-release.sh 内の変更は不要。
/etc/v2ray -> /usr/local/etc/v2rayとなったので、config.jsonのディレクトリの記述を修正。
root:root -> nobody:nogroupになったので、/usr/local/etc/v2rayの所有者変更。
/etc/logroate.d/にv2rayの処理を追加しておく。
エラーは、journalctl -u v2ray -b | tail -30で確認。

無事バージョンはv4.32.0になった。

Arch Linuxには標準パッケージがあるので、WS+TLSで設定。
# pacman -S v2ray
# vi /etc/v2ray/config.json
# mkdir /var/log/v2ray
# vi /etc/logrotate.d/v2ray
簡単なはずなのにユーザがnobodyになっているために、permission deniedとなる。
# id nobody
/etc/v2rayと/var/log/v2rayのオーナーチェンジ。
let’s encryptのSSL証明書を/etc/v2rayにコピーしてオーナーチェンジ。これは、/etc/letsencrypt/renewal-hooks/deployにシェルスクリプトをおく。
fullchain.pemもprivkey.pemも644でないとpermission denied。
/var/log/v2rayも、ログファイルを新規に作成するときは、777でないと、permission denied。ログファイルの追記であれば、755でOK。
なんとか、4.32.1が動いた。

fast.comの計測で、いまの設定だと、Wifi下のAndroidで、Shadowsocksとv2rayが35Mbps程度、WireGuardが27Mbp程度、StrongSwanが17Mbps程度。

acme.shを使っている場合は、証明書のコピー場所を変更しておく。
# ~/.acme.sh/acme.sh –installcert -d domain.work –fullchainpath /use/local/etc/v2ray/v2ray.crt –keypath /use/local/etc/v2ray/v2ray.key –ecc

最近使っていなかったら、いつの間にか接続できなくなっている。
tail /var/log/v2ray/access.logを確認すると、下記のエラー。
rejected common/drain: common/drain: unable to drain connection > websocket: close 1000 (normal) > proxy/vmess/encoding: invalid user: VMessAEAD is enforced and a non VMessAEAD connection is received. You can still disable this security feature with environment variable v2ray.vmess.aead.forced = false . You will not be able to enable legacy header workaround in the future.
サービスに環境変数を追記して、再実行。
vi /usr/lib/systemd/system/v2ray.service
Environment=V2RAY_VMESS_AEAD_FORCED=false
systemctl daemon-reload
systemctl restart v2ray

コメント