24
2025
03
00:14:09

Sing-box利用fakeip自动IP分流无感知上网

方法一:网络代理自动发现协议

网络代理自动发现协议Web Proxy Auto-Discovery ProtocolWPAD)是一种客户端使用DHCP和/或DNS发现方法来定位一个配置文件URL的方法。在检测和下载配置文件后,它可以执行配置文件以测定特定URL应使用的代理。

缺点:

  • 很多系统默认未开启此功能,甚至不支持此功能

  • 成功开启系统自动代理后,依然有很多APP应用不支持

  • 不支持ip_cidr

方法二:软路由模式

在现网中添加一台软路由,用软路由代替用户网关或者串联在网关之上再或者旁路模式,由软路由代理所有用户流量,进而转发分流。

缺点:

  • 硬件性能要求高,软件版本升级频繁

  • 兼容稳定性差,不易实现冗余灾备方案

  • 多vlan跨网段支持较差,IPv4/v6双栈支持较差

方法三:本文重点介绍fakeip旁路实现方案

1):新建Linux(推荐Debian最小化安装)

点击查看详细安装说明


Sing-box利用fakeip自动IP分流无感知上网Sing-box利用fakeip自动IP分流无感知上网Sing-box利用fakeip自动IP分流无感知上网

2):在Debian中搭建sing-box客户端

bash <(curl -fsSL https://sing-box.app/deb-install.sh)

本站使用amd64 Debian12.5和sing-box_1.8.14



配置sing-box主机配置文件(需要国外sing-box服务端即梯子,推荐Trojan协议,用于转发GFW流量)

sudo nano /etc/sing-box/config.json

点击查看完整配置(需要完善sing-box outbound 配置)


启用并运行sing-box

sudo systemctl enable --now sing-box

3):配置DNS缓存服务器(没有条件的可略过此步)

为了实现冗余灾备,本文采用AdGuard Home作用dns冗余缓存服务器

a、安装AdGuard Home

curl -fsSL https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v

屏幕输出内容如下

点击查看

通过访问http://IP:3000访问AdGuardHome后台完成配置(确保AdGuardHome监听所有接口并绑定端口53)。注:如果AdGuard与sing-box部署在一起,可能会导致53端口冲突,此时应修改sing-box的配置文件中inbound字段dns-in接口的port值,另同步修改AdGuard分流脚本中对应sing-box端口。

b、制作AdGuard Home分流规则文件

替换如下代码中的192.168.50.5:53为sing-box主机IP和配置文件中dns-in对应的port值

echo 'quic://dns.alidns.com' > /tmp/default.upstream
curl -s https://gitlab.com/fernvenue/chn-domains-list/-/raw/master/CHN.ALL.agh | sed "/#/d" > "/tmp/chinalist.upstream"
curl -sSL https://lotro.cc/other/gfwlist2adguardhome.sh | sh -s -- -s 192.168.50.5:53
cat "/tmp/default.upstream" "/tmp/chinalist.upstream" "adguardhome_gfwlist.txt" > /opt/AdGuardHome/adguardhome.upstream
sed -i "s|114.114.114.114|https://dns.alidns.com/dns-query|g" /opt/AdGuardHome/adguardhome.upstream
rm /tmp/*.upstream

c、加载AdGuard Home分流规则文件

sudo sed -i "s|upstream_dns_file.*|upstream_dns_file: adguardhome.upstream|g" /opt/AdGuardHome/AdGuardHome.yaml

重启AdGuard Home

sudo systemctl restart AdGuardHome

4):配置静态路由

静态路由的配置是本文的重点,需要在用户网关(路由器)把sing-box配置中fakeip的地址段路由指向sing-box主机,即198.18.0.0/15fc00::/18的下一跳为sing-box主机IP

本文案例中额外添加了电报Telegram的IP段静态路由,假设sing-box的主机IP地址为192.168.50.5feee:5000::5,配置截图如下图所示,企业用户需要确保用户到sing-box主机的全程路由互通。

Sing-box利用fakeip自动IP分流无感知上网

5):使用方法

给用户分配dns地址为AdGuard Home地址,如果没有AdGuard Home缓存服务器可直接把sing-box地址作为DNS分配给用户。

sing-box还配置了proxy代理上网接口,支持http/socks端口为:1080方便特殊应用场景使用。




推荐本站淘宝优惠价购买喜欢的宝贝:

Sing-box利用fakeip自动IP分流无感知上网

本文链接:https://hqyman.cn/post/9606.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: