发布于
1198 字 · 6 分钟

局域网代理共享方案

AI 摘要

作者
  • avatar
    姓名
    Corner430
    社交账号

本文介绍多种在局域网内共享科学上网代理的方案,让家中所有设备无需单独安装代理工具即可实现翻墙。根据现有设备和需求,你可以选择最适合的方案。

1 网络拓扑概述

局域网代理共享的核心思路是:将一台设备配置为旁路网关,其他设备将网关指向它,所有流量经过该设备的代理工具后再转发出去。

网络拓扑图

常见方案对比:

方案设备要求难度稳定性
Mac/Linux TUN 模式一台 Mac 或 Linux 电脑
安卓手机旁路由Root 后的安卓手机
iKuai 软路由工控机或多网口设备
OpenWrt 软路由参见 OpenWrt 配置指南

2 Mac/Linux 作为网关(TUN 模式)

利用 Mac 或 Linux 电脑上的 Clash 等代理工具的 TUN 模式,开启 IP 转发,让局域网内其他设备通过它上网。

2.1 开启 IP 转发

Linux:

sysctl -w net.ipv4.ip_forward=1

Mac:

sysctl -w net.inet.ip.forwarding=1

Mac 系统也可以直接使用 clashX Pro 的增强模式实现。

2.2 安装 Service Mode

在 Clash 中安装 Service Mode,安装完成后 reload app:

安装Service Mode

此时 Service Mode 旁边的地球图标应该从灰色变成绿色,表示服务已正常运行。

2.3 开启 TUN Mode

在 Clash 设置中打开 TUN Mode:

开启TUN Mode

2.4 配置其他设备

将局域网内其他设备的网关设置为本机 IP 即可。

注意:本机(作为网关的电脑)自身的网关不要修改,保持指向路由器。

2.5 持久化 IP 转发

上述 sysctl 命令重启后会失效,可通过修改配置文件实现持久化:

sudo vim /etc/sysctl.conf

在文件末尾添加:

net.ipv4.ip_forward=1

使修改立即生效:

sudo sysctl -p

3 安卓手机充当旁路网关

利用一台闲置的已 Root 安卓手机,通过 Termux 配置 IP 转发和路由策略,充当旁路网关。这种方案可以突破第三方 VPN 客户端的设备数量限制。

3.1 前置条件

  • 手机已 Root
  • 下载安装 Termux
  • 将手机设置为静态 IP(在 Wi-Fi 设置中手动指定 IP)

3.2 配置脚本

在 Termux 中切换到 root 用户并创建脚本:

su
cd /data/local
mkdir proxy
cd proxy
vim proxy.sh

脚本内容如下:

#!/system/bin/sh

tun='tun0' #虚拟接口名称
dev='wlan0' #物理接口名称,eth0、wlan0
interval=3 #检测网络状态间隔(秒)
pref=18000 #路由策略优先级

# 开启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")]dev has been lost."
            else
                ip rule add from all iif $dev table $tun pref $(expr $pref - 1)
                echo -e "[$(date "+%H:%M:%S")]network changed, reset the routing policy."
            fi
    fi
    sleep $interval
done

3.3 运行脚本

chmod +x proxy.sh
nohup ./proxy.sh &

3.4 其他设备配置

将局域网内其他设备的网关设置为手机的静态 IP 地址即可。

脚本中包含了网络状态监测循环,当网络发生变化时会自动重新设置路由策略。


4 iKuai 软路由方案

iKuai(爱快)是一款国产企业级软路由系统,管理界面简洁优雅,功能丰富。

4.1 iKuai 优势

  • 网络管理便捷:Web 界面友好,配置直观
  • 虚拟机与 Docker 支持:可以在软路由上运行 NAS、下载机、媒体服务器等更多服务
  • 内置穿透功能:自带内网穿透方式
  • iKuai + lede 组合方案:iKuai 负责主路由功能,lede(OpenWrt)装在虚拟机中负责科学上网

4.2 局限性

iKuai 有一个明显缺陷:LAN-WAN 端口复用不够方便

要使用 iKuai,需要满足以下条件之一:

  • 交换机具有 Web 管理界面
  • 多网口台式机(如工控机)

如果你的设备只有单个网口,建议直接使用 OpenWrt。


5 参考资料

版权声明

除非另有说明,本文内容采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处。