Open WordsWorthLess opened 2 years ago
谢谢。非常需要。修改后的插件在哪里呢?
最近發現有部分網友有對OpenWrt 22.03的適配的需求,於是試著將插件修改一下,目前能處理nft和iptables的防火墻規則了,因爲一來自身水平有限,邊學邊改,而來也沒有時間,有空才拾起來修修補補,所以有可能會遇到各種奇奇怪怪的bug,請見諒(目前我在19.07和22.03就碰到過未指定fakedns的域名用了fakedns來解析的bug).
具體的改動如下:
- 兼容iptables 和 nft 需要注意的是,目前OpenWrt 22.03使用的是dnsmasq 2.86,尚不支持nftable的set, 如果需要使用 代理gfwlist 模式的網友需要自行編譯dnsmasq 2.87, (這裏有x86_64的dnsmasq, 其它平臺的網友請自行編譯) , 插件檢測到dnsmasq 版本過低的話,會改用默認模式,即 全局代理 ,這樣的話就需要自己配置 路由規則了
- 修改透明代理頁面更新gfwlist和chnroute的更新邏輯,改用脚本下載 原來的下載邏輯是在網頁端調用Luci.Request,把列表文件在下載到緩存,解析成功再更新路由器上的文件,但是這種方法在我這裏成功率出奇的低,相關的issue也不少,於是我修改爲調用shell脚本下載並解析文件,下載成功自動刷新頁面,下載失敗會給出失敗原因,因爲脚本用到OpenSSL的base64解密,和curl下載工具,所以依賴包多了一個curl. 解析gfwlist部分我抄的 cokebar大佬的gfwlist2dnsmasq脚本,如有不妥請見諒
- 取消劫持局域網的DNS流量 因爲插件本來是默認挾持局域網内的全部DNS流量,導致DNS查詢無法流入路由器的DNSMASQ,這樣DNSMASQ就無法把對應的解析結果添加到ipset/nftset,代理gfwlist模式 會失效。所以我將防火墻規則修改爲指向網關的DNS查詢放行,不流入V2RAY, 僅挾持網關的DNS流量, 這樣DNS查詢就能順利發往DNSMASQ. DNSMASQ發往上游DNS服務器的查詢會通過V2RAY發出。要注意的是,如果客戶端的DNS服務器不是設置成網關ip的話,就無法通過V2RAY發出了。
- 添加Trojan / VLESS協議,xTLS 以及 gRPC底層傳輸方式 fakedns等 因爲我一直使用XRAY, 所以配置文件是參考 Project X的配置指南 來生成的 ,因爲V2RAY 從v5開始,啓動的命令參數不同了,所以儘管V2RAY 5.0向下兼容舊版配置文件,但是這個插件還是不能通過簡單替換可執行文件來使用新版本的V2RAY, 因爲適配新版的工作量也有點大,所以近期也沒有適配的打算...
- 微調LuCI界面 禁用了匿名配置,添加配置前都要輸入配置的名稱 (未添加配置名稱,有可能會重現這個issue裏面提及到的界面報錯BUG) 出站配置界面中的 前置代理 路配置 界面的 入站節點 和 出站節點 從原來的手動輸入改爲從列表裏選擇 ,節點多的話會比較方便
新固件在哪,我也需要,感谢!
最近發現有部分網友有對OpenWrt 22.03的適配的需求,於是試著將插件修改一下,目前能處理nft和iptables的防火墻規則了,因爲一來自身水平有限,邊學邊改,而來也沒有時間,有空才拾起來修修補補,所以有可能會遇到各種奇奇怪怪的bug,請見諒(目前我在19.07和22.03就碰到過未指定fakedns的域名用了fakedns來解析的bug).
具體的改動如下:
- 兼容iptables 和 nft 需要注意的是,目前OpenWrt 22.03使用的是dnsmasq 2.86,尚不支持nftable的set, 如果需要使用 代理gfwlist 模式的網友需要自行編譯dnsmasq 2.87, (這裏有x86_64的dnsmasq, 其它平臺的網友請自行編譯) , 插件檢測到dnsmasq 版本過低的話,會改用默認模式,即 全局代理 ,這樣的話就需要自己配置 路由規則了
- 修改透明代理頁面更新gfwlist和chnroute的更新邏輯,改用脚本下載 原來的下載邏輯是在網頁端調用Luci.Request,把列表文好消息,,, op 主线已经更新到 dnsmasq 2.87 版本了,同时新增了 过滤 ipv6 ipv4 功能,但是估计插件作者已经不打算更新了,您这里件在下載到緩存,解析成功再更新路由器上的文件,但是這種方法在我這裏成功率出奇的低,相關的issue也不少,於是我修改爲調用shell脚本下載並解析文件,下載成功自動刷新頁面,下載失敗會給出失敗原因,因爲脚本用到OpenSSL的base64解密,和curl下載工具,所以依賴包多了一個curl. 解析gfwlist部分我抄的 cokebar大佬的gfwlist2dnsmasq脚本,如有不妥請見諒
- 取消劫持局域網的DNS流量 因爲插件本來是默認挾持局域網内的全部DNS流量,導致DNS查詢無法流入路由器的DNSMASQ,這樣DNSMASQ就無法把對應的解析結果添加到ipset/nftset,代理gfwlist模式 會失效。所以我將防火墻規則修改爲指向網關的DNS查詢放行,不流入V2RAY, 僅挾持網關的DNS流量, 這樣DNS查詢就能順利發往DNSMASQ. DNSMASQ發往上游DNS服務器的查詢會通過V2RAY發出。要注意的是,如果客戶端的DNS服務器不是設置成網關ip的話,就無法通過V2RAY發出了。
- 添加Trojan / VLESS協議,xTLS 以及 gRPC底層傳輸方式 fakedns等 因爲我一直使用XRAY, 所以配置文件是參考 Project X的配置指南 來生成的 ,因爲V2RAY 從v5開始,啓動的命令參數不同了,所以儘管V2RAY 5.0向下兼容舊版配置文件,但是這個插件還是不能通過簡單替換可執行文件來使用新版本的V2RAY, 因爲適配新版的工作量也有點大,所以近期也沒有適配的打算...
- 微調LuCI界面 禁用了匿名配置,添加配置前都要輸入配置的名稱 (未添加配置名稱,有可能會重現這個issue裏面提及到的界面報錯BUG) 出站配置界面中的 前置代理 路配置 界面的 入站節點 和 出站節點 從原來的手動輸入改爲從列表裏選擇 ,節點多的話會比較方便
好消息,,, op 主线已经更新到 dnsmasq 2.87 版本了,同时新增了 过滤 ipv6 ipv4 功能,,,我不知道开源软件的江湖规矩,但是好像作者已经停止更新软件了,我看到你的 PR 作者没有受理,你是不是可以 fork 出来更新呢
最近發現有部分網友有對OpenWrt 22.03的適配的需求,於是試著將插件修改一下,目前能處理nft和iptables的防火墻規則了,因爲一來自身水平有限,邊學邊改,而來也沒有時間,有空才拾起來修修補補,所以有可能會遇到各種奇奇怪怪的bug,請見諒(目前我在19.07和22.03就碰到過未指定fakedns的域名用了fakedns來解析的bug). 具體的改動如下:
- 兼容iptables 和 nft 需要注意的是,目前OpenWrt 22.03使用的是dnsmasq 2.86,尚不支持nftable的set, 如果需要使用 代理gfwlist 模式的網友需要自行編譯dnsmasq 2.87, (這裏有x86_64的dnsmasq, 其它平臺的網友請自行編譯) , 插件檢測到dnsmasq 版本過低的話,會改用默認模式,即 全局代理 ,這樣的話就需要自己配置 路由規則了
- 修改透明代理頁面更新gfwlist和chnroute的更新邏輯,改用脚本下載 原來的下載邏輯是在網頁端調用Luci.Request,把列表文好消息,,, op 主线已经更新到 dnsmasq 2.87 版本了,同时新增了 过滤 ipv6 ipv4 功能,但是估计插件作者已经不打算更新了,您这里件在下載到緩存,解析成功再更新路由器上的文件,但是這種方法在我這裏成功率出奇的低,相關的issue也不少,於是我修改爲調用shell脚本下載並解析文件,下載成功自動刷新頁面,下載失敗會給出失敗原因,因爲脚本用到OpenSSL的base64解密,和curl下載工具,所以依賴包多了一個curl. 解析gfwlist部分我抄的 cokebar大佬的gfwlist2dnsmasq脚本,如有不妥請見諒
- 取消劫持局域網的DNS流量 因爲插件本來是默認挾持局域網内的全部DNS流量,導致DNS查詢無法流入路由器的DNSMASQ,這樣DNSMASQ就無法把對應的解析結果添加到ipset/nftset,代理gfwlist模式 會失效。所以我將防火墻規則修改爲指向網關的DNS查詢放行,不流入V2RAY, 僅挾持網關的DNS流量, 這樣DNS查詢就能順利發往DNSMASQ. DNSMASQ發往上游DNS服務器的查詢會通過V2RAY發出。要注意的是,如果客戶端的DNS服務器不是設置成網關ip的話,就無法通過V2RAY發出了。
- 添加Trojan / VLESS協議,xTLS 以及 gRPC底層傳輸方式 fakedns等 因爲我一直使用XRAY, 所以配置文件是參考 Project X的配置指南 來生成的 ,因爲V2RAY 從v5開始,啓動的命令參數不同了,所以儘管V2RAY 5.0向下兼容舊版配置文件,但是這個插件還是不能通過簡單替換可執行文件來使用新版本的V2RAY, 因爲適配新版的工作量也有點大,所以近期也沒有適配的打算...
- 微調LuCI界面 禁用了匿名配置,添加配置前都要輸入配置的名稱 (未添加配置名稱,有可能會重現這個issue裏面提及到的界面報錯BUG) 出站配置界面中的 前置代理 路配置 界面的 入站節點 和 出站節點 從原來的手動輸入改爲從列表裏選擇 ,節點多的話會比較方便
好消息,,, op 主线已经更新到 dnsmasq 2.87 版本了,同时新增了 过滤 ipv6 ipv4 功能,,,我不知道开源软件的江湖规矩,但是好像作者已经停止更新软件了,我看到你的 PR 作者没有受理,你是不是可以 fork 出来更新呢
试下v2rayA,刚才在最新的22.03.2上面,安装成功。 https://github.com/v2rayA/v2raya-openwrt/blob/master/README.zh-cn.md
nftables 实现可参考我的项目: luci-app-xray/firewall_include.ut at 1.27.0-rabit · ttimasdf/luci-app-xray
当然,也可直接安装这个作为替代,毕竟 xray 完全兼容 v2ray 😉
@WordsWorthLess 你好,请问一下,你更新到nftable可以正常使用了吗?可否把你编译的ipk共享一下?谢谢!
已经在22.03.2使用和很长一段时间了,具体相关的配置请自行研究,我使用正常,只是安装相关教程添加了VLESS协议的支持。具体的ipk文件都是官方版本的,包括v2ray-core-4.44.0.1和luci-app-v2ray-2.0.0-1。使用一切正常,openwrt是22.03.2的官方版本,并非自行编译修改的版本。在此给各位提供一点小小的帮助。
@WordsWorthLess 你好,请问一下,你更新到nftable可以正常使用了吗?可否把你编译的ipk共享一下?谢谢! 抱歉,已经更新了地址
@WordsWorthLess 你好,请问一下,你更新到nftable可以正常使用了吗?可否把你编译的ipk共享一下?谢谢! 抱歉,已经更新了地址
万分感谢!!!!这就去下载测试去,谢谢大佬!!!
@WordsWorthLess 你好,请问一下,你更新到nftable可以正常使用了吗?可否把你编译的ipk共享一下?谢谢! 抱歉,已经更新了地址
今天在官方原版openwrt 22.03.3 x86上面测试了一下你新的luci,没有通。 1,openwrt 22.03.3 x86,dnsmasq 2.87,v2ray 5.3 2,web界面无法识别v2的版本号,且无法运行。 3,手动在用ssh命令运行/usr/bin/v2ray run -c ~/config.json可以跑起来,但是不通。
@WordsWorthLess 你好,请问一下,你更新到nftable可以正常使用了吗?可否把你编译的ipk共享一下?谢谢! 抱歉,已经更新了地址
今天在官方原版openwrt 22.03.3 x86上面测试了一下你新的luci,没有通。 1,openwrt 22.03.3 x86,dnsmasq 2.87,v2ray 5.3 2,web界面无法识别v2的版本号,且无法运行。 3,手动在用ssh命令运行/usr/bin/v2ray run -c ~/config.json可以跑起来,但是不通。
我试了也不行;然后意识到只能用xray(且需要最新版的)。我不用xray,只好放弃了。
@WordsWorthLess 你好,请问一下,你更新到nftable可以正常使用了吗?可否把你编译的ipk共享一下?谢谢! 抱歉,已经更新了地址
今天在官方原版openwrt 22.03.3 x86上面测试了一下你新的luci,没有通。 1,openwrt 22.03.3 x86,dnsmasq 2.87,v2ray 5.3 2,web界面无法识别v2的版本号,且无法运行。 3,手动在用ssh命令运行/usr/bin/v2ray run -c ~/config.json可以跑起来,但是不通。
我试了也不行;然后意识到只能用xray(且需要最新版的)。我不用xray,只好放弃了。
是的,默认的是xray,但是我改成v2ray,一样也不行。我也不用xray,也只好放弃了。
检查了一下, 发现问题应该出在/etc/init.d/v2ray 这个脚本第 922行
echo "$reserved_v4" | sed '$d' | sed 's/240\.0\.0\.0\/4/240\.0\.0\.0\-255\.255\.255\.255/'
这行代码是为了将定义好的 ipv4 保留ip段添加到直连的nftables的元素组v2ray_dst_direct_v4里面
但是没有在元素之间添加一个,
分隔,导致生成的nftable配置文件格式出错
应该修改为
echo "$reserved_v4" | sed '$d' | sed 's/240\.0\.0\.0\/4/240\.0\.0\.0\-255\.255\.255\.255/' | sed '$!s/$/,/'
貌似Xray 的配置文件格式跟V2ray 4.X 的是兼容的,V2Ray v5好像又能兼容v4的配置文件,改一下脚本应该能兼容v2ray v5
我把运行的问题截图上来。
下图,显示v2ray运行不起来
dns情况
透明代理
ssh里运行没有报错
我把运行的问题截图上来。
ssh里运行没有报错 ![4](https://user-images.githubusercontent.com/3339858/229262008-4b72cdfa-9322-4dec-9581-
仅选择了gfwlist模式是不够的 ,gfwlist模式工作的具体过程是:
要注意的是:
转发UDP
,要么勾选转发DNS
我的理解不太一样,DNS劫持还是要做的,不然路由器会把解析请求直接发给上游DNS服务器(比如运营商的),劫持还是dnsmasq来完成的,,,只要在LUCI 的DHCP/DNS 的DNS 转发里改成 localhost 比如127.0.0.1 ipv6 是 ::1,然后在 V2RAY 里的--透明代理--代理列表DNS--中改成8.8.8.8#53 或者其他地址,最后在--额外的代理列表--中加入这个地址就能实现 gfwlist 的全链路代理。流程是客户机将域名解析请求发给路由器---路由器将请求发给自己(dnsmasq)---当域名命中gfwlist,将请求发给8.8.8.8,并建立规则,将解析后的IP加入ipset;如果没有命中,直接发给上游路由器---最后根据ipset 地址集代理IP。。。所以如果gfwlist 模式的话,根本用不到 v2ray里的dns模块(我是直接去掉勾选的,主要是它并不能过滤v4,v6流量)。UDP的流量转发其实在gfwlist 模式下是用不到的。 不过我后面用了 smartdns 过滤墙后网址 ipv6 的地址,没办法,ipv6 必须要用,但是DNS 解析里 ipv6 的优先级现在是最高的,机场只有 ipv4 的话,就百分百撞墙。
edit:如楼下所说,不需要设置DNS转发,默认接进来就是127.0.0.1的53端口,且设置后会被dnsmasq ignore 掉
On Sun, Apr 2, 2023, 22:29 WordsWorthLess @.***> wrote:
我把运行的问题截图上来。
ssh里运行没有报错 ![4]( https://user-images.githubusercontent.com/3339858/229262008-4b72cdfa-9322-4dec-9581-
仅选择了gfwlist模式是不够的 ,gfwlist模式工作的具体过程是:
- 下载gfwlist.txt
- base64解密gfwlist.txt 并获取域名
- 用解密得到的域名生成dnsmasq配置文件,并保存到/tmp/dnsmasq.d/v2ray
- 重启dnsmasq,(dnsmasq启动过程会自动读取/tmp/dnsmasq.d/目录下的所有配置文件)
- 路由器下的客户端设置DNS服务器为路由器,DNS请求会发往dnsmasq
- dnsmasq向上游DNS服务器发出DNS请求,获取解析到的域名ip(V2RAY会挟持dnsmasq发出的DNS请求,防止DNS污染)
- dnsmasq会根据配置文件,如果请求的域名命中了/tmp/dnsmasq.d/v2ray的域名,会根据配置,将解析到的ip地址添加到 对应的IPSET或者nftables的元素组 v2ray_dst_proxy_v4(需要v2ray代理的IP集)
- iptables/ nft会将v2ray_dst_proxy_v4里面的IP的流量转发到V2RAY,实现代理gfwlist模式
要注意的是:
- 要实现gfwlist模式,就要代理DNS请求,局域网内的DNS请求发往路由器ip, udp 53端口的流量 所以,要么勾选转发UDP,要么勾选转发DNS
- 因为挟持局域网所有DNS请求会导致所有DNS请求跳过dnsmasq,全部发往V2RAY处理,gfwlist模式会失效,所以 我把插件修改为仅挟持路由器本机的DNS请求,其它客户端(手机,电脑等)需要手工或者通过DHCP配置DNS服务器 为路由器IP地址 (因为对于dnsmasq来说,根本就没人让他解析域名,它一直就没执行过任何工作,无法根据域名将ip添加到v2ray_dst_proxy_v4 代理IP集合)
- 正如上面第6步所说的,仅仅是把DNS请求发送到V2RAY而已,具体DNS请求在V2RAY内部是如何处理的,还得根据V2RAY 内置的路由决定(涉及到DNS模块的配置,以及路由模块的配置)
- 也正如上面第8步所说,gfwlist模式仅仅是把指定ip的流量转发到V2RAY,至于V2RAY内部如何处理,也得根据V2RAY路由模块 来决定
— Reply to this email directly, view it on GitHub https://github.com/kuoruan/luci-app-v2ray/issues/461#issuecomment-1493352616, or unsubscribe https://github.com/notifications/unsubscribe-auth/APWTSQMUYNXKSKMIEHNVEKLW7GEK3ANCNFSM6AAAAAARNZ2WXY . You are receiving this because you commented.Message ID: @.***>
我的理解不太一样,DNS劫持还是要做的,不然路由器会把解析请求直接发给上游DNS服务器(比如运营商的),劫持还是dnsmasq来完成的,,,只要在LUCI 的DHCP/DNS 的DNS 转发里改成 localhost 比如127.0.0.1 ipv6 是 ::1,然后在 V2RAY 里的--透明代理--代理列表DNS--中改成8.8.8.8#53 或者其他地址,最后在--额外的代理列表--中加入这个地址就能实现 gfwlist 的全链路代理。流程是客户机将域名解析请求发给路由器---路由器将请求发给自己(dnsmasq)---当域名命中gfwlist,将请求发给8.8.8.8,并建立规则,将解析后的IP加入ipset;如果没有命中,直接发给上游路由器---最后根据ipset 地址集代理IP。。。所以如果gfwlist 模式的话,根本用不到 v2ray里的dns模块(我是直接去掉勾选的,主要是它并不能过滤v4,v6流量)。UDP的流量转发其实在gfwlist 模式下是用不到的。 不过我后面用了 smartdns 过滤墙后网址 ipv6 的地址,没办法,ipv6 必须要用,但是DNS 解析里 ipv6 的优先级现在是最高的,机场只有 ipv4 的话,就百分百撞墙。 …
我试验过了,如果挟持局域网所有DNS的话,dnsmasq是收不到局域网内的任何DNS请求的,只挟持路由器本机的话就没有问题了,如果dnsmasq设置的上游dns服务器可以保证不会污染解析结果的话,譬如8.8.8.8,确实无需V2ray的dns模块,只需要代理8.8.8.8这个ip,但是这又会带来另外一个问题,8.8.8.8解析出来的ip,可能连接速度没有运营商自己的DNS或者114解析出来的快,这时候如果使用V2ray的DNS模块就可以为国内/国外的域名指定不同的DNS服务器,理论上可以提供更好的解析结果
@WordsWorthLess 我目前用的旧版的luci,一切良好,没有设置dns转发。在测试时,win10的网关和dns均填写的是openwrt的ip,也就是装了v2ray的openwrt做网关,也做dns服务器。 dns服务器用dnsmasq来承担,同时做分流。在dnsmasq里设置gfwlist列表,列表里的域名都由127.0.0.1#53来解析,也就是openwrt里的dnsmasq,当然解析的过程也是走隧道出去,保证dns的清洁。其它不在此黑名单里的,由其它国内的dns来解析。
我在debian11里安装过v2ray v5.3,用dnsmasq 2.87配合nft,可以调通ipv4的流量,ipv6就不行了。
debian 11里的nft
flush table inet gfwtable
table inet gfwtable{
set gfwlist {
type ipv4_addr
size 65536
}
chain prerouting {
type nat hook prerouting priority 0; policy accept;
ip daddr @gfwlist meta l4proto {tcp,udp} redirect to :2000
}
chain output {
type nat hook output priority 0; policy accept;
ip daddr @gfwlist meta l4proto {tcp,udp} redirect to :2000
}
}
dnsmasq 的配置类似于这样( dnsmasq 版本必须手工更新到 2.87 或以上): server=/somedomain.com/127.0.0.1#53 nftset=/somedomain.com/4#inet#gfwlisttable#gfwlist
我的理解不太一样,DNS劫持还是要做的,不然路由器会把解析请求直接发给上游DNS服务器(比如运营商的),劫持还是dnsmasq来完成的,,,只要在LUCI 的DHCP/DNS 的DNS 转发里改成 localhost 比如127.0.0.1 ipv6 是 ::1,然后在 V2RAY 里的--透明代理--代理列表DNS--中改成8.8.8.8#53 或者其他地址,最后在--额外的代理列表--中加入这个地址就能实现 gfwlist 的全链路代理。流程是客户机将域名解析请求发给路由器---路由器将请求发给自己(dnsmasq)---当域名命中gfwlist,将请求发给8.8.8.8,并建立规则,将解析后的IP加入ipset;如果没有命中,直接发给上游路由器---最后根据ipset 地址集代理IP。。。所以如果gfwlist 模式的话,根本用不到 v2ray里的dns模块(我是直接去掉勾选的,主要是它并不能过滤v4,v6流量)。UDP的流量转发其实在gfwlist 模式下是用不到的。 不过我后面用了 smartdns 过滤墙后网址 ipv6 的地址,没办法,ipv6 必须要用,但是DNS 解析里 ipv6 的优先级现在是最高的,机场只有 ipv4 的话,就百分百撞墙。 …
我试验过了,如果挟持局域网所有DNS的话,dnsmasq是收不到局域网内的任何DNS请求的,只挟持路由器本机的话就没有问题了,如果dnsmasq设置的上游dns服务器可以保证不会污染解析结果的话,譬如8.8.8.8,确实无需V2ray的dns模块,只需要代理8.8.8.8这个ip,但是这又会带来另外一个问题,8.8.8.8解析出来的ip,可能连接速度没有运营商自己的DNS或者114解析出来的快,这时候如果使用V2ray的DNS模块就可以为国内/国外的域名指定不同的DNS服务器,理论上可以提供更好的解析结果
我所说的方案,其实已经包含分流了,只有gfwlist(还有自己设置的域名),才会走8.8.8.8,然后从代理出去,其他正常域名是用openwrt自动从上游获取的(我的是运营商)
@WordsWorthLess 我目前用的旧版的luci,一切良好,没有设置dns转发。在测试时,win10的网关和dns均填写的是openwrt的ip,也就是装了v2ray的openwrt做网关,也做dns服务器。 dns服务器用dnsmasq来承担,同时做分流。在dnsmasq里设置gfwlist列表,列表里的域名都由127.0.0.1#53来解析,也就是openwrt里的dnsmasq,当然解析的过程也是走隧道出去,保证dns的清洁。其它不在此黑名单里的,由其它国内的dns来解析。
我在debian11里安装过v2ray v5.3,用dnsmasq 2.87配合nft,可以调通ipv4的流量,ipv6就不行了。
debian 11里的nft
flush table inet gfwtable table inet gfwtable{ set gfwlist { type ipv4_addr size 65536 } chain prerouting { type nat hook prerouting priority 0; policy accept; ip daddr @gfwlist meta l4proto {tcp,udp} redirect to :2000 } chain output { type nat hook output priority 0; policy accept; ip daddr @gfwlist meta l4proto {tcp,udp} redirect to :2000 } }
dnsmasq 的配置类似于这样( dnsmasq 版本必须手工更新到 2.87 或以上): server=/somedomain.com/127.0.0.1#53 nftset=/somedomain.com/4#inet#gfwlisttable#gfwlist
我按照你的操作,结果如下:
透明代理配置
: 不转发UDP/DNS, 配置gfwlist的DNS为8.8.8.8#53
脚本生成的dnsmasq规则文件
: 能生成正确格式的规则
检查nftables的代理ip集
:能看到gfwlist的域名解析得到的IP被添加到代理ip集内
局域网内的PC访问youtube
: 能正常访问youtube
我的理解不太一样,DNS劫持还是要做的,不然路由器会把解析请求直接发给上游DNS服务器(比如运营商的),劫持还是dnsmasq来完成的,,,只要在LUCI 的DHCP/DNS 的DNS 转发里改成 localhost 比如127.0.0.1 ipv6 是 ::1,然后在 V2RAY 里的--透明代理--代理列表DNS--中改成8.8.8.8#53 或者其他地址,最后在--额外的代理列表--中加入这个地址就能实现 gfwlist 的全链路代理。流程是客户机将域名解析请求发给路由器---路由器将请求发给自己(dnsmasq)---当域名命中gfwlist,将请求发给8.8.8.8,并建立规则,将解析后的IP加入ipset;如果没有命中,直接发给上游路由器---最后根据ipset 地址集代理IP。。。所以如果gfwlist 模式的话,根本用不到 v2ray里的dns模块(我是直接去掉勾选的,主要是它并不能过滤v4,v6流量)。UDP的流量转发其实在gfwlist 模式下是用不到的。 不过我后面用了 smartdns 过滤墙后网址 ipv6 的地址,没办法,ipv6 必须要用,但是DNS 解析里 ipv6 的优先级现在是最高的,机场只有 ipv4 的话,就百分百撞墙。 …
我试验过了,如果挟持局域网所有DNS的话,dnsmasq是收不到局域网内的任何DNS请求的,只挟持路由器本机的话就没有问题了,如果dnsmasq设置的上游dns服务器可以保证不会污染解析结果的话,譬如8.8.8.8,确实无需V2ray的dns模块,只需要代理8.8.8.8这个ip,但是这又会带来另外一个问题,8.8.8.8解析出来的ip,可能连接速度没有运营商自己的DNS或者114解析出来的快,这时候如果使用V2ray的DNS模块就可以为国内/国外的域名指定不同的DNS服务器,理论上可以提供更好的解析结果
我所说的方案,其实已经包含分流了,只有gfwlist(还有自己设置的域名),才会走8.8.8.8,然后从代理出去,其他正常域名是用openwrt自动从上游获取的(我的是运营商)
@jerry-ch-issue 经你这么一解析,我想通了,因为我一直用xray来联机游戏,所以我一直都默认udp要转发到xray/v2ray,如果不转发UDP/DNS的话,就在dnsmasq里配置好gfwlist的DNS就可以了
@WordsWorthLess 我目前用的旧版的luci,一切良好,没有设置dns转发。在测试时,win10的网关和dns均填写的是openwrt的ip,也就是装了v2ray的openwrt做网关,也做dns服务器。 dns服务器用dnsmasq来承担,同时做分流。在dnsmasq里设置gfwlist列表,列表里的域名都由127.0.0.1#53来解析,也就是openwrt里的dnsmasq,当然解析的过程也是走隧道出去,保证dns的清洁。其它不在此黑名单里的,由其它国内的dns来解析。
我在debian11里安装过v2ray v5.3,用dnsmasq 2.87配合nft,可以调通ipv4的流量,ipv6就不行了。
debian 11里的nft
flush table inet gfwtable table inet gfwtable{ set gfwlist { type ipv4_addr size 65536 } chain prerouting { type nat hook prerouting priority 0; policy accept; ip daddr @gfwlist meta l4proto {tcp,udp} redirect to :2000 } chain output { type nat hook output priority 0; policy accept; ip daddr @gfwlist meta l4proto {tcp,udp} redirect to :2000 } }
dnsmasq 的配置类似于这样( dnsmasq 版本必须手工更新到 2.87 或以上): server=/somedomain.com/127.0.0.1#53 nftset=/somedomain.com/4#inet#gfwlisttable#gfwlist
@youland 我修改了一下,在官方OpenWRT 21.02 和 20.03.03的 版本都能正常使用了,麻烦测试一下 https://github.com/WordsWorthLess/luci-app-v2ray/releases/tag/luci-app-v2ray_2.1.0
@WordsWorthLess 我目前用的旧版的luci,一切良好,没有设置dns转发。在测试时,win10的网关和dns均填写的是openwrt的ip,也就是装了v2ray的openwrt做网关,也做dns服务器。 dns服务器用dnsmasq来承担,同时做分流。在dnsmasq里设置gfwlist列表,列表里的域名都由127.0.0.1#53来解析,也就是openwrt里的dnsmasq,当然解析的过程也是走隧道出去,保证dns的清洁。其它不在此黑名单里的,由其它国内的dns来解析。 我在debian11里安装过v2ray v5.3,用dnsmasq 2.87配合nft,可以调通ipv4的流量,ipv6就不行了。 debian 11里的nft
flush table inet gfwtable table inet gfwtable{ set gfwlist { type ipv4_addr size 65536 } chain prerouting { type nat hook prerouting priority 0; policy accept; ip daddr @gfwlist meta l4proto {tcp,udp} redirect to :2000 } chain output { type nat hook output priority 0; policy accept; ip daddr @gfwlist meta l4proto {tcp,udp} redirect to :2000 } }
dnsmasq 的配置类似于这样( dnsmasq 版本必须手工更新到 2.87 或以上): server=/somedomain.com/127.0.0.1#53 nftset=/somedomain.com/4#inet#gfwlisttable#gfwlist
@youland 我修改了一下,在官方OpenWRT 21.02 和 20.03.03的 版本都能正常使用了,麻烦测试一下 https://github.com/WordsWorthLess/luci-app-v2ray/releases/tag/luci-app-v2ray_2.1.0
我一直在是官方原版的openwrt 22.03.3上面测试的,对于21.02没有意义,因为作者旧版的还能在21.02上面使用。
旧版的,我一直用这个方法:https://www.youtube.com/watch?v=cUo02fhXyHs
刚才在openwrt 22.03.3里测试一下,还是不行。 web里面v2ray v5.3能运行起来,用的透明代理,一切都是默认。出站用的是vless+ws和vless+tls两种,都不通。
旧版的,我一直用这个方法:https://www.youtube.com/watch?v=cUo02fhXyHs
刚才在openwrt 22.03.3里测试一下,还是不行。 web里面v2ray v5.3能运行起来,用的透明代理,一切都是默认。出站用的是vless+ws和vless+tls两种,都不通。
能不能把你的nft的 v2ray表和 v2ray的日志发出来看一下
查看nftable的命令是
nft list table inet v2ray
v2ray的运行日志在OpenWRT 网页管理界面的状态>系统日志
里面可以看到
怎么弄都不通。。。。。
root@OpenWrt:~# nft list table inet v2ray
table inet v2ray {
set v2ray_dst_direct_v4 {
type ipv4_addr
flags interval
elements = { 0.0.0.0/8, 10.0.0.0/8,
100.64.0.0/10, 127.0.0.0/8,
169.254.0.0/16, 172.16.0.0/12,
173.82.94.19, 192.0.0.0/24,
192.0.2.0/24, 192.18.0.0/15,
192.88.99.0/24, 192.168.0.0/16,
198.51.100.0/24, 203.0.113.0/24,
224.0.0.0/4, 240.0.0.0-255.255.255.255 }
}
set v2ray_src_direct_v4 {
type ipv4_addr
flags interval
}
set v2ray_dst_proxy_v4 {
type ipv4_addr
flags interval
}
set v2ray_dst_direct_v6 {
type ipv6_addr
flags interval
elements = { ::,
::1,
::ffff:0.0.0.0/96,
::ffff:0:0:0/96,
64:ff9b::/96,
100::/64,
2001::/32,
2001:20::/28,
2001:db8::/32,
2002::/16,
fc00::/7,
fe80::/10,
ff00::-ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff }
}
set v2ray_dst_proxy_v6 {
type ipv6_addr
flags interval
}
chain tcp_prerouting {
type nat hook prerouting priority dstnat; policy accept;
iifname "br-lan" meta l4proto tcp counter packets 9 bytes 457 jump v2ray_tcp_rules
}
chain v2ray_tcp_rules {
meta l4proto tcp meta mark 0x000000ff counter packets 0 bytes 0 accept
ip daddr @v2ray_dst_direct_v4 counter packets 2 bytes 123 accept
ip saddr @v2ray_src_direct_v4 counter packets 0 bytes 0 accept
ip6 daddr @v2ray_dst_direct_v6 counter packets 0 bytes 0 accept
tcp dport 0-65535 ip daddr @v2ray_dst_proxy_v4 counter packets 0 bytes 0 redirect to :2000
}
chain tcp_output {
type nat hook output priority filter; policy accept;
counter packets 3 bytes 225 jump v2ray_tcp_rules
}
}
ue Apr 4 11:18:16 2023 daemon.info dnsmasq[1]: read /tmp/hosts/odhcpd - 0 addresses
Tue Apr 4 11:18:16 2023 daemon.info v2ray[32243]: V2Ray 5.3.0 (OpenWrt) R1 (go1.19.5 linux/amd64)
Tue Apr 4 11:18:16 2023 daemon.info v2ray[32243]: A unified platform for anti-censorship.
Tue Apr 4 11:19:01 2023 daemon.err dnsmasq[1]: nftset inet v2ray v2ray_dst_proxy_v6 Error: Could not resolve hostname: Name does not resolve
Tue Apr 4 11:19:05 2023 daemon.err dnsmasq[1]: nftset inet v2ray v2ray_dst_proxy_v6 Error: Could not resolve hostname: Name does not resolve
Tue Apr 4 11:19:05 2023 daemon.err dnsmasq[1]: nftset inet v2ray v2ray_dst_proxy_v6 Error: Could not resolve hostname: Name does not resolve
Tue Apr 4 11:19:14 2023 daemon.err dnsmasq[1]: nftset inet v2ray v2ray_dst_proxy_v6 Error: Could not resolve hostname: Name does not resolve
Tue Apr 4 11:19:39 2023 daemon.err dnsmasq[1]: nftset inet v2ray v2ray_dst_proxy_v6 Error: Could not resolve hostname: Name does not resolve
Tue Apr 4 11:19:39 2023 daemon.err dnsmasq[1]: nftset inet v2ray v2ray_dst_proxy_v6 Error: Could not resolve hostname: Name does not resolve
Tue Apr 4 11:19:39 2023 daemon.err dnsmasq[1]: nftset inet v2ray v2ray_dst_proxy_v6 Error: Could not resolve hostname: Name does not resolve
Tue Apr 4 11:20:11 2023 daemon.info v2ray: Routing disabled: main_routing
Tue Apr 4 11:20:11 2023 daemon.info v2ray: Policy disabled: main_policy
Tue Apr 4 11:20:11 2023 daemon.info v2ray: Reverse disabled: main_reverse
Tue Apr 4 11:20:11 2023 daemon.info v2ray: Setting transparent proxy on port: 2000
Tue Apr 4 11:20:11 2023 daemon.info v2ray: Transparent proxy mode: gfwlist_proxy
Tue Apr 4 11:20:11 2023 daemon.info v2ray: Use TProxy to setup nftables
Tue Apr 4 11:20:11 2023 daemon.info v2ray: Restarting dnsmasq...
Tue Apr 4 11:20:11 2023 daemon.info dnsmasq[1]: exiting on receipt of SIGTERM
Tue Apr 4 11:20:11 2023 daemon.info dnsmasq[1]: started, version 2.87 cachesize 150
Tue Apr 4 11:20:11 2023 daemon.info dnsmasq[1]: DNS service limited to local subnets
Tue Apr 4 11:20:11 2023 daemon.info dnsmasq[1]: compile time options: IPv6 GNU-getopt no-DBus UBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset nftset auth cryptohash DNSSEC no-ID loop-detect inotify dumpfile
Tue Apr 4 11:20:11 2023 daemon.info dnsmasq[1]: UBus support enabled: connected to system bus
Tue Apr 4 11:20:11 2023 daemon.info dnsmasq[1]: using only locally-known addresses for test
Tue Apr 4 11:20:11 2023 daemon.info dnsmasq[1]: using only locally-known addresses for onion
Tue Apr 4 11:20:11 2023 daemon.info dnsmasq[1]: using only locally-known addresses for localhost
Tue Apr 4 11:20:11 2023 daemon.info dnsmasq[1]: using only locally-known addresses for local
Tue Apr 4 11:20:11 2023 daemon.info dnsmasq[1]: using only locally-known addresses for invalid
Tue Apr 4 11:20:11 2023 daemon.info dnsmasq[1]: using only locally-known addresses for bind
Tue Apr 4 11:20:11 2023 daemon.info dnsmasq[1]: using only locally-known addresses for lan
Tue Apr 4 11:20:11 2023 daemon.info dnsmasq[1]: reading /tmp/resolv.conf.d/resolv.conf.auto
Tue Apr 4 11:20:11 2023 daemon.info dnsmasq[1]: using nameserver 114.114.114.114#53
Tue Apr 4 11:20:11 2023 daemon.info dnsmasq[1]: using only locally-known addresses for test
Tue Apr 4 11:20:11 2023 daemon.info dnsmasq[1]: using only locally-known addresses for onion
Tue Apr 4 11:20:11 2023 daemon.info dnsmasq[1]: using only locally-known addresses for localhost
Tue Apr 4 11:20:11 2023 daemon.info dnsmasq[1]: using only locally-known addresses for local
Tue Apr 4 11:20:11 2023 daemon.info dnsmasq[1]: using only locally-known addresses for invalid
Tue Apr 4 11:20:11 2023 daemon.info dnsmasq[1]: using only locally-known addresses for bind
Tue Apr 4 11:20:11 2023 daemon.info dnsmasq[1]: using only locally-known addresses for lan
Tue Apr 4 11:20:11 2023 daemon.info dnsmasq[1]: read /etc/hosts - 4 addresses
Tue Apr 4 11:20:11 2023 daemon.info dnsmasq[1]: read /tmp/hosts/dhcp.cfg01411c - 0 addresses
Tue Apr 4 11:20:11 2023 daemon.info dnsmasq[1]: read /tmp/hosts/odhcpd - 0 addresses
Tue Apr 4 11:20:11 2023 daemon.info v2ray[800]: V2Ray 5.3.0 (OpenWrt) R1 (go1.19.5 linux/amd64)
Tue Apr 4 11:20:11 2023 daemon.info v2ray[800]: A unified platform for anti-censorship.
Tue Apr 4 11:20:11 2023 daemon.info v2ray: Routing disabled: main_routing
关闭了V2RAY的路由功能,那么v2ray的配置文件第一个outbound是proxy吗? 如果仅使用V2RAY代理GFWLIST,不配置V2RAY的路由,那么第一个outbound就应该是可用的代理出站
Tue Apr 4 11:20:11 2023 daemon.info v2ray: Routing disabled: main_routing
关闭了V2RAY的路由功能,那么v2ray的配置文件第一个outbound是proxy吗? 如果仅使用V2RAY代理GFWLIST,不配置V2RAY的路由,那么第一个outbound就应该是可用的代理出站
我的经验是,如果使用透明代理的话,有了dnsmasq和ipset的合作,就没必要启用v2ray的DNS和路由两个模块。 这样的话,在全局设置那里,“启用的入站连接”,只选中一个就行,也就是dokodemo;“启用的出站连接”,也只选中一个,即当下的翻墙服务器。 (这样做有一个附加的好处,不再需要geosite和geoip两个大文件,路由器省不少空间。) v2ray的DNS太复杂,我是弄不懂,干脆不用,倒也省些开销。 在“透明代理”页上,转发DNS自然不用选中,TProxy可用可不用。下面的“代理列表DNS”也不用填写。 这样使用几年了,从来没有过问题。生成的配置文件如下:
{ "log": { "access": "/dev/null", "loglevel": "warning", "error": "/var/log/v2ray-error.log" }, "inbounds": [ { "listen": "0.0.0.0", "port": 1081, "protocol": "dokodemo-door", "settings": { "followRedirect": true, "network": "tcp" }, "streamSettings": { "sockopt": { "tproxy": "redirect" } }, "tag": "transparent", "sniffing": { "enabled": true, "destOverride": [ "http", "tls" ] } } ], "outbounds": [ { "protocol": "vmess", "settings": { "vnext": [ { "address": "xxxx", "port": xxx, "users": [ { "id": "xxxx-xxxx", "alterId": 0, "security": "none" } ] } ] }, "streamSettings": { "network": "ws", "security": "tls", "tlsSettings": { "allowInsecure": true, "allowInsecureCiphers": false, "disableSystemRoot": false, "certificates": [
]
},
"wsSettings": {
"path": "/xxx"
},
"sockopt": {
"mark": 255,
}
},
"tag": "proxy"
}
]
}
我觉得重点在dns和nft上面,v2本身就是一个配置而已。
Wed Apr 5 00:17:48 2023 daemon.info v2ray: Fake DNS enabled
Wed Apr 5 00:17:48 2023 daemon.info v2ray: Policy disabled: main_policy
Wed Apr 5 00:17:48 2023 daemon.info v2ray: Reverse disabled: main_reverse
Wed Apr 5 00:17:48 2023 daemon.info v2ray: Setting transparent proxy on port: 2000
Wed Apr 5 00:17:48 2023 daemon.info v2ray: Transparent proxy mode: gfwlist_proxy
Wed Apr 5 00:17:48 2023 daemon.info v2ray: Restarting dnsmasq...
Wed Apr 5 00:17:48 2023 daemon.info dnsmasq[1]: exiting on receipt of SIGTERM
Wed Apr 5 00:17:48 2023 daemon.info dnsmasq[1]: started, version 2.87 cachesize 150
Wed Apr 5 00:17:48 2023 daemon.info dnsmasq[1]: DNS service limited to local subnets
Wed Apr 5 00:17:48 2023 daemon.info dnsmasq[1]: compile time options: IPv6 GNU-getopt no-DBus UBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset nftset auth cryptohash DNSSEC no-ID loop-detect inotify dumpfile
Wed Apr 5 00:17:48 2023 daemon.info dnsmasq[1]: UBus support enabled: connected to system bus
Wed Apr 5 00:17:48 2023 daemon.info dnsmasq[1]: using only locally-known addresses for test
Wed Apr 5 00:17:48 2023 daemon.info dnsmasq[1]: using only locally-known addresses for onion
Wed Apr 5 00:17:48 2023 daemon.info dnsmasq[1]: using only locally-known addresses for localhost
Wed Apr 5 00:17:48 2023 daemon.info dnsmasq[1]: using only locally-known addresses for local
Wed Apr 5 00:17:48 2023 daemon.info dnsmasq[1]: using only locally-known addresses for invalid
Wed Apr 5 00:17:48 2023 daemon.info dnsmasq[1]: using only locally-known addresses for bind
Wed Apr 5 00:17:48 2023 daemon.info dnsmasq[1]: using only locally-known addresses for lan
Wed Apr 5 00:17:48 2023 daemon.info dnsmasq[1]: reading /tmp/resolv.conf.d/resolv.conf.auto
Wed Apr 5 00:17:48 2023 daemon.info dnsmasq[1]: using nameserver 114.114.114.114#53
Wed Apr 5 00:17:48 2023 daemon.info dnsmasq[1]: using only locally-known addresses for test
Wed Apr 5 00:17:48 2023 daemon.info dnsmasq[1]: using only locally-known addresses for onion
Wed Apr 5 00:17:48 2023 daemon.info dnsmasq[1]: using only locally-known addresses for localhost
Wed Apr 5 00:17:48 2023 daemon.info dnsmasq[1]: using only locally-known addresses for local
Wed Apr 5 00:17:48 2023 daemon.info dnsmasq[1]: using only locally-known addresses for invalid
Wed Apr 5 00:17:48 2023 daemon.info dnsmasq[1]: using only locally-known addresses for bind
Wed Apr 5 00:17:48 2023 daemon.info dnsmasq[1]: using only locally-known addresses for lan
Wed Apr 5 00:17:48 2023 daemon.info dnsmasq[1]: read /etc/hosts - 4 addresses
Wed Apr 5 00:17:48 2023 daemon.info dnsmasq[1]: read /tmp/hosts/dhcp.cfg01411c - 0 addresses
Wed Apr 5 00:17:48 2023 daemon.info dnsmasq[1]: read /tmp/hosts/odhcpd - 0 addresses
Wed Apr 5 00:17:48 2023 daemon.info v2ray[7515]: V2Ray 5.3.0 (OpenWrt) R1 (go1.19.5 linux/amd64)
Wed Apr 5 00:17:48 2023 daemon.info v2ray[7515]: A unified platform for anti-censorship.
Wed Apr 5 00:17:49 2023 daemon.info v2ray[7515]: 2023/04/05 00:17:49 [Info] features: You are using a deprecated feature: root fakedns settings. Please update your config file with latest configuration format, or update your client software.
Wed Apr 5 00:19:57 2023 daemon.info v2ray: Fake DNS enabled
Wed Apr 5 00:19:57 2023 daemon.info v2ray: Policy disabled: main_policy
Wed Apr 5 00:19:57 2023 daemon.info v2ray: Reverse disabled: main_reverse
Wed Apr 5 00:19:58 2023 daemon.info v2ray: Setting transparent proxy on port: 2000
Wed Apr 5 00:19:58 2023 daemon.info v2ray: Transparent proxy mode: gfwlist_proxy
Wed Apr 5 00:19:58 2023 daemon.info v2ray: Use TProxy to setup nftables
Wed Apr 5 00:19:58 2023 daemon.info v2ray: Restarting dnsmasq...
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: exiting on receipt of SIGTERM
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: started, version 2.87 cachesize 150
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: DNS service limited to local subnets
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: compile time options: IPv6 GNU-getopt no-DBus UBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset nftset auth cryptohash DNSSEC no-ID loop-detect inotify dumpfile
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: UBus support enabled: connected to system bus
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.com
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.ad
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.ae
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.com.af
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.com.ag
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.com.ai
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.al
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.am
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.co.ao
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.com.ar
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.as
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.at
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.com.au
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.az
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.ba
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.com.bd
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.be
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.bf
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.bg
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.com.bh
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.bi
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.bj
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.com.bn
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.com.bo
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.com.br
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.bs
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.bt
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.co.bw
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.by
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.com.bz
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: more servers are defined but not logged
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using only locally-known addresses for test
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using only locally-known addresses for onion
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using only locally-known addresses for localhost
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using only locally-known addresses for local
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using only locally-known addresses for invalid
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using only locally-known addresses for bind
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using only locally-known addresses for lan
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: reading /tmp/resolv.conf.d/resolv.conf.auto
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.com
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.ad
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.ae
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.com.af
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.com.ag
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.com.ai
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.al
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.am
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.co.ao
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.com.ar
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.as
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.at
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.com.au
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.az
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.ba
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.com.bd
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.be
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.bf
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.bg
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.com.bh
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.bi
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.bj
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.com.bn
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.com.bo
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.com.br
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.bs
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.bt
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.co.bw
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.by
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53 for domain google.com.bz
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: more servers are defined but not logged
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using only locally-known addresses for test
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using only locally-known addresses for onion
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using only locally-known addresses for localhost
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using only locally-known addresses for local
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using only locally-known addresses for invalid
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using only locally-known addresses for bind
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: using only locally-known addresses for lan
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: read /etc/hosts - 4 addresses
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: read /tmp/hosts/dhcp.cfg01411c - 0 addresses
Wed Apr 5 00:19:58 2023 daemon.info dnsmasq[1]: read /tmp/hosts/odhcpd - 0 addresses
Wed Apr 5 00:19:58 2023 daemon.info v2ray[8574]: V2Ray 5.3.0 (OpenWrt) R1 (go1.19.5 linux/amd64)
Wed Apr 5 00:19:58 2023 daemon.info v2ray[8574]: A unified platform for anti-censorship.
Wed Apr 5 00:19:59 2023 daemon.info v2ray[8574]: 2023/04/05 00:19:59 [Info] features: You are using a deprecated feature: root fakedns settings. Please update your config file with latest configuration format, or update your client software.
当前配置文件: /var/etc/v2ray/v2ray.main.json
{
"log": {
"access": "/var/log/v2ray-access.log",
"loglevel": "warning",
"error": "/var/log/v2ray-error.log"
},
"stats": {
},
"dns": {
"tag": "xray_dns",
"hosts": {
"vps.reality": [
"1.2.3.4"
],
"vps.trojan": [
"2.3.4.5"
],
"vps.grpc": [
"3.4.5.6"
],
"114.dns": [
"114.114.114.114"
],
"my.router": [
"192.168.1.1",
"::1"
],
"google.cn": [
"google.com"
]
},
"servers": [
"https+local://1.1.1.1/dns-query",
{
"address": "fakedns",
"domains": [
"geosite:tiktok"
],
"skipFallback": true
},
{
"address": "8.8.8.8",
"domains": [
"geosite:geolocation-!cn"
],
"skipFallback": false
},
{
"address": "114.114.114.114",
"domains": [
"geosite:cn"
],
"expectIPs": [
"geoip:cn"
]
}
],
"queryStrategy": "UseIP",
"disableCache": false,
"disableFallback": false,
"disableFallbackIfMatch": false
},
"fakedns": [
{
"ipPool": "198.18.0.0/15",
"poolSize": 65535
},
{
"ipPool": "fc00::/18",
"poolSize": 65535
}
],
"inbounds": [
{
"listen": "0.0.0.0",
"port": 2000,
"protocol": "dokodemo-door",
"settings": {
"followRedirect": true,
"network": "tcp"
},
"streamSettings": {
"network": "tcp",
"tcpSettings": {
},
"sockopt": {
"tproxy": "redirect"
}
},
"tag": "transparent",
"sniffing": {
"enabled": true,
"destOverride": [
"fakedns",
"http",
"tls"
],
"metadataOnly": false,
"routeOnly": false
}
}
],
"outbounds": [
{
"protocol": "vless",
"settings": {
"vnext": [
{
"address": "a.com",
"port": 443,
"users": [
{
"id": "myid",
"encryption": "none"
}
]
}
]
},
"streamSettings": {
"network": "ws",
"security": "tls",
"tlsSettings": {
"allowInsecure": false,
"allowInsecureCiphers": false,
"disableSystemRoot": false,
"certificates": [
]
},
"wsSettings": {
"path": "aaaaaaaa"
},
"sockopt": {
"domainStrategy": "AsIs",
"mark": 255
}
},
"tag": "vless-aaaaaaaaaaaaa"
}
]
}
把我现在用的v2ray v4.5的配置贴上来,openwrt 21.02.5,用的旧的,还是iptables的。
把我现在用的v2ray v4.5的配置贴上来,openwrt 21.02.5,用的旧的,还是iptables的。
可是我重现不了你的问题,我拿N1刷了个新的openwrt,无论主路由还是旁路由都能科学上网
@youland 我按照你配置方法试了一下,没有问题啊 旁路网关:https://www.youtube.com/watch?v=Vvb01SvygKM 主路由:https://www.youtube.com/watch?v=cADM_uyj3xg
@youland 我按照你配置方法试了一下,没有问题啊 旁路网关:https://www.youtube.com/watch?v=Vvb01SvygKM 主路由:https://www.youtube.com/watch?v=cADM_uyj3xg
试了,有以下问题: 1,win10里面要把ipv6关了才能用,开着ipv6全部不通。 2,关了ipv6之后,只能打开google系列的网站,其它类似twitter,facebook都打不开 3,之前一直不通的原因是把dns打上勾了,这次去掉了dns就能通了,但也不是全部通。
建议:优先解析ipv4,目前ipv6穿墙难度还是有的。
感谢你们这些开发者!!
@youland 我按照你配置方法试了一下,没有问题啊 旁路网关:https://www.youtube.com/watch?v=Vvb01SvygKM 主路由:https://www.youtube.com/watch?v=cADM_uyj3xg
试了,有以下问题: 1,win10里面要把ipv6关了才能用,开着ipv6全部不通。 2,关了ipv6之后,只能打开google系列的网站,其它类似twitter,facebook都打不开 3,之前一直不通的原因是把dns打上勾了,这次去掉了dns就能通了,但也不是全部通。
建议:优先解析ipv4,目前ipv6穿墙难度还是有的。
感谢你们这些开发者!!
不知道你是如何配置的,我的环境是openwrt运行在esxi虚拟机上,是做主路由用的,官方版的固件,自己扩容了一下,装了几个常用的插件,IPv6开启的,v2ray是4.44.0,全部正常可用,IPv6国内国外访问应该都是正常的。内网设备不做任何配置均可自动穿墙。
@youland 我按照你配置方法试了一下,没有问题啊 旁路网关:https://www.youtube.com/watch?v=Vvb01SvygKM 主路由:https://www.youtube.com/watch?v=cADM_uyj3xg
试了,有以下问题: 1,win10里面要把ipv6关了才能用,开着ipv6全部不通。 2,关了ipv6之后,只能打开google系列的网站,其它类似twitter,facebook都打不开 3,之前一直不通的原因是把dns打上勾了,这次去掉了dns就能通了,但也不是全部通。
建议:优先解析ipv4,目前ipv6穿墙难度还是有的。
感谢你们这些开发者!!
我是在原作者的插件基础上修改的,确实不支持IPv6的代理,如果你的网络是使用Native IPv6(每个客户端独立的公网IPv6地址)的话,这个插件是无法代理局域网客户端的IPv6流量的,因为网关自行无法配置,都是运营商下发的,解决方法:
先说句题外话,ipv6 现在能做到每户都有了,而且现在很多vps 提供仅 ipv6地址,由于稀缺性没那么高,所以可以做到很便宜。
此项目已经考虑了ipv6 ,所以其实能跑通的,主要问题是现在大部分机场是仅 ipv4的,包括vps ,而DNS 解析的优先级给了 ipv6 ,在连接不通的时候,不会fallback 到 ipv4 ,所以会出现各种问题。我的解决方案是在 DNSMASQ 之前配置一个 smartdns作为上游,这个项目可以丢掉 ipv6 的解析,我在 gfwlist模式下 用了大半年没有遇到任何问题。
On Thu, Apr 20, 2023, 11:02 WordsWorthLess @.***> wrote:
@youland https://github.com/youland 我按照你配置方法试了一下,没有问题啊 旁路网关: https://www.youtube.com/watch?v=Vvb01SvygKM 主路由: https://www.youtube.com/watch?v=cADM_uyj3xg
试了,有以下问题: 1,win10里面要把ipv6关了才能用,开着ipv6全部不通。 2,关了ipv6之后,只能打开google系列的网站,其它类似twitter,facebook都打不开 3,之前一直不通的原因是把dns打上勾了,这次去掉了dns就能通了,但也不是全部通。
建议:优先解析ipv4,目前ipv6穿墙难度还是有的。
感谢你们这些开发者!!
我是在原作者的插件基础上修改的,确实不支持IPv6的代理,如果你的网络是使用Native IPv6(每个客户端独立的公网IPv6地址)的话,这个插件是无法代理局域网客户端的IPv6流量的,因为网关自行无法配置,都是运营商下发的,解决方法:
- 改用IPv6 NAT模式上网(每个dhcp6 client获取的都是ULA, 即内网IP,但是这样又失去了使用IPv6的意义)
- 重新修改nftable/iptables的规则,这样的话工程量就有点大了.
— Reply to this email directly, view it on GitHub https://github.com/kuoruan/luci-app-v2ray/issues/461#issuecomment-1515644271, or unsubscribe https://github.com/notifications/unsubscribe-auth/APWTSQLELBSJU7TPMFILA7LXCCRNFANCNFSM6AAAAAARNZ2WXY . You are receiving this because you were mentioned.Message ID: @.***>
可能我没表达清楚,是不支持局域网客户端IPv6流量的代理,但是可以用IPv6的节点,其实我现在的VPS都是IPv6的,因为我的运营商会把IPv4的443端口墙掉,但是IPv6目前来说没有受到干扰。
代理IPv6流量的话,我目前只能实现NAT6模式的代理,我看电报群里的大佬们都表示没什么必要代理IPv6流量
至于丢掉域名的AAAA记录,其实可以通过V2RAY内置的DNS模块实现的,不过不适合用于GFWLIST模式
先说句题外话,ipv6 现在能做到每户都有了,而且现在很多vps 提供仅 ipv6地址,由于稀缺性没那么高,所以可以做到很便宜。 此项目已经考虑了ipv6 ,所以其实能跑通的,主要问题是现在大部分机场是仅 ipv4的,包括vps ,而DNS 解析的优先级给了 ipv6 ,在连接不通的时候,不会fallback 到 ipv4 ,所以会出现各种问题。我的解决方案是在 DNSMASQ 之前配置一个 smartdns作为上游,这个项目可以丢掉 ipv6 的解析,我在 gfwlist模式下 用了大半年没有遇到任何问题。 … On Thu, Apr 20, 2023, 11:02 WordsWorthLess @.> wrote: @youland https://github.com/youland 我按照你配置方法试了一下,没有问题啊 旁路网关: https://www.youtube.com/watch?v=Vvb01SvygKM 主路由: https://www.youtube.com/watch?v=cADM_uyj3xg 试了,有以下问题: 1,win10里面要把ipv6关了才能用,开着ipv6全部不通。 2,关了ipv6之后,只能打开google系列的网站,其它类似twitter,facebook都打不开 3,之前一直不通的原因是把dns打上勾了,这次去掉了dns就能通了,但也不是全部通。 建议:优先解析ipv4,目前ipv6穿墙难度还是有的。 感谢你们这些开发者!! 我是在原作者的插件基础上修改的,确实不支持IPv6的代理,如果你的网络是使用Native IPv6(每个客户端独立的公网IPv6地址)的话,这个插件是无法代理局域网客户端的IPv6流量的,因为网关自行无法配置,都是运营商下发的,解决方法: 1. 改用IPv6 NAT模式上网(每个dhcp6 client获取的都是ULA, 即内网IP,但是这样又失去了使用IPv6的意义) 2. 重新修改nftable/iptables的规则,这样的话工程量就有点大了. — Reply to this email directly, view it on GitHub <#461 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/APWTSQLELBSJU7TPMFILA7LXCCRNFANCNFSM6AAAAAARNZ2WXY . You are receiving this because you were mentioned.Message ID: @.>
感谢指点,我还没试过在网关的位置设置 ipv6 的代理转发,目前 ipv6 的小鸡仅在手机上使用,所以没能理解 ipv6 的路由路径。主要是我看 OP 里lan 接口总是分发前缀加最后的::1,想当然的以为像 ipv4 那样,这会是内网机器ipv6 的第一跳,也就是内网的网关。
On Fri, Apr 21, 2023, 13:43 WordsWorthLess @.***> wrote:
可能我没表达清楚,是不支持局域网客户端IPv6流量的代理,但是可以用IPv6的节点,其实我现在的VPS都是IPv6的,因为我的运营商会把IPv4的443端口墙掉,但是IPv6目前来说没有受到干扰。
-
代理IPv6流量的话,我目前只能实现NAT6模式的代理,我看电报群里的大佬们都表示没什么必要代理IPv6流量
至于丢掉域名的AAAA记录,其实可以通过V2RAY内置的DNS模块实现的,不过不适合用于GFWLIST模式
先说句题外话,ipv6 现在能做到每户都有了,而且现在很多vps 提供仅 ipv6地址,由于稀缺性没那么高,所以可以做到很便宜。 此项目已经考虑了ipv6 ,所以其实能跑通的,主要问题是现在大部分机场是仅 ipv4的,包括vps ,而DNS 解析的优先级给了 ipv6 ,在连接不通的时候,不会fallback 到 ipv4 ,所以会出现各种问题。我的解决方案是在 DNSMASQ 之前配置一个 smartdns作为上游,这个项目可以丢掉 ipv6 的解析,我在 gfwlist模式下 用了大半年没有遇到任何问题。 … <#m-5162296684986400956> On Thu, Apr 20, 2023, 11:02 WordsWorthLess @.*> wrote: @youland https://github.com/youland https://github.com/youland https://github.com/youland 我按照你配置方法试了一下,没有问题啊 旁路网关: https://www.youtube.com/watch?v=Vvb01SvygKM https://www.youtube.com/watch?v=Vvb01SvygKM 主路由: https://www.youtube.com/watch?v=cADM_uyj3xg https://www.youtube.com/watch?v=cADM_uyj3xg 试了,有以下问题: 1,win10里面要把ipv6关了才能用,开着ipv6全部不通。 2,关了ipv6之后,只能打开google系列的网站,其它类似twitter,facebook都打不开 3,之前一直不通的原因是把dns打上勾了,这次去掉了dns就能通了,但也不是全部通。 建议:优先解析ipv4,目前ipv6穿墙难度还是有的。 感谢你们这些开发者!! 我是在原作者的插件基础上修改的,确实不支持IPv6的代理,如果你的网络是使用Native IPv6(每个客户端独立的公网IPv6地址)的话,这个插件是无法代理局域网客户端的IPv6流量的,因为网关自行无法配置,都是运营商下发的,解决方法:
- 改用IPv6 NAT模式上网(每个dhcp6 client获取的都是ULA, 即内网IP,但是这样又失去了使用IPv6的意义) 2. 重新修改nftable/iptables的规则,这样的话工程量就有点大了. — Reply to this email directly, view it on GitHub <#461 (comment) https://github.com/kuoruan/luci-app-v2ray/issues/461#issuecomment-1515644271>, or unsubscribe https://github.com/notifications/unsubscribe-auth/APWTSQLELBSJU7TPMFILA7LXCCRNFANCNFSM6AAAAAARNZ2WXY https://github.com/notifications/unsubscribe-auth/APWTSQLELBSJU7TPMFILA7LXCCRNFANCNFSM6AAAAAARNZ2WXY . You are receiving this because you were mentioned.Message ID: @.*>
— Reply to this email directly, view it on GitHub https://github.com/kuoruan/luci-app-v2ray/issues/461#issuecomment-1517290913, or unsubscribe https://github.com/notifications/unsubscribe-auth/APWTSQPPWODRPUY7NACQ7BTXCIM7NANCNFSM6AAAAAARNZ2WXY . You are receiving this because you were mentioned.Message ID: @.***>
刚看了一下,之前记错了,此项目init .d 里并没有 ip6tables 的记录,所以应该不能转发ipv6 流量。
On Fri, Apr 21, 2023, 21:39 Jerome CH @.***> wrote:
感谢指点,我还没试过在网关的位置设置 ipv6 的代理转发,目前 ipv6 的小鸡仅在手机上使用,所以没能理解 ipv6 的路由路径。主要是我看 OP 里lan 接口总是分发前缀加最后的::1,想当然的以为像 ipv4 那样,这会是内网机器ipv6 的第一跳,也就是内网的网关。
On Fri, Apr 21, 2023, 13:43 WordsWorthLess @.***> wrote:
可能我没表达清楚,是不支持局域网客户端IPv6流量的代理,但是可以用IPv6的节点,其实我现在的VPS都是IPv6的,因为我的运营商会把IPv4的443端口墙掉,但是IPv6目前来说没有受到干扰。
-
代理IPv6流量的话,我目前只能实现NAT6模式的代理,我看电报群里的大佬们都表示没什么必要代理IPv6流量
至于丢掉域名的AAAA记录,其实可以通过V2RAY内置的DNS模块实现的,不过不适合用于GFWLIST模式
先说句题外话,ipv6 现在能做到每户都有了,而且现在很多vps 提供仅 ipv6地址,由于稀缺性没那么高,所以可以做到很便宜。 此项目已经考虑了ipv6 ,所以其实能跑通的,主要问题是现在大部分机场是仅 ipv4的,包括vps ,而DNS 解析的优先级给了 ipv6 ,在连接不通的时候,不会fallback 到 ipv4 ,所以会出现各种问题。我的解决方案是在 DNSMASQ 之前配置一个 smartdns作为上游,这个项目可以丢掉 ipv6 的解析,我在 gfwlist模式下 用了大半年没有遇到任何问题。 … <#m_7026770332429464843m-5162296684986400956_> On Thu, Apr 20, 2023, 11:02 WordsWorthLess @.*> wrote: @youland https://github.com/youland https://github.com/youland https://github.com/youland 我按照你配置方法试了一下,没有问题啊 旁路网关: https://www.youtube.com/watch?v=Vvb01SvygKM https://www.youtube.com/watch?v=Vvb01SvygKM 主路由: https://www.youtube.com/watch?v=cADM_uyj3xg https://www.youtube.com/watch?v=cADM_uyj3xg 试了,有以下问题: 1,win10里面要把ipv6关了才能用,开着ipv6全部不通。 2,关了ipv6之后,只能打开google系列的网站,其它类似twitter,facebook都打不开 3,之前一直不通的原因是把dns打上勾了,这次去掉了dns就能通了,但也不是全部通。 建议:优先解析ipv4,目前ipv6穿墙难度还是有的。 感谢你们这些开发者!! 我是在原作者的插件基础上修改的,确实不支持IPv6的代理,如果你的网络是使用Native IPv6(每个客户端独立的公网IPv6地址)的话,这个插件是无法代理局域网客户端的IPv6流量的,因为网关自行无法配置,都是运营商下发的,解决方法:
- 改用IPv6 NAT模式上网(每个dhcp6 client获取的都是ULA, 即内网IP,但是这样又失去了使用IPv6的意义) 2. 重新修改nftable/iptables的规则,这样的话工程量就有点大了. — Reply to this email directly, view it on GitHub <#461 (comment) https://github.com/kuoruan/luci-app-v2ray/issues/461#issuecomment-1515644271>, or unsubscribe https://github.com/notifications/unsubscribe-auth/APWTSQLELBSJU7TPMFILA7LXCCRNFANCNFSM6AAAAAARNZ2WXY https://github.com/notifications/unsubscribe-auth/APWTSQLELBSJU7TPMFILA7LXCCRNFANCNFSM6AAAAAARNZ2WXY . You are receiving this because you were mentioned.Message ID: @.*>
— Reply to this email directly, view it on GitHub https://github.com/kuoruan/luci-app-v2ray/issues/461#issuecomment-1517290913, or unsubscribe https://github.com/notifications/unsubscribe-auth/APWTSQPPWODRPUY7NACQ7BTXCIM7NANCNFSM6AAAAAARNZ2WXY . You are receiving this because you were mentioned.Message ID: @.***>
最近發現有部分網友有對OpenWrt 22.03的適配的需求,於是試著將插件修改一下,目前能處理nft和iptables的防火墻規則了,因爲一來自身水平有限,邊學邊改,而來也沒有時間,有空才拾起來修修補補,所以有可能會遇到各種奇奇怪怪的bug,請見諒(目前我在19.07和22.03就碰到過未指定fakedns的域名用了fakedns來解析的bug).
具體的改動如下:
兼容iptables 和 nft 需要注意的是,目前OpenWrt 22.03使用的是dnsmasq 2.86,尚不支持nftable的set, 如果需要使用 代理gfwlist 模式的網友需要自行編譯dnsmasq 2.87, (這裏有x86_64的dnsmasq, 其它平臺的網友請自行編譯) , 插件檢測到dnsmasq 版本過低的話,會改用默認模式,即 全局代理 ,這樣的話就需要自己配置 路由規則了
修改透明代理頁面更新gfwlist和chnroute的更新邏輯,改用脚本下載 原來的下載邏輯是在網頁端調用Luci.Request,把列表文件在下載到緩存,解析成功再更新路由器上的文件,但是這種方法在我這裏成功率出奇的低,相關的issue也不少,於是我修改爲調用shell脚本下載並解析文件,下載成功自動刷新頁面,下載失敗會給出失敗原因,因爲脚本用到OpenSSL的base64解密,和curl下載工具,所以依賴包多了一個curl. 解析gfwlist部分我抄的 cokebar大佬的gfwlist2dnsmasq脚本,如有不妥請見諒
取消劫持局域網的DNS流量 因爲插件本來是默認挾持局域網内的全部DNS流量,導致DNS查詢無法流入路由器的DNSMASQ,這樣DNSMASQ就無法把對應的解析結果添加到ipset/nftset,代理gfwlist模式 會失效。所以我將防火墻規則修改爲指向網關的DNS查詢放行,不流入V2RAY, 僅挾持網關的DNS流量, 這樣DNS查詢就能順利發往DNSMASQ. DNSMASQ發往上游DNS服務器的查詢會通過V2RAY發出。要注意的是,如果客戶端的DNS服務器不是設置成網關ip的話,就無法通過V2RAY發出了。
添加Trojan / VLESS協議,xTLS 以及 gRPC底層傳輸方式 fakedns等 因爲我一直使用XRAY, 所以配置文件是參考 Project X的配置指南 來生成的 ,因爲V2RAY 從v5開始,啓動的命令參數不同了,所以儘管V2RAY 5.0向下兼容舊版配置文件,但是這個插件還是不能通過簡單替換可執行文件來使用新版本的V2RAY, 因爲適配新版的工作量也有點大,所以近期也沒有適配的打算...
微調LuCI界面 禁用了匿名配置,添加配置前都要輸入配置的名稱 (未添加配置名稱,有可能會重現這個issue裏面提及到的界面報錯BUG) 出站配置界面中的 前置代理 路配置 界面的 入站節點 和 出站節點 從原來的手動輸入改爲從列表裏選擇 ,節點多的話會比較方便
=============================================================================== 最近XTLS那邊更新了REALITY, 修改了一下,準備發上來,發現之前修改了帖子后附件不見了,太尷尬了 https://github.com/WordsWorthLess/luci-app-v2ray/releases