熟悉 xray 的朋友帮忙看下,局域网内使用 armbian 搭建透明富强后出现很棘手的问题

363 天前
 isAK47

基本环境:

1 、主路由是 mikrotik RB450Gx4 (系统 7.12 ),使用一年多非常稳定,固定 IP:192.168.88.1

2 、透明富强安装在 Armbian 系统,固定 IP:192.168.88.2

参考/使用的配置:

https://xtls.github.io/document/level-2/tproxy.html

出现的问题:

1 、虽然整个局域网都可以无感富强,速度正常,但是国内网站打开奇慢,比如百度要七八秒才能显示出来,之前都是秒开,有些站点更是不能打开。

2 、通过分析发现这些国内站确确实实没有经过梯子,一些站点显示的登录记录也是路由器外网的正常 IP

3 、网上推荐的让国内、国外流量都走 192.168.88.2 网关可以解决国内慢的情况(见下面代码),但是测试后还是一样

table ip xray {
        ......
        ......
        ......
	chain postrouting {
		type nat hook postrouting priority srcnat; policy accept;
		masquerade
	}
}
1455 次点击
所在节点    路由器
8 条回复
fish3125
363 天前
如果用的时候默认配置模板,这种情况可能是因为 dns
isAK47
363 天前
@fish3125 和这里面的是一样的( https://xtls.github.io/document/level-2/tproxy.html ),只是服务器改了下,我也试着变换 dns 模式,结果还是一样
fish3125
363 天前
会不会是因为路由段里少了
```
{
"type": "field",
"ip": [
"223.5.5.5",
"119.29.29.29"
],
"outboundTag": "direct"
},
```
导致 dns 也被代理的,返回的 ip 并不是最快的 cdn
SenLief
363 天前
你可以试下用 ip 打开的速度正常不
isAK47
362 天前
@fish3125
@SenLief
感谢!最后重刷了 Armbian 系统,全新部署后就莫名其妙的正常了,估计是之前同时使用了 nftables 、iptables 导致的。

不过目前有一个新问题,未安装透明富强之前 192.168.88.2 内外网都可以使用 ssh ,现在只能在内网使用,可能是 nftbales 还需要修改配置,不太懂这个。

```
#!/usr/sbin/nft -f

flush ruleset

define RESERVED_IP = {
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,
192.0.0.0/24,
224.0.0.0/4,
240.0.0.0/4,
255.255.255.255/32
}

table ip xray {
chain prerouting {
type filter hook prerouting priority mangle; policy accept;
ip daddr $RESERVED_IP return
ip daddr 192.168.0.0/16 tcp dport != 53 return
ip daddr 192.168.0.0/16 udp dport != 53 return
ip protocol tcp tproxy to 127.0.0.1:12345 meta mark set 1
ip protocol udp tproxy to 127.0.0.1:12345 meta mark set 1
}
chain output {
type route hook output priority mangle; policy accept;
ip daddr $RESERVED_IP return
ip daddr 192.168.0.0/16 tcp dport != 53 return
ip daddr 192.168.0.0/16 udp dport != 53 return
meta mark 2 return
ip protocol tcp meta mark set 1
ip protocol udp meta mark set 1
}
}
```
SenLief
362 天前
不能用 ssh ,你应该先关闭代理试下能不能。
isAK47
362 天前
@SenLief 关闭代理后主路由的网关要恢复它自身的,不然局域网都上不了网。另外开启透明代理和主路由换网关后,不仅 192.168.88.2 不能外网访问,局域网内其它设备已有的端口映射也都失效了
isAK47
362 天前
@SenLief

重新测试了下
第一种情况 22 端口外网连接成功:service start xray & systemctl stop nftables.service
第二种情况 22 端口外网连接失败:service start xray & systemctl start nftables.service
第三种情况 22 端口外网连接失败:service stop xray & systemctl start nftables.service
第四种情况 22 端口外网连接成功:service stop xray & systemctl stop nftables.service

所以基本确定是 nftables 配置的问题,只要开启并使用 192.168.88.2 这个网关,局域网设备所有映射端口都失效

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/995542

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX