Android
Android Studio
Android Studio-设置中文
Andronix App
Android 部署 Linux(需Root)
Android 其他使用
安卓手机投屏到电脑
移动端使用油猴
通用 Root
共享科学上网(需Root)-路由模式
TextBee(SMS短信网关)
LSPosed(LSP框架)
Android 救砖
Redmi Note4
adb/fastboot 模式常用命令
修复基带
黑鲨2Pro
去除APP广告
Termux
Termux-WireGuard(WARP代理快速使用)
Termux-旁路网关
Termux-部署 Linux
指纹校准
Scrcpy(投屏)
代码指令
广告跳过
禁用分区验证
联发科处理器临时root(2020年3月前)
本文档使用 MrDoc 发布
-
+
首页
Termux-旁路网关
安卓手机当旁路网关,分享本机的魔法给局域网下其他设备 可以解决需要安装对应软件、有设备限制的,只要本机可用,那么其他设备也一定可以 **注意事项:** --- - `必须 ROOT 才可使用`,未 root 的无法使用 ip,iptables 等命令 - 必须先开启VPN再执行脚本,不同VPN软件切换需关闭前一个再开启新的 - 每次切换网络设置都会将部分设置重置,故可能需要重新运行脚本 - 要长时间使用,需要给省点相关的全部关闭(软件和系统的都需要),否则会有影响 - 推荐配置成静态IP,这样就不用每次都要看手机IP了 **如何使用:** --- - 指定设备使用:在需要使用的设备上配置网络的网关为该手机的IP - 全局设备使用:在路由器上配置DHCP中分配的网关为该手机IP(注意,手机掉线会导致所有设备无法联网) ## 直接拉取脚本 ```bash wget http://nas.918178.xyz:3000/WJ/Script/raw/branch/master/proxy_zwzw.sh && chmod +x proxy_zwzw.sh # 拉取并赋予执行权限 su # 切换至root,弹窗请求ROOT权限要允许 ./proxy_zwzw.sh # 执行脚本(注意需要先开启VPN再执行,否则会提示无接口) nohup ./proxy_zwzw.sh & # 后台执行 ``` ## 手动创建脚本 ```bash nano proxy.sh # 创建脚本 # 填写下面的脚本 chmod +x proxy.sh # 赋予执行权限 su # 切换至root,弹窗请求ROOT权限要允许 ./proxy.sh # 执行脚本(注意需要先开启VPN再执行,否则会提示无接口) nohup ./proxy.sh & # 后台执行 ``` `proxy.sh` 脚本 ```bash #!/system/bin/sh tun='tun0' # 虚拟接口名称(一般VPN默认会创建为tun0) dev='wlan0' # 物理接口名称(常见为wlan0/eth0) interval=3 # 检测网络状态间隔(秒) pref=18000 # 路由策略优先级 # VPN断开后会提示,再次连接上无需再次执行该脚本直接可用(前提是虚拟接口没变) # 开启IP转发功能 sysctl -w net.ipv4.ip_forward=1 # 清除filter表转发链规则 iptables -F FORWARD # 添加NAT转换,部分第三方VPN需要此设置否则无法上网,若要关闭请注释掉 iptables -t nat -A POSTROUTING -o $tun -j MASQUERADE # 添加路由策略 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" while true ;do if [[ $(ip rule) != *$contain* ]]; then if [[ $(ip ad|grep 'state UP') != *$dev* ]]; then echo -e "[$(date "+%H:%M:%S")] 设备已丢失." else ip rule add from all iif $dev table $tun pref $(expr $pref - 1) echo -e "[$(date "+%H:%M:%S")] 网络已更改,重置路由策略." fi fi sleep $interval done ``` ## 常见问题检查 ```bash cat /proc/sys/net/ipv4/ip_forward # 检查IP转发功能是否启用 iptables -nvL -t (filter|nat|mangle) # 检查iptables是否允许数据包通过 ip rule # 检查路由策略 ip a # 检查网卡接口 ``` **相关教程:** [闲置安卓手机当旁路网关,无需购买软路由即可让家里所有设备实现科学上网](https://bulianglin.com/archives/android-gateway.html)
造物者W
2023年12月12日 12:51
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码