Open YolineWu opened 1 month ago
直接運行v2ray 而不是指定init.d的v2ray
不建議單獨使用v2ray 可以考慮配合luci端passwall或者v2raya一起使用
直接運行v2ray 而不是指定init.d的v2ray
不建議單獨使用v2ray 可以考慮配合luci端passwall或者v2raya一起使用
目前新建了一个新的 init.d 脚本解决了这个问题:
#!/bin/sh /etc/rc.common
USE_PROCD=1
START=99
start_service() {
procd_open_instance
procd_set_param command /usr/bin/v2ray run -config=/etc/v2ray/config.json
procd_set_param stdout 1
procd_set_param stderr 1
procd_set_param respaw
procd_close_instance
}
reload_service() {
stop
start
}
对于安装时自动生成的 init.d 脚本是否是有问题呢?如果有问题,是否应该修复一下?
而v2raya我试过,配置是方便,但配置起来没有直接配置v2ray灵活,所以就放弃了。至于passwall不太了解,是否可以使用v2ray原本的config.json文件?
我目前做的是透明代理,看了些v2ray透明代理的教程,拼成了下面的 nftables 规则:
table ip v2ray {
chain prerouting {
type filter hook prerouting priority 0 ;
ip daddr { 127.0.0.1/32, 224.0.0.0/4, 255.255.255.255/32 } return # 回环地址,保留ip地址,广播地址不代理
meta l4proto tcp ip daddr 192.168.0.0/16 return # 局域网地址TCP不代理
ip daddr 192.168.0.0/16 udp dport != 53 return # 直连局域网,53 端口除外(因为要使用 V2Ray 的 DNS)
mark 0x000000ff return # v2ray 直连出口流量
meta l4proto { tcp, udp } meta mark set 0x00000001 tproxy to 127.0.0.1:12345 accept # 其他TCP和UDP流量转发至v2ray
}
chain output {
type route hook output priority 0 ;
ip daddr { 127.0.0.1/32, 224.0.0.0/4, 255.255.255.255/32 } return # 回环地址,保留ip地址,广播地址直连
meta l4proto tcp ip daddr 192.168.0.0/16 return # 局域网地址TCP直连
ip daddr 192.168.0.0/16 udp dport != 53 return # 局域网直连,53 端口除外(因为要使用 V2Ray 的 DNS)
meta mark 0x000000ff return # 已有 v2ray 处理过的流量
meta l4proto { tcp, udp } meta mark set 0x00000001 accept # 本机被标记为1的流量转发到prerouting
}
}
# 新建 DIVERT 规则,避免已有连接的包二次通过 TPROXY,理论上有一定的性能提升
table ip filter {
chain divert {
type filter hook prerouting priority -150 ;
meta l4proto tcp socket transparent 0x00000001 meta mark set 0x00000001 accept
}
}
用起来貌似没什么问题,但由于对nftables规则不熟悉,也不知道有没有潜在问题,希望有大佬帮忙看一下。另外还有个头疼的问题,access.log打印出来的日志都是ip形式的,没有域名,不容易查看哪些域名走了代理,哪些走直连,希望有大佬给个解决建议。
access.log 日志问题只需要在 inbound 中配置 sniffing 即可
"sniffing": {
"enabled": true,
"destOverride": [
"http",
"tls",
"fakedns"
],
"metadataOnly": false
},
access.log 日志问题只需要在 inbound 中配置 sniffing 即可
"sniffing": { "enabled": true, "destOverride": [ "http", "tls", "fakedns" ], "metadataOnly": false },
不行,还是只有IP
安装的版本,OpenWrt官方源v2ray-core 5.16.0-1:
直接运行命令
v2ray run -config /etc/v2ray/config.json
可以正常运行,在config.json
中配置的日志文件中能看到启动日志:使用安装后自动生成的 init.d
/etc/init.d/v2ray start
脚本运行,终端没输出,在config.json
中配置的日志文件没有日志打印 ,然后再运行/etc/init.d/v2ray status
输出active with no instances
:init.d 脚本:
OpenWrt系统信息:
*v2ray配置信息*:
对 init.d 的脚本不熟悉,自动生成的脚本是否有问题?还是我运行命令有问题?我应该修改或新建新的运行脚本吗?