sing-box是一款现代化的代理工具,支持多种代理协议(如Shadowsocks、VMess、Trojan、HTTP(S) 等)。内置流量转发和复杂规则匹配功能。提供插件化设计,可扩展功能(如DNS、路由等)。
官方版本在freebsd平台上tun功能不可用。近期 Vincent-Loeng 大佬对sing-box代码进行了更新,让freebsd平台的sing-box有了tun功能。现在只需sing-box一个软件就可以在OPNsense上实现透明代理。
下面介绍在OPNsense上配置sing-box透明代理的方法。
前提条件
- 测试有效的sing-box配置文件
- 防火墙基础网络连通性正常
- 已启用 SSH 并完成系统备份
安装方法
为简化安装过程,使用一键脚本进行安装,可以轻松完成透明代理搭建过程。脚本将执行以下操作:
- 添加系统菜单。
- 添加分流规则。
- 添加系统服务。
- 添加订阅功能。
系统重置或升级时插件功将继续保留。
访问sing-box for OPNsense项目,下载安装包并解压缩,使用finalShell软件将文件上传至OPNsense的/root目录,进入安装目录,运行命令安装:
sh install.sh
安装过程如下图所示:
代理配置
1.修改配置
导航到VPN>Proxy Suite>Sing-Box,修改sing-box出站( outbounds到route部分) 内容并保存。点击启动按钮,根据日志信息排查配置错误。
2.添加接口
转到接口>分配,将tun_3000虚拟网卡添加为接口并启用,无需输入IPv4地址和网关。
3.分流规则
sing-box的配置文件入站”auto_route”选项设为true,开启自动路由,无需再通过防火墙规则设置分流。如下图所示:
"inbounds": [
{
"mtu": 9000,
"type": "tun",
"tag": "tun-in",
"auto_route": true,
"strict_route": true,
"interface_name": "tun_3000",
"address": ["172.19.0.0/30"],
"endpoint_independent_nat": false,
"stack": "system" //system > mixed > gvisor
}
4.防火墙规则
tun接口添加一条规则,允许tun子网互相访问。
5.DNS设置
在系统>设置>常规添加两个DoT DNS,一个国内一个国外。
转到服务>Unbound DNS>DoT,选中启用DoT选项并应用。
6.检查测试
设置完成,在客户端检查是否能正常进行透明代理,访问 ip111.cn,查看分流是否正常。
访问ip.skk.moe,检查是否可以正常访问国外网站。
7.更新订阅
订阅功能支持将clash订阅转为sing-box配置。通过将提取的节点信息写入配置模板,然后替换现有配置,并重启启动sing-box。配置模板存放路径:/usr/local/etc/sing-box/sub/template.json,可以根据需要进行修改。
一键安装脚本在系统>设置>任务添加了订阅更新任务,可以根据需要修改订阅更新频率。
8.仪表盘
sing-box提供了对clash api的支持,默认配置文件开启了clash api功能,可以访问http://lan_ip:9090/ui来登录仪表盘并查看代理信息。
注意事项
- 卸载sing-box,请运行sh uninstall.sh。
- 如果分流不正常或无法正常访问,请通过sing-box运行日志进行排查。
- 默认配置已针透明代理进行了优化,安装后只需修改sing-box配置的outbounds部分即可。
- 教程配置方法仅限安装文件的sing-box配置,如果配置文件有差异(dns、tun),配置可能稍有不同。









