找回密码
 立即注册

抖音登录

使用抖音一键登录

QQ登录

只需一步,快速开始

微信登录

只需一步,快速开始

搜索

如何配置 Sing-Box 服务端

[复制链接]
发表于 昨天 21:43 | 显示全部楼层 |阅读模式
            前言购买最低配置,稳定点的机场都需要 80 元以上,我们如果可以自己购买一台vps,并配置给自己一人使用,效果可能会更好点。
参看本文可以获知如何自建 Clash Verge 服务端,本文实验的环境:
  • 操作系统,AlmaLinux 9.6
  • 硬件配置,1C1G,1Gbps 宽带口,3T 流量/月
  • 软件配置,docker 运行,Sing-Box 服务端Clash Verge 客户端,其中的 sing-box 使用 Hysteria2 内核模式(速度优先,需域名与证书)。
  • 域名准备,需要准备一个能解析到外网的域名,本文以 h2.example.com 为例说明。

什么是 Clash Verge 与 Sing-Box?Clash Verge 是一款高效的网络代理客户端,支持多种代理协议,广泛用于科学上网。它基于 Clash,并内置 mihomo 内核,允许用户轻松地配置和管理多个节点。
Sing-Box 是一款功能强大的代理服务端,支持多种协议(如 Hysteria、VLESS 等),并能提供高效的网络性能和稳定性。它使用 Docker 部署,并能支持 多协议、多入站 配置,确保无论是游戏还是流媒体,均能获得最佳体验。

选择 VPS 主机时需要考虑的因素在配置 Clash VergeSing-Box 之前,首先需要选择合适的 VPS 主机。一个优质的 VPS 主机不仅能提供稳定的带宽,还能确保高效的连接和低延迟。以下是选择 VPS 主机时的一些关键因素:
  • 带宽和流量:选择一个具有高带宽的 VPS 服务,尤其是在高并发和大流量场景下尤为重要。确保你的 VPS 能提供稳定的 上行带宽,因为代理服务通常会消耗大量上传带宽。
  • 地理位置:选择距离你的目标用户较近的数据中心位置,这样可以降低网络延迟,提高连接速度。
  • 支持 UDP:在配置 Sing-BoxClash Verge 时,UDP 端口的支持非常关键。确保 VPS 提供的网络环境支持 UDP(尤其是 443/UDP)。
  • 操作系统:大多数 VPS 提供商都支持 Linux 系统,如 UbuntuAlmaLinuxCentOS。这些操作系统适用于运行代理服务器和各种网络工具。
  • 可靠性和 SLA:选择一个具有 高可靠性服务等级协议(SLA)的 VPS 提供商,以确保你的代理服务不会因为 VPS 故障而中断。
准备
1)系统准备# 1. 更新sudo dnf -y update# 2. 安装 Docker (RHEL/CentOS/AlmaLinux 9)sudo dnf -y install dnf-plugins-coresudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.reposudo dnf -y install docker-ce docker-ce-cli containerd.io docker-compose-pluginsudo systemctl enable --now docker# 3. 启用 BBR(重启后生效)echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.confecho "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.confsudo sysctl -p# 4. 放行 80(临时给证书用)、443/tcp+udp(Hy2)选做,如果已经关闭了系统 SELinux,可以不做。sudo firewall-cmd --permanent --add-service=httpsudo firewall-cmd --permanent --add-port=443/tcpsudo firewall-cmd --permanent --add-port=443/udpsudo firewall-cmd --reload2) 申请 TLS 证书(acme.sh)确保 h2.example.com 已正确解析到这台服务器公网 IP,需要修改这个域名的 dns 解析(读者自行操作)。
# 安装 acme.shcurl https://get.acme.sh | sh -s email=my@example.comsource ~/.bashrc   # 或重开一个 shell# 申请 ECDSA 证书(standalone 模式,默认用 80 端口)~/.acme.sh/acme.sh --set-default-ca --server letsencrypt~/.acme.sh/acme.sh --issue -d h2.example.com --standalone -k ec-256# 证书路径(注意 _ecc 后缀)# 证书:   ~/.acme.sh/h2.example.com_ecc/fullchain.cer# 私钥:   ~/.acme.sh/h2.example.com_ecc/h2.example.com.key
  • 后续 Docker 会把这两个文件以只读方式挂进去使用。
  • 证书到期 acme.sh 会自动续期(使用 standalone,会临时占用 80 端口)。如果服务器运行了 nginx,需要临时关闭 nginx,等证书申请完毕后,再启动 nginx

配置 Sing-Box 服务端与 Clash Verge 客户端在选择好 VPS 后,接下来是 Sing-Box 服务端和 Clash Verge 客户端的配置过程。

配置 Sing-Box 服务端1.安装 Docker:
首先,确保你的 VPS 上已经安装了 Docker。前面的准备阶段已经安装了 docker。
2.配置 Sing-Box:
/data/sb-hy2 目录下创建 docker-compose.yml 和 config.json 配置文件。确保配置正确,特别是端口和证书路径。
version: "3.8"services:  singbox:    image: ghcr.io/sagernet/sing-box:latest    container_name: singbox-hy2    restart: unless-stopped    network_mode: host    command: ["run", "-c", "/etc/sing-box/config.json"]    volumes:      - /data/sb-hy2/config.json:/etc/sing-box/config.json:ro,Z      - /root/.acme.sh/h2.example.com_ecc/fullchain.cer:/etc/sing-box/fullchain.cer:ro,Z      - /root/.acme.sh/h2.example.com_ecc/h2.example.com.key:/etc/sing-box/privkey.key:ro,Z3.配置 Sing-Box 服务端的 config.json 在部署 Sing-Box 时,config.json 是核心配置文件,它定义了代理服务端的监听地址、端口、认证信息、证书路径等。 生成强力密码:openssl rand -base64 24 以下是一个典型的 Sing-Box 配置文件,供你参考:
{  "log": {    "level": "info"  },  "inbounds": [    {      "type": "hysteria2",      "listen": "0.0.0.0",      "listen_port": 443,      "users": [        { "name": "user001", "password": "你的密码" }      ],      "tls": {        "enabled": true,        "certificate_path": "/etc/sing-box/fullchain.cer",        "key_path": "/etc/sing-box/privkey.key"      }    }  ],  "outbounds": [    {      "type": "direct"    }  ]}4.启动 Sing-Box
使用以下命令启动 Sing-Box 服务端:
cd /data/sb-hy2sudo docker compose up -d5.查看日志:
使用以下命令查看 Sing-Box 的日志,确保一切正常运行:
sudo docker logs -f singbox-hy2配置 Clash Verge 客户端1.下载和安装 Clash Verge
在客户端设备上下载 Clash Verge 客户端,并根据需求进行安装。
2.配置节点
Clash Verge 中配置你刚才在 Sing-Box 中设置的代理服务器信息。确保配置项正确,并按照以下格式设置:
port: 7890socks-port: 7891allow-lan: truemode: rulelog-level: infoproxies:  - name: hy2-h2.example.com    type: hysteria2    server: h2.example.com    port: 443    password: JlK4xWm8Q2yN5oVr1tS6pHq8C3zD9bF2    sni: h2.example.com    alpn: [h3]    # up: "50 Mbps"     # 可选速率上限    # down: "200 Mbps"    skip-cert-verify: false    # fast-open: true   # 可按需开启proxy-groups:  - name: 🚀 Proxy    type: select    proxies:      - hy2-h2.example.com      - DIRECTrules:  - GEOIP,CN,DIRECT  - MATCH,🚀 Proxy把上面的配置文件保存为 xxx.yaml;
3.连接并测试:
完成配置后,连接到代理服务器,并测试是否能够顺利访问目标网站。
可能出现的问题
  • 客户端测试不通过。
    • 确定使用的域名,本地 dns 解析正常。
    • 有可能客户端使用的密码,与服务器端的不一致,需要确认。
    • 不要使用 cloudflare 做 dns 代理。
  • Google 有时候用不了
    • 查看服务器端的运行日志,发现使用了 ipv6 的方式访问了 Google,但是我们的服务器上没有启用 ipv6,导致了错误。
    • 在客户端上禁用 ipv6,如果是 clash verge 客户端的话,需要这样修改客户端配置:
alpn: [h3] ip4: true  # 强制使用 IPv4 skip-cert-verify: false
  • 服务端运行日志查看
    • docker logs -f singbox-hy2,这个命令也能确认启动是否正常。
  • 确定端口是否正常监听
    • sudo ss -lnup | grep :443 || true

免责声明: 本站部分文章来自互联网收集,仅供用于学习和交流/测试,请遵循相关法律法规,本站一切资源不代表第柒论坛立场,如有侵权/违规/后门/不妥请联系本站管理员删除。敬请谅解!侵删请致信E-mail:ailm@hlye.cn
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表