V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
isAK47
V2EX  ›  路由器

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

  •  1
     
  •   isAK47 · 147 天前 · 1031 次点击
    这是一个创建于 147 天前的主题,其中的信息可能已经有所发展或是发生改变。

    基本环境:

    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
    	}
    }
    
    第 1 条附言  ·  146 天前

    国内网站访问很慢的问题已经解决!

    新问题:

    主路由设置192.168.1.2透明网关后,局域网设备映射的端口外网无法访问,内网访问正常

    测试如下

    第一种情况 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 这个网关,局域网设备所有映射端口都失效

    8 条回复    2023-11-28 16:40:41 +08:00
    fish3125
        1
    fish3125  
       147 天前
    如果用的时候默认配置模板,这种情况可能是因为 dns
    isAK47
        2
    isAK47  
    OP
       147 天前
    @fish3125 和这里面的是一样的( https://xtls.github.io/document/level-2/tproxy.html ),只是服务器改了下,我也试着变换 dns 模式,结果还是一样
    fish3125
        3
    fish3125  
       147 天前
    会不会是因为路由段里少了
    ```
    {
    "type": "field",
    "ip": [
    "223.5.5.5",
    "119.29.29.29"
    ],
    "outboundTag": "direct"
    },
    ```
    导致 dns 也被代理的,返回的 ip 并不是最快的 cdn
    SenLief
        4
    SenLief  
       147 天前 via iPhone
    你可以试下用 ip 打开的速度正常不
    isAK47
        5
    isAK47  
    OP
       146 天前
    @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
        6
    SenLief  
       146 天前 via iPhone
    不能用 ssh ,你应该先关闭代理试下能不能。
    isAK47
        7
    isAK47  
    OP
       146 天前
    @SenLief 关闭代理后主路由的网关要恢复它自身的,不然局域网都上不了网。另外开启透明代理和主路由换网关后,不仅 192.168.88.2 不能外网访问,局域网内其它设备已有的端口映射也都失效了
    isAK47
        8
    isAK47  
    OP
       146 天前
    @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 这个网关,局域网设备所有映射端口都失效
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1960 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 16:17 · PVG 00:17 · LAX 09:17 · JFK 12:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.