update hugo config and update posts

This commit is contained in:
2026-01-07 08:30:24 +08:00
parent 76b0970d29
commit f33537641a
12 changed files with 1620 additions and 7 deletions
@@ -0,0 +1,175 @@
---
title: frp内网穿透使用指南
tags: ["linux"]
date: 2024-12-02
summary: "frp(Fast Reverse Proxy)是一个高性能的反向代理应用,主要用于内网穿透。..."
---
## 什么是 frp?
frp(Fast Reverse Proxy)是一个高性能的反向代理应用,主要用于内网穿透。它可以将内网服务暴露到公网上,方便外部访问。
有很多小伙伴,家里都有性能很强大的电脑,但是苦于没有公网 IP,导致无法在互联网上部署自己的网站或者服务,而 frp 内网穿透就是用来解决这个问题的。
---
- 首先你得拥有一台具有公网 IP 的服务器,如果你只是用来进行内网穿透的话,性能并不需要很强,1h1g 是肯定够用了。
- 其次,在中国境内的服务器因为种种原因,需要进行网站备案,所以我这里更推荐你去购买香港或者美国的服务器,可以免备案。会省下很多麻烦事。
> PS: 这里推荐一下本站在用的服务器 CloudCone,价格便宜实惠,流量大,用作 frp 服务器绰绰有余。我这边购买的是 2h1g 服务器,一年也就 130 元人民币,并且还支持支付宝直接支付,无需 VISA 卡之类的,本站强烈推荐!!!!
---
## frp 内网穿透
frp 一共分为两个部分:
- **服务器**:一个具有公网 IP 的服务器,运行 frps(frp server)。
- **客户端**:一台处于内网中的机器,运行 frpc(frp client)。
### frps(服务端)
1. 前往 [frp GitHub Releases 页面](https://github.com/fatedier/frp/releases) 下载适合你服务器操作系统的 frp 包。(一般linux64位系统选择linux\_amd64即可)
2. 解压缩下载的包:
tar -zxvf frp_x.x.x_linux_amd64.tar.gz
3. 进入解压好的目录,找到frps.toml文件
vim frps.toml
4. 编辑frps.toml文件
```sh
[common]
# frps 服务端的基本配置
# frps 监听的端口,frpc 将通过这个端口连接到 frps
bind_port = 7443
# 用于身份验证的 token,frpc 连接时需要提供相同的 token
token = xxxxxxxxx
# 监控面板的端口(可选),通过这个端口可以访问 frps 的状态信息
dashboard_port = 8443
# 监控面板的用户名和密码,保护监控面板的访问
dashboard_user = new_username
dashboard_pwd = NewPassword!2024
# 允许开放的端口范围,设置为只开放 10000-11000 端口(可自定义开放端口)
allow_ports = 10000-11000
# 日志级别,可选值有 trace, debug, info, warn, error
log_level = info
# 日志文件路径,frps 的日志将写入该文件
log_file = ./frps.log
# 指定日志的最大大小(单位:MB),达到该大小后将进行轮转
max_log_size = 10
# 允许的最大连接数,限制同时连接到 frps 的 frpc 客户端数量
max_connections = 100
# 启用加密传输(可选),可以提高数据传输的安全性
enable_encrypt = true
# 启用 TCP KeepAlive(可选),可以防止由于网络问题导致的连接断开
tcp_keep_alive = true
# 允许的最大数据包大小(单位:字节)
max_packet_size = 8192
```
### frp从(客户端)
前面的步骤都是一样的
- 前往 [frp GitHub Releases 页面](https://github.com/fatedier/frp/releases) 下载适合你服务器操作系统的 frp 包。(一般linux64位系统选择linux\_amd64即可)
- 解压缩下载的包:
tar -zxvf frp_x.x.x_linux_amd64.tar.gz
1. 找到frpc.toml
2. 编辑frpc.toml
```sh
[common]
# frpc 连接到 frps 服务器的配置
# frps 服务器的地址
server_addr = "your_frps_server_ip" # 替换为你的 frps 服务器 IP
# frps 服务器的端口
server_port = 7443 # 与 frps 的 bind_port 一致
# 身份验证 token,必须与 frps 中的 token 一致
token = "xxxxxxxxx"
# 以下是需要开放的服务配置
# 例如,HTTP 服务
[http]
type = "tcp"
local_ip = "127.0.0.1"
local_port = 80 # 本地 HTTP 服务端口
remote_port = 10001 # 通过 frp 暴露的端口
# 其他服务可以继续添加
```
---
> ***这时候通过访问公网服务器ip加上remote_port端口,即可访问你对应的内网服务了!如果访问有不了请检查一下服务器的防火墙,和云服务器上的防火墙。***
这时我们还需要把公网服务器上的frps服务设置为开机自启动
---
- 创建 一个Systemd 服务文件
sudo vi /etc/systemd/system/frps.service
在文件里添加
```
[Unit]
Description=frp server
After=network.target
[Service]
ExecStart=/path/to/frps -c /path/to/frps.toml
Restart=on-failure
User=your_username # 替换为运行 frps 的用户名
WorkingDirectory=/path/to/frp # frp 的工作目录
[Install]
WantedBy=multi-user.target
```
- 重新加载 Systemd
sudo systemctl daemon-reload
- 启动服务并设置为开机自启
sudo systemctl start frpssudo systemctl enable frps
- 查看服务状态
sudo systemctl status frps
- 如果出现错误,大概率是你的路径填写的不对,确保 `ExecStart` 路径指向你的 frps 可执行文件和配置文件的正确路径。