找到
1
篇与
软路由
相关的结果
-
闲置安卓手机变身“旁路网关”:零成本实现全屋科学上网 摘要:家里有闲置的安卓手机?千万别扔!本教程将教你如何利用一台 Root 后的安卓手机,通过几行脚本将其变成“旁路网关”(软路由)。无需购买 R2S/R4S,无需复杂的 OpenWrt 配置,配合你喜欢的 VPN 客户端,即可零成本实现全屋设备科学上网。前言:为什么要用手机当网关? 相信大部分极客或技术爱好者的抽屉里,都躺着一两部不再使用的旧安卓手机。与其让它们吃灰,不如让它们发挥余热。 相比于购买专业的软路由设备,手机做网关有以下优势: 零成本:不需要额外购买硬件。 配置低门槛:不需要学习复杂的 Linux 路由表或 OpenWrt 插件,只要会用安卓 APP 即可。 生态丰富:安卓拥有最全的 VPN 客户端支持(Clash, V2RayNG, 各种官方加速器),可以轻松突破部分服务的“设备数量限制”。 性能足够:即便是几年前的骁龙处理器,处理几百兆的 AES 加密流量也是绰绰有余的。 准备工作 在开始之前,请确保你拥有以下条件: 一台安卓手机:必须已经 ROOT(这是核心前提,未 Root 无法修改底层网络规则)。 连接方式:WiFi 环境,或者准备一个 Type-C 转 RJ45 网口扩展坞(强烈推荐有线连接,更稳定)。 软件环境:手机已安装好 VPN 软件并能正常连通外网。 第一步:环境配置(ADB 或 Termux) 我们需要进入手机的 Linux 底层命令行来执行脚本。有两种方式: 方式 A:使用电脑 ADB 连接(推荐) 这种方式方便复制粘贴脚本,操作更精准。 下载 ADB 工具包: Windows 版本下载 Mac 版本下载 开启手机调试: 进入「设置」->「开发者选项」,开启 “USB 调试”。 注:若找不到开发者选项,请在「关于手机」中连续点击「版本号」7次。 连接测试: 手机连接电脑,解压 ADB 文件夹,在当前目录打开 CMD 或终端。 输入 adb devices,出现设备号即成功。 输入 adb shell 进入手机终端。 输入 su 获取 Root 权限(此时符号应变为 #)。 方式 B:手机端使用 Termux 如果你不想用电脑,可以直接在手机上操作。 Termux 下载地址 (GitHub) 打开 App 输入 su 并允许 Root 授权即可。 第二步:固定手机 IP 地址 作为局域网的网关服务器,手机的 IP 必须是固定的,不能由路由器随机分配。 进入手机 WiFi 设置。 找到当前连接的网络,将 IP 设置 从 DHCP 改为 静态 (Static)。 填写信息(以主路由 IP 为 192.168.0.1 为例): IP 地址:192.168.0.123 (找一个没人用的 IP) 网关:192.168.0.1 DNS:8.8.8.8 或 1.1.1.1 第三步:部署转发脚本(核心) 这是本教程的灵魂。安卓系统默认不会转发别人的流量,我们需要用脚本开启 IP 转发,并配置 iptables 规则。 创建脚本存放目录: mkdir -p /data/proxy cd /data/proxy 创建并编辑脚本: 你可以使用 vi proxy.sh 创建文件,或者在电脑上写好后通过 adb push 传入手机。脚本内容如下: #!/system/bin/sh # === 配置区域 (根据实际情况修改) === tun='tun0' # VPN开启后的虚拟接口名称,通常是 tun0 dev='wlan0' # 物理接口名称:WiFi通常是 wlan0,插网线通常是 eth0 interval=3 # 网络状态检测间隔(秒) pref=18000 # 路由策略优先级 # ================================= # 1. 开启系统 IP 转发功能 sysctl -w net.ipv4.ip_forward=1 # 2. 清除 filter 表转发链规则,防止防火墙阻断内网流量 iptables -F FORWARD # 3. 添加 NAT 转换 # 这一步至关重要,让流量经由 VPN 接口出去 iptables -t nat -A POSTROUTING -o $tun -j MASQUERADE # 4. 添加路由策略 # 将来自物理接口(dev)的流量查表转发给虚拟接口(tun) ip rule add from all table main pref $pref ip rule add from all iif $dev table $tun pref $(expr $pref - 1) contain="from all iif $dev lookup $tun" # 5. 守护进程 # 循环监测,防止 VPN 重连或网络波动导致策略失效 while true ;do if [[ $(ip rule) != *$contain* ]]; then if [[ $(ip ad|grep 'state UP') != *$dev* ]]; then echo -e "[$(date "+%H:%M:%S")] dev link down." else # 重新添加策略 ip rule add from all iif $dev table $tun pref $(expr $pref - 1) echo -e "[$(date "+%H:%M:%S")] rules restored." fi fi sleep $interval done运行脚本: 赋予执行权限并让其在后台运行: chmod +x proxy.sh nohup ./proxy.sh &注意:如果脚本报错,请检查 dev 变量。在终端输入 ip a 查看你的网卡名称,WiFi 通常是 wlan0,插网线通常是 eth0。第四步:客户端接管(起飞!) 现在手机已经准备就绪,我们需要让家里的其他设备“走”这条路。 方案 A:全屋自动翻墙(修改主路由) 适用场景:适合希望家里所有设备(电视、手机、iPad、智能家居)自动科学上网的用户。 登录主路由器后台。 找到 DHCP 服务器 设置。 将 默认网关 (Gateway) 改为 手机的 IP(如 192.168.0.123)。 重启路由器,或者让设备断开重连 WiFi。 方案 B:指定设备翻墙(手动设置) 适用场景:适合只想让主力 PC 或 PS5/Switch 游戏机科学上网,不影响家人使用。 打开电脑/游戏机的网络设置。 手动填入 IP 地址(保持同网段)。 网关 (Router) 一栏填写 手机的 IP。 DNS 建议填 1.1.1.1 或 8.8.8.8 防止 DNS 污染。 进阶玩法:使用网线连接(强烈推荐) 虽然 WiFi 也能用,但无线是半双工的,且容易受干扰,作为网关使用时 Ping 值 和 带宽 都会受限(实测 WiFi 只能跑 20-30Mbps)。 推荐方案: 购买一个 Type-C 转千兆网口扩展坞(最好带 PD 充电,保证手机 24 小时不断电)。 操作调整: 插上网线后,手机通常会识别为 eth0 接口。 使用 ip a 确认网卡名称。 修改脚本中的 dev='wlan0' 为 dev='eth0'。 杀掉旧进程并重新运行脚本。 效果对比: 使用有线连接后,跑满 500M 宽带 毫无压力,延迟极低,稳定性堪比几百元的 R2S 软路由。 常见问题与避坑 断网问题: 现象:如果在切换 VPN 节点后断网,是因为 VPN App 重建了虚拟网卡导致路由表失效。 解决方法:断开 VPN -> 等待几秒 -> 重新连接 -> 脚本会自动修复规则(因为脚本里有守护进程)。 DNS 污染: 现象:如果能上 QQ 但打不开 Google,说明 DNS 还是国内的。 解决方法:请务必将上网设备的 DNS 手动修改为 8.8.8.8 或 1.1.1.1。 手机重启: 注意:安卓重启后,所有临时网络规则都会消失。你需要重新连接 ADB 或 Termux 运行一次脚本。 进阶:可以使用 Magisk 模块来实现开机自启(需一定动手能力)。 省电策略: 操作:请务必关闭手机的“省电模式”,并在后台管理中锁定 Termux 或 VPN 软件,允许其“无限制后台运行”,防止系统杀后台导致断网。 总结:通过这种方式,我们不仅让旧手机变废为宝,还获得了一个带屏幕、自带 UPS 电源(电池)、配置强悍的“智能软路由”。快去试试吧!版权声明:本文由 赛博61区 原创发布,转载请注明出处。