kuoruan / luci-app-v2ray

LuCI support for V2Ray
1.16k stars 284 forks source link

OpenWrt 22.03适配 #461

Open WordsWorthLess opened 1 year ago

WordsWorthLess commented 1 year ago

最近發現有部分網友有對OpenWrt 22.03的適配的需求,於是試著將插件修改一下,目前能處理nft和iptables的防火墻規則了,因爲一來自身水平有限,邊學邊改,而來也沒有時間,有空才拾起來修修補補,所以有可能會遇到各種奇奇怪怪的bug,請見諒(目前我在19.07和22.03就碰到過未指定fakedns的域名用了fakedns來解析的bug).

具體的改動如下:

  1. 兼容iptables 和 nft 需要注意的是,目前OpenWrt 22.03使用的是dnsmasq 2.86,尚不支持nftable的set, 如果需要使用 代理gfwlist 模式的網友需要自行編譯dnsmasq 2.87, (這裏有x86_64的dnsmasq, 其它平臺的網友請自行編譯) , 插件檢測到dnsmasq 版本過低的話,會改用默認模式,即 全局代理 ,這樣的話就需要自己配置 路由規則了

  2. 修改透明代理頁面更新gfwlist和chnroute的更新邏輯,改用脚本下載 原來的下載邏輯是在網頁端調用Luci.Request,把列表文件在下載到緩存,解析成功再更新路由器上的文件,但是這種方法在我這裏成功率出奇的低,相關的issue也不少,於是我修改爲調用shell脚本下載並解析文件,下載成功自動刷新頁面,下載失敗會給出失敗原因,因爲脚本用到OpenSSL的base64解密,和curl下載工具,所以依賴包多了一個curl. 解析gfwlist部分我抄的 cokebar大佬的gfwlist2dnsmasq脚本,如有不妥請見諒

  3. 取消劫持局域網的DNS流量 因爲插件本來是默認挾持局域網内的全部DNS流量,導致DNS查詢無法流入路由器的DNSMASQ,這樣DNSMASQ就無法把對應的解析結果添加到ipset/nftset,代理gfwlist模式 會失效。所以我將防火墻規則修改爲指向網關的DNS查詢放行,不流入V2RAY, 僅挾持網關的DNS流量, 這樣DNS查詢就能順利發往DNSMASQ. DNSMASQ發往上游DNS服務器的查詢會通過V2RAY發出。要注意的是,如果客戶端的DNS服務器不是設置成網關ip的話,就無法通過V2RAY發出了。

  4. 添加Trojan / VLESS協議,xTLS 以及 gRPC底層傳輸方式 fakedns等 因爲我一直使用XRAY, 所以配置文件是參考 Project X的配置指南 來生成的 ,因爲V2RAY 從v5開始,啓動的命令參數不同了,所以儘管V2RAY 5.0向下兼容舊版配置文件,但是這個插件還是不能通過簡單替換可執行文件來使用新版本的V2RAY, 因爲適配新版的工作量也有點大,所以近期也沒有適配的打算...

  5. 微調LuCI界面 禁用了匿名配置,添加配置前都要輸入配置的名稱 (未添加配置名稱,有可能會重現這個issue裏面提及到的界面報錯BUG) 出站配置界面中的 前置代理 路配置 界面的 入站節點出站節點 從原來的手動輸入改爲從列表裏選擇 ,節點多的話會比較方便

=============================================================================== 最近XTLS那邊更新了REALITY, 修改了一下,準備發上來,發現之前修改了帖子后附件不見了,太尷尬了 https://github.com/WordsWorthLess/luci-app-v2ray/releases

dalton-chiou commented 1 year ago

谢谢。非常需要。修改后的插件在哪里呢?

youland commented 1 year ago

最近發現有部分網友有對OpenWrt 22.03的適配的需求,於是試著將插件修改一下,目前能處理nft和iptables的防火墻規則了,因爲一來自身水平有限,邊學邊改,而來也沒有時間,有空才拾起來修修補補,所以有可能會遇到各種奇奇怪怪的bug,請見諒(目前我在19.07和22.03就碰到過未指定fakedns的域名用了fakedns來解析的bug).

具體的改動如下:

  1. 兼容iptables 和 nft 需要注意的是,目前OpenWrt 22.03使用的是dnsmasq 2.86,尚不支持nftable的set, 如果需要使用 代理gfwlist 模式的網友需要自行編譯dnsmasq 2.87, (這裏有x86_64的dnsmasq, 其它平臺的網友請自行編譯) , 插件檢測到dnsmasq 版本過低的話,會改用默認模式,即 全局代理 ,這樣的話就需要自己配置 路由規則了
  2. 修改透明代理頁面更新gfwlist和chnroute的更新邏輯,改用脚本下載 原來的下載邏輯是在網頁端調用Luci.Request,把列表文件在下載到緩存,解析成功再更新路由器上的文件,但是這種方法在我這裏成功率出奇的低,相關的issue也不少,於是我修改爲調用shell脚本下載並解析文件,下載成功自動刷新頁面,下載失敗會給出失敗原因,因爲脚本用到OpenSSL的base64解密,和curl下載工具,所以依賴包多了一個curl. 解析gfwlist部分我抄的 cokebar大佬的gfwlist2dnsmasq脚本,如有不妥請見諒
  3. 取消劫持局域網的DNS流量 因爲插件本來是默認挾持局域網内的全部DNS流量,導致DNS查詢無法流入路由器的DNSMASQ,這樣DNSMASQ就無法把對應的解析結果添加到ipset/nftset,代理gfwlist模式 會失效。所以我將防火墻規則修改爲指向網關的DNS查詢放行,不流入V2RAY, 僅挾持網關的DNS流量, 這樣DNS查詢就能順利發往DNSMASQ. DNSMASQ發往上游DNS服務器的查詢會通過V2RAY發出。要注意的是,如果客戶端的DNS服務器不是設置成網關ip的話,就無法通過V2RAY發出了。
  4. 添加Trojan / VLESS協議,xTLS 以及 gRPC底層傳輸方式 fakedns等 因爲我一直使用XRAY, 所以配置文件是參考 Project X的配置指南 來生成的 ,因爲V2RAY 從v5開始,啓動的命令參數不同了,所以儘管V2RAY 5.0向下兼容舊版配置文件,但是這個插件還是不能通過簡單替換可執行文件來使用新版本的V2RAY, 因爲適配新版的工作量也有點大,所以近期也沒有適配的打算...
  5. 微調LuCI界面 禁用了匿名配置,添加配置前都要輸入配置的名稱 (未添加配置名稱,有可能會重現這個issue裏面提及到的界面報錯BUG) 出站配置界面中的 前置代理 路配置 界面的 入站節點出站節點 從原來的手動輸入改爲從列表裏選擇 ,節點多的話會比較方便

新固件在哪,我也需要,感谢!

jerry-ch-issue commented 1 year ago

最近發現有部分網友有對OpenWrt 22.03的適配的需求,於是試著將插件修改一下,目前能處理nft和iptables的防火墻規則了,因爲一來自身水平有限,邊學邊改,而來也沒有時間,有空才拾起來修修補補,所以有可能會遇到各種奇奇怪怪的bug,請見諒(目前我在19.07和22.03就碰到過未指定fakedns的域名用了fakedns來解析的bug).

具體的改動如下:

  1. 兼容iptables 和 nft 需要注意的是,目前OpenWrt 22.03使用的是dnsmasq 2.86,尚不支持nftable的set, 如果需要使用 代理gfwlist 模式的網友需要自行編譯dnsmasq 2.87, (這裏有x86_64的dnsmasq, 其它平臺的網友請自行編譯) , 插件檢測到dnsmasq 版本過低的話,會改用默認模式,即 全局代理 ,這樣的話就需要自己配置 路由規則了
  2. 修改透明代理頁面更新gfwlist和chnroute的更新邏輯,改用脚本下載 原來的下載邏輯是在網頁端調用Luci.Request,把列表文好消息,,, op 主线已经更新到 dnsmasq 2.87 版本了,同时新增了 过滤 ipv6 ipv4 功能,但是估计插件作者已经不打算更新了,您这里件在下載到緩存,解析成功再更新路由器上的文件,但是這種方法在我這裏成功率出奇的低,相關的issue也不少,於是我修改爲調用shell脚本下載並解析文件,下載成功自動刷新頁面,下載失敗會給出失敗原因,因爲脚本用到OpenSSL的base64解密,和curl下載工具,所以依賴包多了一個curl. 解析gfwlist部分我抄的 cokebar大佬的gfwlist2dnsmasq脚本,如有不妥請見諒
  3. 取消劫持局域網的DNS流量 因爲插件本來是默認挾持局域網内的全部DNS流量,導致DNS查詢無法流入路由器的DNSMASQ,這樣DNSMASQ就無法把對應的解析結果添加到ipset/nftset,代理gfwlist模式 會失效。所以我將防火墻規則修改爲指向網關的DNS查詢放行,不流入V2RAY, 僅挾持網關的DNS流量, 這樣DNS查詢就能順利發往DNSMASQ. DNSMASQ發往上游DNS服務器的查詢會通過V2RAY發出。要注意的是,如果客戶端的DNS服務器不是設置成網關ip的話,就無法通過V2RAY發出了。
  4. 添加Trojan / VLESS協議,xTLS 以及 gRPC底層傳輸方式 fakedns等 因爲我一直使用XRAY, 所以配置文件是參考 Project X的配置指南 來生成的 ,因爲V2RAY 從v5開始,啓動的命令參數不同了,所以儘管V2RAY 5.0向下兼容舊版配置文件,但是這個插件還是不能通過簡單替換可執行文件來使用新版本的V2RAY, 因爲適配新版的工作量也有點大,所以近期也沒有適配的打算...
  5. 微調LuCI界面 禁用了匿名配置,添加配置前都要輸入配置的名稱 (未添加配置名稱,有可能會重現這個issue裏面提及到的界面報錯BUG) 出站配置界面中的 前置代理 路配置 界面的 入站節點出站節點 從原來的手動輸入改爲從列表裏選擇 ,節點多的話會比較方便

好消息,,, op 主线已经更新到 dnsmasq 2.87 版本了,同时新增了 过滤 ipv6 ipv4 功能,,,我不知道开源软件的江湖规矩,但是好像作者已经停止更新软件了,我看到你的 PR 作者没有受理,你是不是可以 fork 出来更新呢

youland commented 1 year ago

最近發現有部分網友有對OpenWrt 22.03的適配的需求,於是試著將插件修改一下,目前能處理nft和iptables的防火墻規則了,因爲一來自身水平有限,邊學邊改,而來也沒有時間,有空才拾起來修修補補,所以有可能會遇到各種奇奇怪怪的bug,請見諒(目前我在19.07和22.03就碰到過未指定fakedns的域名用了fakedns來解析的bug). 具體的改動如下:

  1. 兼容iptables 和 nft 需要注意的是,目前OpenWrt 22.03使用的是dnsmasq 2.86,尚不支持nftable的set, 如果需要使用 代理gfwlist 模式的網友需要自行編譯dnsmasq 2.87, (這裏有x86_64的dnsmasq, 其它平臺的網友請自行編譯) , 插件檢測到dnsmasq 版本過低的話,會改用默認模式,即 全局代理 ,這樣的話就需要自己配置 路由規則了
  2. 修改透明代理頁面更新gfwlist和chnroute的更新邏輯,改用脚本下載 原來的下載邏輯是在網頁端調用Luci.Request,把列表文好消息,,, op 主线已经更新到 dnsmasq 2.87 版本了,同时新增了 过滤 ipv6 ipv4 功能,但是估计插件作者已经不打算更新了,您这里件在下載到緩存,解析成功再更新路由器上的文件,但是這種方法在我這裏成功率出奇的低,相關的issue也不少,於是我修改爲調用shell脚本下載並解析文件,下載成功自動刷新頁面,下載失敗會給出失敗原因,因爲脚本用到OpenSSL的base64解密,和curl下載工具,所以依賴包多了一個curl. 解析gfwlist部分我抄的 cokebar大佬的gfwlist2dnsmasq脚本,如有不妥請見諒
  3. 取消劫持局域網的DNS流量 因爲插件本來是默認挾持局域網内的全部DNS流量,導致DNS查詢無法流入路由器的DNSMASQ,這樣DNSMASQ就無法把對應的解析結果添加到ipset/nftset,代理gfwlist模式 會失效。所以我將防火墻規則修改爲指向網關的DNS查詢放行,不流入V2RAY, 僅挾持網關的DNS流量, 這樣DNS查詢就能順利發往DNSMASQ. DNSMASQ發往上游DNS服務器的查詢會通過V2RAY發出。要注意的是,如果客戶端的DNS服務器不是設置成網關ip的話,就無法通過V2RAY發出了。
  4. 添加Trojan / VLESS協議,xTLS 以及 gRPC底層傳輸方式 fakedns等 因爲我一直使用XRAY, 所以配置文件是參考 Project X的配置指南 來生成的 ,因爲V2RAY 從v5開始,啓動的命令參數不同了,所以儘管V2RAY 5.0向下兼容舊版配置文件,但是這個插件還是不能通過簡單替換可執行文件來使用新版本的V2RAY, 因爲適配新版的工作量也有點大,所以近期也沒有適配的打算...
  5. 微調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

ttimasdf commented 1 year ago

nftables 实现可参考我的项目: luci-app-xray/firewall_include.ut at 1.27.0-rabit · ttimasdf/luci-app-xray

当然,也可直接安装这个作为替代,毕竟 xray 完全兼容 v2ray 😉

youland commented 1 year ago

@WordsWorthLess 你好,请问一下,你更新到nftable可以正常使用了吗?可否把你编译的ipk共享一下?谢谢!

shunjiankongbai-cn commented 1 year ago

Snipaste_2023-03-09_02-17-12 image

已经在22.03.2使用和很长一段时间了,具体相关的配置请自行研究,我使用正常,只是安装相关教程添加了VLESS协议的支持。具体的ipk文件都是官方版本的,包括v2ray-core-4.44.0.1和luci-app-v2ray-2.0.0-1。使用一切正常,openwrt是22.03.2的官方版本,并非自行编译修改的版本。在此给各位提供一点小小的帮助。

WordsWorthLess commented 1 year ago

@WordsWorthLess 你好,请问一下,你更新到nftable可以正常使用了吗?可否把你编译的ipk共享一下?谢谢! 抱歉,已经更新了地址

youland commented 1 year ago

@WordsWorthLess 你好,请问一下,你更新到nftable可以正常使用了吗?可否把你编译的ipk共享一下?谢谢! 抱歉,已经更新了地址

万分感谢!!!!这就去下载测试去,谢谢大佬!!!

youland commented 1 year ago

@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可以跑起来,但是不通。

dalton-chiou commented 1 year ago

@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,只好放弃了。

youland commented 1 year ago

@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,也只好放弃了。

WordsWorthLess commented 1 year ago

检查了一下, 发现问题应该出在/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

youland commented 1 year ago

我把运行的问题截图上来。

下图,显示v2ray运行不起来 1

dns情况 2

透明代理 3

ssh里运行没有报错 4 5 6 7

WordsWorthLess commented 1 year ago

我把运行的问题截图上来。

ssh里运行没有报错 ![4](https://user-images.githubusercontent.com/3339858/229262008-4b72cdfa-9322-4dec-9581-

仅选择了gfwlist模式是不够的 ,gfwlist模式工作的具体过程是:

  1. 下载gfwlist.txt
  2. base64解密gfwlist.txt 并获取域名
  3. 用解密得到的域名生成dnsmasq配置文件,并保存到/tmp/dnsmasq.d/v2ray
  4. 重启dnsmasq,(dnsmasq启动过程会自动读取/tmp/dnsmasq.d/目录下的所有配置文件)
  5. 路由器下的客户端设置DNS服务器为路由器,DNS请求会发往dnsmasq
  6. dnsmasq向上游DNS服务器发出DNS请求,获取解析到的域名ip(V2RAY会挟持dnsmasq发出的DNS请求,防止DNS污染)
  7. dnsmasq会根据配置文件,如果请求的域名命中了/tmp/dnsmasq.d/v2ray的域名,会根据配置,将解析到的ip地址添加到 对应的IPSET或者nftables的元素组 v2ray_dst_proxy_v4(需要v2ray代理的IP集)
  8. iptables/ nft会将v2ray_dst_proxy_v4里面的IP的流量转发到V2RAY,实现代理gfwlist模式

要注意的是:

  1. 要实现gfwlist模式,就要代理DNS请求,局域网内的DNS请求发往路由器ip, udp 53端口的流量 所以,要么勾选转发UDP,要么勾选转发DNS
  2. 因为挟持局域网所有DNS请求会导致所有DNS请求跳过dnsmasq,全部发往V2RAY处理,gfwlist模式会失效,所以 我把插件修改为仅挟持路由器本机的DNS请求,其它客户端(手机,电脑等)需要手工或者通过DHCP配置DNS服务器 为路由器IP地址 (因为对于dnsmasq来说,根本就没人让他解析域名,它一直就没执行过任何工作,无法根据域名将ip添加到v2ray_dst_proxy_v4 代理IP集合)
  3. 正如上面第6步所说的,仅仅是把DNS请求发送到V2RAY而已,具体DNS请求在V2RAY内部是如何处理的,还得根据V2RAY 内置的路由决定(涉及到DNS模块的配置,以及路由模块的配置)
  4. 也正如上面第8步所说,gfwlist模式仅仅是把指定ip的流量转发到V2RAY,至于V2RAY内部如何处理,也得根据V2RAY路由模块 来决定
jerry-ch-issue commented 1 year ago

我的理解不太一样,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模式工作的具体过程是:

  1. 下载gfwlist.txt
  2. base64解密gfwlist.txt 并获取域名
  3. 用解密得到的域名生成dnsmasq配置文件,并保存到/tmp/dnsmasq.d/v2ray
  4. 重启dnsmasq,(dnsmasq启动过程会自动读取/tmp/dnsmasq.d/目录下的所有配置文件)
  5. 路由器下的客户端设置DNS服务器为路由器,DNS请求会发往dnsmasq
  6. dnsmasq向上游DNS服务器发出DNS请求,获取解析到的域名ip(V2RAY会挟持dnsmasq发出的DNS请求,防止DNS污染)
  7. dnsmasq会根据配置文件,如果请求的域名命中了/tmp/dnsmasq.d/v2ray的域名,会根据配置,将解析到的ip地址添加到 对应的IPSET或者nftables的元素组 v2ray_dst_proxy_v4(需要v2ray代理的IP集)
  8. iptables/ nft会将v2ray_dst_proxy_v4里面的IP的流量转发到V2RAY,实现代理gfwlist模式

要注意的是:

  1. 要实现gfwlist模式,就要代理DNS请求,局域网内的DNS请求发往路由器ip, udp 53端口的流量 所以,要么勾选转发UDP,要么勾选转发DNS
  2. 因为挟持局域网所有DNS请求会导致所有DNS请求跳过dnsmasq,全部发往V2RAY处理,gfwlist模式会失效,所以 我把插件修改为仅挟持路由器本机的DNS请求,其它客户端(手机,电脑等)需要手工或者通过DHCP配置DNS服务器 为路由器IP地址 (因为对于dnsmasq来说,根本就没人让他解析域名,它一直就没执行过任何工作,无法根据域名将ip添加到v2ray_dst_proxy_v4 代理IP集合)
  3. 正如上面第6步所说的,仅仅是把DNS请求发送到V2RAY而已,具体DNS请求在V2RAY内部是如何处理的,还得根据V2RAY 内置的路由决定(涉及到DNS模块的配置,以及路由模块的配置)
  4. 也正如上面第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: @.***>

WordsWorthLess commented 1 year ago

我的理解不太一样,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服务器,理论上可以提供更好的解析结果

youland commented 1 year ago

@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

jerry-ch-issue commented 1 year ago

我的理解不太一样,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 commented 1 year ago

@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 transparent-proxy

脚本生成的dnsmasq规则文件: 能生成正确格式的规则 dnsmasq v2ray 检查nftables的代理ip集:能看到gfwlist的域名解析得到的IP被添加到代理ip集内 nft-sets 局域网内的PC访问youtube: 能正常访问youtube

curl-youtube

WordsWorthLess commented 1 year ago

我的理解不太一样,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 commented 1 year ago

@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

youland commented 1 year ago

@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上面使用。

youland commented 1 year ago

旧版的,我一直用这个方法:https://www.youtube.com/watch?v=cUo02fhXyHs

刚才在openwrt 22.03.3里测试一下,还是不行。 web里面v2ray v5.3能运行起来,用的透明代理,一切都是默认。出站用的是vless+ws和vless+tls两种,都不通。

WordsWorthLess commented 1 year ago

旧版的,我一直用这个方法: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 网页管理界面的状态>系统日志里面可以看到

youland commented 1 year ago

怎么弄都不通。。。。。

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.
WordsWorthLess commented 1 year ago
Tue Apr  4 11:20:11 2023 daemon.info v2ray: Routing disabled: main_routing

关闭了V2RAY的路由功能,那么v2ray的配置文件第一个outbound是proxy吗? 如果仅使用V2RAY代理GFWLIST,不配置V2RAY的路由,那么第一个outbound就应该是可用的代理出站

dalton-chiou commented 1 year ago
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"
    }
]

}

youland commented 1 year ago

我觉得重点在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"
        }
    ]
}
youland commented 1 year ago

把我现在用的v2ray v4.5的配置贴上来,openwrt 21.02.5,用的旧的,还是iptables的。 1 2 3 4 5 6 7 8 9

WordsWorthLess commented 1 year ago

把我现在用的v2ray v4.5的配置贴上来,openwrt 21.02.5,用的旧的,还是iptables的。 1 2 3 4 5 6 7 8 9

可是我重现不了你的问题,我拿N1刷了个新的openwrt,无论主路由还是旁路由都能科学上网

WordsWorthLess commented 1 year ago

@youland 我按照你配置方法试了一下,没有问题啊 旁路网关:https://www.youtube.com/watch?v=Vvb01SvygKM 主路由:https://www.youtube.com/watch?v=cADM_uyj3xg

youland commented 1 year ago

@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穿墙难度还是有的。

感谢你们这些开发者!!

shunjiankongbai-cn commented 1 year ago

@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国内国外访问应该都是正常的。内网设备不做任何配置均可自动穿墙。

WordsWorthLess commented 1 year ago

@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的规则,这样的话工程量就有点大了.
jerry-ch-issue commented 1 year ago

先说句题外话,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 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: @.***>

WordsWorthLess commented 1 year ago

可能我没表达清楚,是不支持局域网客户端IPv6流量的代理,但是可以用IPv6的节点,其实我现在的VPS都是IPv6的,因为我的运营商会把IPv4的443端口墙掉,但是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流量的,因为网关自行无法配置,都是运营商下发的,解决方法: 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: @.>

jerry-ch-issue commented 1 year ago

感谢指点,我还没试过在网关的位置设置 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流量的,因为网关自行无法配置,都是运营商下发的,解决方法:

  1. 改用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: @.***>

jerry-ch-issue commented 1 year ago

刚看了一下,之前记错了,此项目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流量的,因为网关自行无法配置,都是运营商下发的,解决方法:

  1. 改用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: @.***>