7、云服务器代理配置

一、云服务器代理内核配置

目标:在国内腾讯云 Ubuntu 无桌面服务器上,通过 Vultr 的 Hysteria2 节点科学上网(rule 模式,国内直连,国外代理),并设置成开机自启服务。

2025-03-21 实际操作完整流程(已验证成功)

1. 前置准备(在能正常访问 GitHub 的环境完成)

  • 桌面端 Clash Verge 已配置好 Hysteria2 节点并能正常使用
  • https://github.com/MetaCubeX/mihomo/releases/latest 下载 mihomo-linux-amd64-v1-v1.19.21.gz(或最新 amd64 版本)
  • 上传到服务器 /etc/clash/ 目录,并解压、重命名、加执行权限:
     cd /etc/clash
     gzip -d mihomo-linux-amd64-v1-v1.19.21.gz
     sudo mv mihomo-linux-amd64-v1-v1.19.21 mihomo
     sudo chmod +x mihomo

2. 配置文件(config.yaml)

  • 在 /etc/clash/ 下创建 config.yaml,内容完整复制桌面端配置(已验证可直接用):
     mixed-port: 7897
     allow-lan: true
     mode: rule
     log-level: info
     proxies: [...]          # Hysteria2-easytake 配置
     proxy-groups: [...]     # Proxy、Mode、Rule 模式、Global 模式、Direct 直连
     rules: [...]            # GEOIP,CN,DIRECT + 国内域名直连 + MATCH,Proxy

完整的vultr代理配置如下:

mixed-port: 7897
allow-lan: true
mode: rule
log-level: info

proxies:
  - name: "Hysteria2-easytake"
    type: hysteria2
    server: easytake.work
    port: 8443
    password: Se7RAuFZ8Lzg
    alpn:
      - h3
    sni: easytake.work
    skip-cert-verify: false
    udp: true

proxy-groups:
  # === 主代理选择组 ===
  - name: "Proxy"
    type: select
    proxies:
      - "Hysteria2-easytake"
      - "DIRECT"

  # === 模式选择 ===
  - name: "Mode"
    type: select
    proxies:
      - "Rule 模式"
      - "Global 模式"
      - "Direct 直连"

  # === 规则模式 ===
  - name: "Rule 模式"
    type: select
    proxies:
      - "Proxy"
      - "DIRECT"

  # === 全局模式 ===
  - name: "Global 模式"
    type: select
    proxies:
      - "Proxy"

  # === 直连模式 ===
  - name: "Direct 直连"
    type: select
    proxies:
      - "DIRECT"

rules:
  # 直连的国内网站或服务
  - GEOIP,CN,DIRECT
  - DOMAIN-SUFFIX,baidu.com,DIRECT
  - DOMAIN-SUFFIX,bilibili.com,DIRECT
  - DOMAIN-SUFFIX,qq.com,DIRECT
  - DOMAIN-SUFFIX,weibo.com,DIRECT
  - DOMAIN-SUFFIX,alipay.com,DIRECT

  # 默认所有其余流量通过代理
  - MATCH,Proxy

3. 首次启动测试(最容易踩坑的地方)

   cd /etc/clash
   ./mihomo -d .

常见错误及解决:

Pasted image 20260321233633

启动后日志停在 “Start initial compatible provider Mode” 后不动
结论:这是正常现象!表示初始化完成,已监听 7897 端口,后台安静运行
验证方式:

新终端:curl -x http://127.0.0.1:7897 ipinfo.io → 显示新加坡 IP 即成功

Pasted image 20260321234545

4. 设置 systemd 服务(实现开机自启 + 后台运行)

  • 创建服务文件(这一步之前漏做了,导致 systemctl 找不到)
     sudo tee /etc/systemd/system/clash.service > /dev/null << 'EOF'
     [Unit]
     Description=Clash mihomo Proxy Service
     After=network.target

     [Service]
     Type=simple
     User=root
     WorkingDirectory=/etc/clash
     ExecStart=/etc/clash/mihomo -d /etc/clash
     Restart=always
     RestartSec=5

     [Install]
     WantedBy=multi-user.target
     EOF
  • 加载并启动服务(关键两步,很多人忘)
 sudo systemctl daemon-reload
 sudo systemctl enable clash
 sudo systemctl start clash
  • 检查状态
 sudo systemctl status clash
Pasted image 20260321233658

→ 看到 Active: active (running) + mihomo 初始化日志 → 成功

5. 让服务器所有命令默认走代理(强烈推荐)

   echo 'export http_proxy=http://127.0.0.1:7897'  | sudo tee -a /etc/profile
   echo 'export https_proxy=http://127.0.0.1:7897' | sudo tee -a /etc/profile
   source /etc/profile

以后 apt update、git clone、curl、wget、docker pull 等全部自动走代理(国内域名直连)

6. 常用指令–快速上手

常用管理命令总结

  • 查看状态:sudo systemctl status clash
  • 实时日志:journalctl -u clash -f
  • 重启服务:sudo systemctl restart clash
  • 停止服务:sudo systemctl stop clash
  • 改配置后重载:sudo systemctl restart clash
  • 手动前台调试:cd /etc/clash && ./mihomo -d .

注意事项 & 经验教训

  • 永远不要指望 mihomo 自动下载 geoip.metadb(国内基本超时)
  • systemd 服务文件创建后必须 daemon-reload,否则 systemctl 找不到
  • 日志停在 “Start initial compatible provider XXX” 是正常,不是卡死
  • Hysteria2 依赖 UDP,腾讯云安全组要放行出站 UDP 流量(默认已放行)
  • 如果节点突然连不上:检查 easytake.work:8443 是否可达、密码/SNI 是否正确

至此,腾讯云服务器已完整配置代理内核,可长期稳定运行。

7. 手动关闭/开启代理配置

A、配置文件

修改.bashrc 文件,指令如下:

vi ~/.bashrc

添加如下代码:

# Clash 代理快捷开关(mihomo mixed-port: 7897)
alias proxy_on='export http_proxy=http://127.0.0.1:7897; export https_proxy=http://127.0.0.1:7897; export all_proxy=http://127.0.0.1:7897; echo "代理已开启(127.0.0.1:7897)"'

alias proxy_off='unset http_proxy https_proxy all_proxy; echo "代理已关闭"'

# 可选:显示当前代理状态
alias proxy_status='echo "http_proxy : ${http_proxy:-未设置}"; echo "https_proxy: ${https_proxy:-未设置}"; echo "all_proxy  : ${all_proxy:-未设置}"'

让改动生效,更新:

source ~/.bashrc

B、效果展示

Pasted image 20260321235113

测试节点位置:

curl ipinfo.io
Pasted image 20260321235213

这里显示的是新加坡的节点,然后关闭代理再次测试:

Pasted image 20260321235245

这里显示的是云服务器的IP,至此我的服务器代理配置顺利完成!!!

8、ssh 代理配置

需要告诉 SSH 客户端,连接 github.com 时也要经过 Clash 的 Socks5 端口。

1. 确认端口

Clash (mihomo) 通常在 78907897 开启混合代理(Mixed Port)。我们假设你的 Socks5 端口也是 7897

2. 修改 SSH 配置文件

编辑(或创建)你的 SSH 配置文件:

nano ~/.ssh/config

3. 添加以下配置内容

将这段内容粘贴进去:

Host github.com
    HostName github.com
    User git
    # 注意:如果你的端口是 7890,请修改下面
    ProxyCommand nc -X 5 -x 127.0.0.1:7897 %h %p
  • nc (netcat) 是 Linux 自带的工具。
  • -X 5 表示使用 SOCKS5 协议。
  • -x 127.0.0.1:7897 是你的 Clash 地址和端口。

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 kipleyarch@gmail.com
Obsidian