轻量上网方案:Galaxy 5G Mobile Wi-Fi x GL-iNet MT300N-V2
轻量上网方案:Galaxy 5G Mobile Wi-Fi x GL-iNet MT300N-V2

轻量上网方案:Galaxy 5G Mobile Wi-Fi x GL-iNet MT300N-V2

前期调研

考虑到校园网路水平实在稀烂,上学期末购入了一款三星的便携随身Wi-Fi。机器本身是安卓系统,因此可以比较方便地安装Clash X等软件,并通过HTTP或Socks5代理等方式将其专用网络共享给链接至热点的设备。但是,目前网路上没有成功ROOT的先例,因此并不能使用TUN/TAP的方式直接共享。

如果需要共享代理网路,有以下几种方案:

  • 随身Wi-Fi网络接入+代理
    • 优点:只需要携带一个设备
    • 缺点:必须在连接的设备上手动设置HTTP/Socks5代理,并且某些流量无法代理;随身Wi-Fi需要进行大量的AES计算造成续航降低
  • 随身Wi-Fi网络接入、便携OpenWRT路由器代理
    • 优点:随身Wi-Fi只需要提供网络接入,续航不受影响;速度不受随身Wi-Fi的AES加解密性能影响;无感接入,无需二次设置;可以使用Passwall等插件自定义代理流量
    • 缺点:需要额外的电源接入;需要携带两台设备;中间存在二次转发的性能损失
  • 随身Wi-Fi网络接入+代理、便携OpenWRT路由器透明代理
    • 优点:即时便携式OpenWRT路由器性能较弱也能胜任
    • 缺点:需要额外的电源接入;需要携带两台设备;中间存在二次转发的性能损失;随身Wi-Fi需要进行大量的AES计算造成续航降低;某些流量无法代理

目前手上有一个GL-iNET家的迷你路由器,支持OpenWRT。大一大二期间折腾过一段时间,但由于其性能弱鸡且只支持2.4GHz频段的Wi-Fi遂闲置。本着减少电子垃圾的原则尝试在这个迷你小路由器上进行测试。

(早知道这么多破事儿还是继续用我的x86软路由了hhh🫠

设备参数

Galaxy 5G Mobile Wi-Fi(参数摘自什么值得买

图片摘自该post

频段:支持nsa与sa,B1、B3、B17、B18、B41、B28、B77、B78,实测移动联通可以使用5g sa;WiFi3pro官网未找到详细参数,故不列出

网速:理论下行2.2Gbps,上行183Mbps

带机量:10+1(usb共享)台

重量:203g

系统:搭载安卓11,群友实测5gWiFi下功耗2.5w,续航爆炸国内首部三星5g mifi开箱与参数详解

存储:2.5g+32g,是的,你没看错,是2.5g的运行内存,32g实际可用不到20g

屏幕:1480*720,TFT屏国内首部三星5g mifi开箱与参数详解

电池5000mah

续航:5g下,理论续航1000分钟->16.6小时国内首部三星5g mifi开箱与参数详解 ,实际测试4g下可达24小时

GL-iNET MT300N-V2(参数摘自valorgears

敲可耐484🤪

型號:GL-MT300N-V2

CPU:MTK7628NN 580MHz

Wi-Fi 制式:Wi-Fi 4(N)

速度規格:N300

2.4GHz 速度:300Mbps 国内首部三星5g mifi开箱与参数详解

WAN 介面:1 x 100Mbps

LAN 介面:1 x 100Mbps

USB 介面:1 x USB 2.0

體積:58 x 58 x 15mm

重量:40g国内首部三星5g mifi开箱与参数详解

搭建过程

重置

这个没有什么好说的,主要是因为MT300N-V2性能太弱了,不能同时运行太多插件,并且可用的ROM空间其实很小,因此需要清除以前安装过的一些不必要的功能。

连接网络

可以选择Wi-Fi中继模式或者使用有线热点共享。实测MT300N-V2支持这款三星随身Wi-Fi的有线网络共享,但是我并不喜欢它们黏在一起,因此我试用了无线中继的模式。

连接网络

安装Luci

在更多设置-高级功能中选择安装Luci界面。注意,由于第一次安装需要刷新opkg软件库

安装luci界面

安装redsocks

在软件库中搜索安装redsocks插件。不过,我在网上看到了许多redsocks2的文章,但官方似乎还没有给这款软路由做新版本的适配,但是并不妨碍我们的使用,V1足够使用了。

安装完毕

配置redsocks文件

避坑:V1和V2的配置文件路径是有区别的,一定要多看官方文档🥲要不然时间光花在找文件上面了。

文件路径如下

下面的配置参考了如下两篇文章

/etc/redsocks.conf

由于篇幅限制,下面的配置文件我去掉了全部的注释和未使用参数,主要关注并修改下面几个参数:

  • local_ip:本地监听ip,填写0.0.0.0就好,监听所有端口的流量
  • local_port:本地监听端口,这个是为了配合iptables链路新建一个入口,填写一个没有被占用的端口即可
  • ip:目标服务器的ip
    • 我在Galaxy 5G Mobile Wi-Fi上设置的子网是10.10.10.0/24,网关是10.10.10.1;这个参数项需要根据自己的情况来设置
  • port:填写目标端口
  • type:填写代理类型,支持Socks5和HTTP,如果有特殊需求可以使用Privoxy进行代理转换

其他配置项如果没有特别需求可以不用修改

base {
        log_debug = off;
        log_info = on;
        log = "syslog:local7";
        daemon = on;
        redirector = iptables;
}

redsocks {
        local_ip = 0.0.0.0;
        local_port = 7890;
        ip = 10.10.10.1;
        port = 1088;
        type = socks5;
}

redudp {
        local_ip = 127.0.0.1;
        local_port = 10053;
        ip = 10.0.0.1;
        port = 1080;
        login = username;
        password = pazzw0rd;
        dest_ip = 8.8.8.8;
        dest_port = 53;
        udp_timeout = 30;
        udp_timeout_stream = 180;
}

dnstc {
        local_ip = 127.0.0.1;
        local_port = 5300;
}

/etc/init.d/redsocks

这个是自启动文件,一般不作修改,但是前面自定义了端口的话则需要求改。

#!/bin/sh /etc/rc.common
# Copyright (C) 2007 OpenWrt.org


# check if configuration exists
[ -e "/etc/redsocks.conf" ] || exit 0
START=95

SERVICE_USE_PID=1
SERVICE_WRITE_PID=1
SERVICE_DAEMONIZE=1

start() {
        echo starting redsocks...
        /usr/sbin/redsocks -c /etc/redsocks.conf

        echo loading redsocks firewall rules...
        load_firewall

        echo done.
}

stop() {
        echo stopping redsocks2...
        killall -9 redsocks

        echo flushing redsocks2 firewall rules...
        flush_firewall

        echo done.
}

load_firewall() {
        # create a new chain named REDSOCKS
        iptables -t nat -N REDSOCKS

        # Ignore LANs IP address
        iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN
        iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN
        iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN
        iptables -t nat -A REDSOCKS -d 169.254.0.0/16 -j RETURN
        iptables -t nat -A REDSOCKS -d 172.16.0.0/12 -j RETURN
        iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN
        iptables -t nat -A REDSOCKS -d 224.0.0.0/4 -j RETURN
        iptables -t nat -A REDSOCKS -d 240.0.0.0/4 -j RETURN

        # Anything else should be redirected to redsocks's local port
        iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 7890

        # Apply the rules
        iptables -t nat -I zone_lan_prerouting -j REDSOCKS
}

flush_firewall() {
        iptables -t nat -F REDSOCKS
        sleep 1
        iptables -t nat -D zone_lan_prerouting -j REDSOCKS
        iptables -t nat -X REDSOCKS
}

重启

至此,全部的工作都已经完成,只需要重启测试即可。

测试

基本速率

由于我办的套餐是福建联通的4G家宽,因此只能用3G/4G网络,还得去福建绕一圈才能出口,属实有点儿xx(架不住性价比超高啊😎

直接连接Galaxy 5G Mobile Wi-Fi的速度是这样的

因为测试时使用的是2.4GHz的频段,速度有上限,5GHz下可以轻松150Mbps以上

中继代理速率

其实这个速度只能说够用,看看2K以下的视频还是可以的,因为2.4GHz干扰本来就多,加上小路由器性能本来就差,勉强能用吧。(到时候开学了去学校都不敢想了🫠

总结

本次使用了GL-iNet MT300N-V2迷你路由器解决了无法实现透明代理的问题,在不额外增加物理设备的同时达到了能用的水平。

应当是低性能OpenWRT设备的一个福音,OpenWRT的高自主性可以搭配很多老旧的设备得到再次利用,例如,使用淘汰的手机进行作为代理等等。

仍然存在的问题是,redsocks有一定几率不定时断线,若干分钟后自行恢复。考虑可能是配置的问题亦或是机器性能确实不足,后期会继续探索和更新本篇文章。

Leave a Reply

Your email address will not be published. Required fields are marked *