本来是用于虚拟主机售卖的本地服务器,但是前几天发现买了两年的腾讯云服务器要到期了,于是干脆把博客搬到本地然后就租了一个节点,从我的出租屋frp到一个腾讯云成都的200M峰值的BGP节点,还挺便宜,都是题外话了。
frp这个东西,其实是分为两个部分
- frpc
- frps
frpc即是本地的客户端,我们本地的服务和客户端都在同一个服务器上。
而frps是服务端,即用户或访客能够通过frps所在的服务器或者节点,访问客户端的服务。
因为是租的节点,所以也就无所谓frps了,只需要下载并配置frpc就行。
获取到节点的ip,这个是frp节点商给我们的,
这里以a.a.a.a举例,
然后就到官网下载frpc了
不过我的Debian没有安装桌面环境,干脆脚本安装就好。
gitee:
curl -sSL https://gitee.com/funnyzak/frpc/raw/main/frpc.sh | bash -s install --token YOUR_TOKEN
GitHub:
curl -sSL https://raw.githubusercontent.com/funnyzak/frpc/refs/heads/main/frpc.sh | bash -s install --token YOUR_TOKEN
当然宝塔面板的管理器也是可以用的,还是整合版,就是有点旧了,不过问题不大。
然后就是配置文件了
我这里没有贴我的端口,
给一个总览的示例吧
serverAddr = "a.a.a.a"
serverPort = 7000
# 认证方式(根据服务端配置选择)
auth.method = "token"
auth.token = "your_secret_token"
# 日志配置
log.to = "/var/log/frpc.log"
log.level = "info"
log.maxDays = 7
# 可选:Web 管理界面(本地查看)
webServer.addr = "127.0.0.1"
webServer.port = 7400
webServer.user = "admin"
webServer.password = "admin"
# 可选:心跳与超时
transport.heartbeatInterval = 30
transport.heartbeatTimeout = 90
# ========== 代理配置示例 ==========
# SSH 远程访问(最常用)
[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6022
# HTTP 网站代理
[[proxies]]
name = "web"
type = "http"
localIP = "127.0.0.1"
localPort = 80
customDomains = ["www.example.com"]
# HTTPS 网站代理
[[proxies]]
name = "https-web"
type = "https"
localIP = "127.0.0.1"
localPort = 443
customDomains = ["secure.example.com"]
# RDP 远程桌面(Windows)
[[proxies]]
name = "rdp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3389
remotePort = 63389
# 本地数据库(MySQL)
[[proxies]]
name = "mysql"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3306
remotePort = 63306
# 内网文件服务(SMB)
[[proxies]]
name = "smb"
type = "tcp"
localIP = "127.0.0.1"
localPort = 445
remotePort = 60445
# UDP 代理示例(DNS)
[[proxies]]
name = "dns"
type = "udp"
localIP = "127.0.0.1"
localPort = 53
remotePort = 60053
# TCP 端口范围映射
[[proxies]]
name = "port-range"
type = "tcp"
localIP = "127.0.0.1"
localPort = 8000
remotePort = 18000
# 如需范围:使用多个 proxies 条目或 stcp/xtcp 类型
最后将自己的域名解析到frps节点就行了。