Skip to main content

VPS服务器搭建Hysteria2(搭配CloudFlare域名)

·210 words·1 min
Doug Yang
Author
Doug Yang
Gua ~
Table of Contents

最近买了一台US VPS服务器, 搭配了Hysteria2协议和CloudFlare的域名, 整个搭建过程比较顺利, 记录一下

准备工作
#

  1. 购买VPS服务器
    请自行购买VPS服务器, 我用的是V.PS San Jose地区, 价格略贵, 一个月最便宜的也要8.95EUR, 转化为人民币的话差不多是72块钱, 但是三网速度非常优秀, Youtube基本都是秒开, Gemini, Claude, ChatGPT都可以正常使用没有被封过.

  2. 在CloudFlare上购买域名
    请自行购买

  3. 在ClouadFlare申请API key

  • 进入CloudFlare的API Tokens申请界面

    申请API Key

  • 选择创建自定义的token

    创建自定义的token

  • 填写信息创建自己的API key

    填写API Key

  • 复制生成的API Token key(非常重要, 后面会用到)

VPS安装和配置Hysteria2
#

1. 在你的VPS上安装Hysteria2
#

安装或升级到最新版本。

bash <(curl -fsSL https://get.hy2.sh/)

2. 配置Hysteria2
#

nano /etc/hysteria/config.yaml

配置文件内容

# 默认是443, 可以修改
# listen: :443

acme:
  domains:
    - abc.com # 你在CloudFlare上买的域名
  email: abc@abc.com # 你的邮箱, 可以随便写
  type: dns #(用了CloudFlare域名需要配置的)
  dns: #(用了CloudFlare域名需要配置的)
    name: cloudflare
    config:
      cloudflare_api_token: # 这里填写你在CloudFlare上生成的API Token, 也就是上面在CloudFlare生成的那个

auth:
  type: password
  password: 随机的一个复杂的密码
# 如果你想要分给别人使用, 又想要设置每个人的账号密码不一致的话, 可以改为以下配置
# 注意这种模式下你也是一个用户, 所以你也要给自己设置一个用户和用户密码
# auth: 
#   type: userpass
#   userpass:
#     userA: userA密码
#     userB: userB密码
#     userC: userC密码

masquerade:
  type: proxy
  proxy:
    url: https://news.ycombinator.com/
    rewriteHost: true

3. 启动Hysteria2
#

# 设置开机自启, 并立即启动服务。
systemctl enable --now hysteria-server.service

# 重启服务, 通常在修改配置文件后执行。
systemctl restart hysteria-server.service

4. 查看Hysteria2状态
#

systemctl status hysteria-server.service

如果没有报错的话, 就配置完成了, 然后在客户端进行连接就行了

客户端选择
#

surge
#

US-H2 = hysteria2, 服务器IP, 443, password=, sni=, download-bandwidth=50

password: 如果你只有一个人使用的情况下这里的password就是你设置的, 但是如果是多用户的情况下配置如下 passowrd=userA:userAPassword, 需要用:拼接用户名+该用户的密码
sni: 填写你的域名
download-bandwidth: 这里建议50-100, 由于Hysteria2的协议特性, 建议不要设置太高

clash
#

proxies: 
  - name: US-H2
    type: hysteria2
    server: 服务器IP
    port: 443
    password: 
    sni: 
    down: 50 Mbps

password: 规则和Surge一样
sni: 填写你的域名
down: 就是下载带宽也就是surge里的download-bandwidth, 但是这里需要带上单位也就是Mbps

关于IPV6
#

由于我是设置的IPV4的IP作为出口, 之前看到过一个BUG, 是Hysteria2访问是选择IPV4+IPV6动态的, 所以我发现有时候访问Gemini会提示我IP不一致的问题
这里可以选择把IPV6禁用, 反之也是相同的, 如果你默认指定的是IPV6的IP作为出口, 那么建议禁用IPV4
禁用IPV6相关之后就再也没有出现过这个问题, 以下是操作方式

sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1

参考: