|
cloudflare 账号注册
- https://www.cloudflare-cn.com/products/tunnel/
复制代码 域名准备和配置
有两种方式:
- 在 cloudflare 自己购买域名, 比较贵
- 在其他平台的域名, 通过配置解析域名规则, 这样可以托管在 cloudflare
以阿里云为, 在域名管理页面, 选择对应的域名,配置解析服务器为:- adaline.ns.cloudflare.com
- nero.ns.cloudflare.com
复制代码 cloudflare 配置
基本配置
- 本机下载和配置 cloudflare 工具 , 以 linux 为例子
- # 直接将可执行文件下载到 bin 目录
- sudo curl -L 'https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64' -o /usr/bin/cloudflared
- # 增加执行权限
- sudo chmod +x /usr/bin/cloudflared
复制代码- cloudflared tunnel login
- # 将出现的一长串 URL 拷贝到浏览器, 并选择对应的域名
复制代码- # 创建一个隧道, 名为 fedora
- cloudflared tunnel create fedora
- # 此时会出现一个 UID,后续配置文件中会用到,也可以执行 `ls ~/.cloudflared/` 查看
复制代码
- 绑定域名和隧道的对应关系, 可以一个隧道绑定多个域名
- # 绑定域名, 一个隧道可以同时接管多个子域名, 将多个域名都路由指定的隧道
- cloudflared tunnel route dns fedora blog.xxx.cc
- cloudflared tunnel route dns fedora ssh.xxx.cc
- cloudflared tunnel route dns fedora rdp.xxx.cc
- cloudflared tunnel route dns fedora vscode.xxx.cc
复制代码
- 编辑配置文件
在 .cloudflared 目录下,新建 config.yaml 文件
- tunnel: bd7782ba-1f06-4613-b395-cc6c0b237de2
- credentials-file: /home/feng/.cloudflared/bd7782ba-1f06-4613-b395-cc6c0b237de2.json
- protocol: h2mux
- ingress:
- - hostname: vscode.xxx.cc
- service: http://localhost:8080
- originRequest:
- disableChunkedEncoding: false
- noTLSVerify: false
- - hostname: blog.xxx.cc
- service: http://localhost:8081
- originRequest:
- disableChunkedEncoding: false
- noTLSVerify: false
- - hostname: fleet.xxx.cc
- service: http://localhost:8082
- originRequest:
- disableChunkedEncoding: false
- noTLSVerify: false
- - hostname: clash.xxx.cc
- service: http://localhost:7890
- originRequest:
- disableChunkedEncoding: false
- noTLSVerify: false
- - hostname: ssh.xxx.cc
- service: tcp://localhost:22
- originRequest:
- disableChunkedEncoding: false
- noTLSVerify: false
- - hostname: vnc.xxx.cc
- service: rdp://localhost:3389
- originRequest:
- disableChunkedEncoding: false
- noTLSVerify: false
- - service: http_status:404
复制代码 SSH 登录配置
- 配置 ssh 的端口映射,url 改成 tcp 即可, 端口默认是 22
- - hostname: ssh.xxx.cc
- service: tcp://localhost:22
- originRequest:
- disableChunkedEncoding: false
- noTLSVerify: false
复制代码
- 客户端需要 cloudflared 工具配合使用.
修改 ~/.ssh/config 文件- Host ssh.xxx.cc
- ProxyCommand /usr/local/bin/cloudflared access ssh --hostname %h
复制代码 RDP 远程控制配置
- 配置 RDP 的端口映射, url 前缀改为 rdp, 默认端口是 3389
- - hostname: vnc.xxx.cc
- service: rdp://localhost:3389
- originRequest:
- disableChunkedEncoding: false
- noTLSVerify: false
- - service: http_status:404
复制代码
- 使用 cloudflared 进行端口映射,将服务端的 3389 映射到本机的 3389 端口
- cloudflared access rdp --hostname vnc.xxx.cc --url rdp://localhost:3389
复制代码
- 使用 RDP 连接工具, 地址写为 localhost 即可
cloudflared 服务化配置
- sudo cloudflared service install
复制代码 安装完成之后,则可以使用 systemctl 命令进行服务控制
- sudo systemctl enable cloudflared
复制代码- sudo systemctl status cloudflared
复制代码
- 修改服务配置
当注册为服务之后,相应的配置会 copy 到 /etc/cloudflared/config.yml, 如有后续的相关修改,直接修改这个文件即可。
- sudo vim /etc/cloudflared/config.yml
复制代码 来源:https://www.cnblogs.com/0x12345678/p/17032013.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
|