方法一:网络代理自动发现协议
网络代理自动发现协议(Web Proxy Auto-Discovery Protocol,WPAD)是一种客户端使用DHCP和/或DNS发现方法来定位一个配置文件URL的方法。在检测和下载配置文件后,它可以执行配置文件以测定特定URL应使用的代理。
缺点:
很多系统默认未开启此功能,甚至不支持此功能
成功开启系统自动代理后,依然有很多APP应用不支持
不支持ip_cidr
方法二:软路由模式
在现网中添加一台软路由,用软路由代替用户网关或者串联在网关之上再或者旁路模式,由软路由代理所有用户流量,进而转发分流。
缺点:
硬件性能要求高,软件版本升级频繁
兼容稳定性差,不易实现冗余灾备方案
多vlan跨网段支持较差,IPv4/v6双栈支持较差
方法三:本文重点介绍fakeip旁路实现方案
1):新建Linux(推荐Debian最小化安装)
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/15
和fc00::/18
的下一跳为sing-box主机IP
。
本文案例中额外添加了电报Telegram
的IP段静态路由,假设sing-box的主机IP地址为192.168.50.5
和feee:5000::5
,配置截图如下图所示,企业用户需要确保用户到sing-box主机的全程路由互通。
5):使用方法
给用户分配dns地址为AdGuard Home
地址,如果没有AdGuard Home
缓存服务器可直接把sing-box
地址作为DNS分配给用户。
sing-box
还配置了proxy
代理上网接口,支持http/socks
端口为:1080
方便特殊应用场景使用。
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/9606.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~