1) 你正在使用哪个版本的 V2Ray?(如果服务器和客户端使用了不同版本,请注明)
V2Ray 4.27.5
2) 你的使用场景是什么?比如使用 Chrome 通过 Socks/VMess 代理观看 YouTube 视频。
服务端启动v2ray.service
3) 你看到的不正常的现象是什么?(请描述具体现象,比如访问超时,TLS 证书错误等)
v2ray.service启动失败
4) 你期待看到的正确表现是怎样的?
v2ray.service正确启动
5) 请附上你的配置(提交 Issue 前请隐藏服务器端IP地址)。
服务器端配置:
{
"log": {
"access": "/var/log/v2ray/access.log",
"error": "/var/log/v2ray/error.log",
"loglevel": "warning"
},
"inbounds": [{
"port": 26298,
"listen":"127.0.0.1",
"protocol": "vmess",
"settings":
{
"clients":
[
{
"id": "0e32cfae-5b78-4046-9444-1aee563081b8",
"level": 1,
"alterId": 64
}
]
},
"streamSettings":
{
"network": "ws",
"wsSettings": {
"path": "/ray"
}
}
}],
"outbounds": [{
"protocol": "freedom",
"settings": {}
},
{
"protocol": "blackhole",
"settings": {},
"tag": "blocked"
}],
"routing": {
"rules": [
{
"type": "field",
"ip": ["geoip:private"],
"outboundTag": "blocked"
}
]
}
}
6) 请附上出错时软件输出的错误日志。在 Linux 中,日志通常在 /var/log/v2ray/error.log 文件中。
服务器端错误日志:
2020/09/04 08:28:13 [Warning] v2ray.com/core: V2Ray 4.27.5 started
7) 请附上访问日志。在 Linux 中,日志通常在 /var/log/v2ray/access.log 文件中。
8) 其它相关的配置文件(如 Nginx)和相关日志。
9) 如果 V2Ray 无法启动,请附上 --test 输出。
通常的命令为 /usr/bin/v2ray/v2ray --test --config /etc/v2ray/config.json。请按实际情况修改。
V2Ray 4.27.5 (V2Fly, a community-driven edition of V2Ray.) Custom (go1.14.7 linux/amd64)
A unified platform for anti-censorship.
2020/09/05 15:45:44 [Info] v2ray.com/core/common/platform/ctlcmd:
v2ctl> Read config: /etc/v2ray/config.json
Configuration OK.
10) 如果 V2Ray 服务运行不正常,请附上 journal 日志。
通常的命令为 journalctl -u v2ray。
-- Logs begin at Sat 2020-09-05 00:20:33 UTC, end at Sat 2020-09-05 15:42:13 UTC. --
Sep 05 15:42:10 systemd[1]: Started V2Ray Service.
Sep 05 15:42:10 v2ray[28985]: V2Ray 4.27.5 (V2Fly, a community-driven edition of V2Ray.) Custom (go1.14.7 linux/amd64)
Sep 05 15:42:10 v2ray[28985]: A unified platform for anti-censorship.
Sep 05 15:42:11 v2ray[28985]: main: failed to create server > v2ray.com/core/app/log: failed to initialize access logger > open /var/log/v2ray/access.log: permission denied
Sep 05 15:42:11 systemd[1]: v2ray.service: main process exited, code=exited, status=23/n/a
Sep 05 15:42:11 systemd[1]: Unit v2ray.service entered failed state.
Sep 05 15:42:11 systemd[1]: v2ray.service failed.
Sep 05 15:42:11 systemd[1]: v2ray.service holdoff time over, scheduling restart.
Sep 05 15:42:11 systemd[1]: Stopped V2Ray Service.
Sep 05 15:42:11 systemd[1]: Started V2Ray Service.
Sep 05 15:42:11 v2ray[28992]: V2Ray 4.27.5 (V2Fly, a community-driven edition of V2Ray.) Custom (go1.14.7 linux/amd64)
Sep 05 15:42:11 v2ray[28992]: A unified platform for anti-censorship.
Sep 05 15:42:11 v2ray[28992]: main: failed to create server > v2ray.com/core/app/log: failed to initialize access logger > open /var/log/v2ray/access.log: permission denied
Sep 05 15:42:11 systemd[1]: v2ray.service: main process exited, code=exited, status=23/n/a
Sep 05 15:42:11 systemd[1]: Unit v2ray.service entered failed state.
Sep 05 15:42:11 systemd[1]: v2ray.service failed.
Sep 05 15:42:11 systemd[1]: v2ray.service holdoff time over, scheduling restart.
Sep 05 15:42:11 systemd[1]: Stopped V2Ray Service.
Sep 05 15:42:11 systemd[1]: Started V2Ray Service.
Sep 05 15:42:11 v2ray[28999]: V2Ray 4.27.5 (V2Fly, a community-driven edition of V2Ray.) Custom (go1.14.7 linux/amd64)
Sep 05 15:42:11 v2ray[28999]: A unified platform for anti-censorship.
Sep 05 15:42:12 v2ray[28999]: main: failed to create server > v2ray.com/core/app/log: failed to initialize access logger > open /var/log/v2ray/access.log: permission denied
Sep 05 15:42:12 systemd[1]: v2ray.service: main process exited, code=exited, status=23/n/a
Sep 05 15:42:12 systemd[1]: Unit v2ray.service entered failed state.
Sep 05 15:42:12 systemd[1]: v2ray.service failed.
Sep 05 15:42:12 systemd[1]: v2ray.service holdoff time over, scheduling restart.
Sep 05 15:42:12 systemd[1]: Stopped V2Ray Service.
Sep 05 15:42:12 systemd[1]: Started V2Ray Service.
Sep 05 15:42:12 v2ray[29006]: V2Ray 4.27.5 (V2Fly, a community-driven edition of V2Ray.) Custom (go1.14.7 linux/amd64)
Sep 05 15:42:12 v2ray[29006]: A unified platform for anti-censorship.
Sep 05 15:42:12 v2ray[29006]: main: failed to create server > v2ray.com/core/app/log: failed to initialize access logger > open /var/log/v2ray/access.log: permission denied
Sep 05 15:42:12 systemd[1]: v2ray.service: main process exited, code=exited, status=23/n/a
Sep 05 15:42:12 systemd[1]: Unit v2ray.service entered failed state.
Sep 05 15:42:12 systemd[1]: v2ray.service failed.
Sep 05 15:42:13 systemd[1]: v2ray.service holdoff time over, scheduling restart.
Sep 05 15:42:13 systemd[1]: Stopped V2Ray Service.
Sep 05 15:42:13 systemd[1]: Started V2Ray Service.
Sep 05 15:42:13 v2ray[29013]: V2Ray 4.27.5 (V2Fly, a community-driven edition of V2Ray.) Custom (go1.14.7 linux/amd64)
Sep 05 15:42:13 v2ray[29013]: A unified platform for anti-censorship.
Sep 05 15:42:13 systemd[1]: v2ray.service: main process exited, code=exited, status=23/n/a
Sep 05 15:42:13 systemd[1]: Unit v2ray.service entered failed state.
Sep 05 15:42:13 systemd[1]: v2ray.service failed.
Sep 05 15:42:13 systemd[1]: v2ray.service holdoff time over, scheduling restart.
Sep 05 15:42:13 systemd[1]: Stopped V2Ray Service.
Sep 05 15:42:13 systemd[1]: start request repeated too quickly for v2ray.service
Sep 05 15:42:13 systemd[1]: Failed to start V2Ray Service.
Sep 05 15:42:13 systemd[1]: Unit v2ray.service entered failed state.
Sep 05 15:42:13 systemd[1]: v2ray.service failed.
chown -R nobody:nogroup /var/log/v2ray
chown -R nobody:nogroup /var/log/v2ray
chown: invalid group: ‘nobody:nogroup’
我把/etc/systemd/system/v2ray.service文件中的User=noboby改为User=root,服务启动正常了。
新版本就是nobody
新版本就是nobody
必须是nobody吗?不能用root?可是我用root服务启动正常。
systemd 服务有意不以 root 执行,是为了提高安全性。所以改回 root 并不是好的做法。
不过用 nobody 一样不是好的做法(见 https://en.wikipedia.org/wiki/Nobody_(username) )。systemd 的正规做法是使用 DynamicUser,然后设置 LogsDirectory 等参数。
systemd 服务有意不以 root 执行,是为了提高安全性。所以改回 root 并不是好的做法。
不过用 nobody 一样不是好的做法(见 https://en.wikipedia.org/wiki/Nobody_(username) )。systemd 的正规做法是使用 DynamicUser,然后设置 LogsDirectory 等参数。
以root运行,但是v2只做后端是不是会好一些。
@XuuKoo 我再说清楚一点。我上一条说的systemd 服务不以 root 执行指任何 systemd 服务如非必要都不建议以 root 用户执行,并非专指 v2ray 的 systemd 服务。楼主发那个,看日志就知道是 v2ray 对 /var/log/v2ray/access.log 没有写权限,那么一个chown -R nobody /var/log/v2ray就能搞定,为什么非要坚持使用 root 权限运行 v2ray 服务这种糟糕的想法呢?
@XuuKoo 我再说清楚一点。我上一条说的
systemd 服务不以 root 执行指任何 systemd 服务如非必要都不建议以 root 用户执行,并非专指 v2ray 的 systemd 服务。楼主发那个,看日志就知道是 v2ray 对 /var/log/v2ray/access.log 没有写权限,那么一个chown -R nobody /var/log/v2ray就能搞定,为什么非要坚持使用 root 权限运行 v2ray 服务这种糟糕的想法呢?
还请教个问题。haproxy作为前端,与后端的v2用domain socket通信,但是haproxy用chroot规定sock文件只能放在指定目录,而这个目录只有root和haproxy这俩账户有权限,我之前尝试大时候发现这时候v2只能用root运行,要不然没有全写写这个sock文件,但是我昨天突然想到是不是v2以haproxy这个账户运行就可以了。
@XuuKoo 我再说清楚一点。我上一条说的
systemd 服务不以 root 执行指任何 systemd 服务如非必要都不建议以 root 用户执行,并非专指 v2ray 的 systemd 服务。楼主发那个,看日志就知道是 v2ray 对 /var/log/v2ray/access.log 没有写权限,那么一个chown -R nobody /var/log/v2ray就能搞定,为什么非要坚持使用 root 权限运行 v2ray 服务这种糟糕的想法呢?
ubuntu 1804 执行 了 chown -R nobody /var/log/v2ray
root权限下
显示 failed to initialize access logger > open /root/log/v2ray/access.log: permission denied
root@xxx:~/log/v2ray# chown -R nobody .
root@xxx:~/log/v2ray# ll
total 12
drwxrwxrwx 2 nobody root 4096 Oct 28 18:11 ./
drwxr-xr-x 3 root root 4096 Oct 28 18:09 ../
-rw-rw-rw- 1 nobody root 0 Oct 28 18:13 access.log
-rw-rw-rw- 1 nobody root 67 Oct 28 18:13 error.log
详情:
root@xxxx:~/log/v2ray# service v2ray status
● v2ray.service - V2Ray Service
Loaded: loaded (/etc/systemd/system/v2ray.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/v2ray.service.d
└─10-donot_touch_single_conf.conf
Active: failed (Result: exit-code) since Wed 2020-10-28 18:19:11 CST; 2s ago
Docs: https://www.v2fly.org/
Process: 23227 ExecStart=/usr/local/bin/v2ray -config /usr/local/etc/v2ray/config.json (code=exited, status=23)
Main PID: 23227 (code=exited, status=23)
Oct 28 18:19:10 iZj6c6y70qwfbbybvdmwobZ systemd[1]: Started V2Ray Service.
Oct 28 18:19:10 iZj6c6y70qwfbbybvdmwobZ v2ray[23227]: V2Ray 4.31.3 (V2Fly, a community-driven edition of V2Ray.) Custom (go1.15.3 linux/amd64)
Oct 28 18:19:10 iZj6c6y70qwfbbybvdmwobZ v2ray[23227]: A unified platform for anti-censorship.
Oct 28 18:19:11 iZj6c6y70qwfbbybvdmwobZ v2ray[23227]: main: failed to create server > v2ray.com/core/app/log: failed to initialize access logger > open /root/log/v2ray/access.log: permission denied
Oct 28 18:19:11 iZj6c6y70qwfbbybvdmwobZ systemd[1]: v2ray.service: Main process exited, code=exited, status=23/n/a
Oct 28 18:19:11 iZj6c6y70qwfbbybvdmwobZ systemd[1]: v2ray.service: Failed with result 'exit-code'.
@XuuKoo 我再说清楚一点。我上一条说的
systemd 服务不以 root 执行指任何 systemd 服务如非必要都不建议以 root 用户执行,并非专指 v2ray 的 systemd 服务。楼主发那个,看日志就知道是 v2ray 对 /var/log/v2ray/access.log 没有写权限,那么一个chown -R nobody /var/log/v2ray就能搞定,为什么非要坚持使用 root 权限运行 v2ray 服务这种糟糕的想法呢?
老兄厉害。
This issue is stale because it has been open 120 days with no activity. Remove stale label or comment or this will be closed in 5 days
服务端启动 V2Ray 4.34.0 (V2Fly, a community-driven edition of V2Ray.) Custom (go1.15.6 linux/amd64)
v2ray+apache+tls+ws
报错:
main: failed to create server > v2ray.com/core/app/log: failed to initialize access logger > open /var/log/v2ray/access.log: permission denied
试过 https://github.com/v2ray/v2ray-core/issues/2720 的所有方法、配置文件夹权限均无法解决。伪装网页显示正常。
{
"log":{
"access": "/var/www/v2ray/access.log",
"error": "/var/www/v2ray/error.log",
# "loglevel":"warning"
},
"routing":{
"domainStrategy":"AsIs",
"rules":[
{
"type":"field",
"ip":[
"geoip:private"
],
"outboundTag":"block"
}
]
},
"inbounds":[
{
"listen":"127.0.0.1",
"port":10000,
"protocol":"vmess",
"settings":{
"clients":[
{
"id":"xxx",
"alterId":64
}
]
},
"streamSettings":{
"network":"ws",
"wsSettings":{
"path":"/ray"
}
}
}
}
}
],
"outbounds":[
{
"protocol":"freedom",
"tag":"direct"
},
{
"protocol":"blackhole",
"tag":"block"
}
]
}
Most helpful comment
chown -R nobody:nogroup /var/log/v2ray