FRP 内网穿透服务 的详细安装、配置和使用步骤—目录
以下是 FRP 内网穿透服务 的详细安装、配置和使用步骤,涵盖服务端(公网服务器)和客户端(内网设备)的完整部署流程:
一、环境准备
1. 服务端要求
• 公网服务器:1核1GB内存及以上(推荐 Ubuntu/CentOS)。
• 开放端口:至少开放 7000
(FRP服务端管理端口)和需要映射的公网端口(如 80, 443, 6000
等)。
• 域名(可选):若需绑定HTTP/HTTPS服务,需提前准备域名并解析到公网服务器IP。
2. 客户端要求
• 内网设备:能访问目标服务(如NAS、本地Web服务器)的设备。
• 操作系统:支持 Windows/Linux/macOS/ARM(树莓派等)。
二、服务端(Frps)部署
1. 下载并安装 FRP
# 进入安装目录
cd /opt
# 下载最新版本(替换版本号)
wget https://github.com/fatedier/frp/releases/download/v0.52.3/frp_0.52.3_linux_amd64.tar.gz
# 解压并重命名文件夹
tar -zxvf frp_0.52.3_linux_amd64.tar.gz
mv frp_0.52.3_linux_amd64 frp
cd frp
2. 配置服务端文件 frps.ini
[common]
bind_port = 7000 # 服务端监听端口
token = your_secure_token # 客户端连接鉴权密钥
dashboard_port = 7500 # 监控面板端口
dashboard_user = admin # 面板用户名
dashboard_pwd = admin123 # 面板密码
log_level = info # 日志级别
log_max_days = 7 # 日志保留天数
# 可选:HTTPS 配置(若需穿透HTTPS服务)
vhost_http_port = 80
vhost_https_port = 443
3. 启动 FRP 服务端
# 直接启动(测试用)
./frps -c frps.ini
# 后台运行(推荐)
nohup ./frps -c frps.ini > frps.log 2>&1 &
# 验证是否运行
ps aux | grep frps
4. 配置开机自启(Systemd)
# 创建 systemd 服务文件
sudo nano /etc/systemd/system/frps.service
[Unit]
Description=FRP Server
After=network.target
[Service]
Type=simple
ExecStart=/opt/frp/frps -c /opt/frp/frps.ini
Restart=on-failure
[Install]
WantedBy=multi-user.target
# 启动服务并设置开机自启
sudo systemctl daemon-reload
sudo systemctl start frps
sudo systemctl enable frps
三、客户端(Frpc)部署
1. 下载并安装 FRP
Linux/macOS:
wget https://github.com/fatedier/frp/releases/download/v0.52.3/frp_0.52.3_linux_amd64.tar.gz
tar -zxvf frp_0.52.3_linux_amd64.tar.gz
cd frp_0.52.3_linux_amd64
Windows:
从 GitHub Releases 下载 frp_*_windows_amd64.zip
并解压。
2. 配置客户端文件 frpc.ini
示例1:映射 SSH 服务(TCP)
[common]
server_addr = your_server_ip # 公网服务器IP或域名
server_port = 7000 # 服务端端口
token = your_secure_token # 与服务端一致的Token
[ssh] # 自定义服务名称
type = tcp
local_ip = 127.0.0.1 # 内网服务IP
local_port = 22 # 内网服务端口
remote_port = 6022 # 公网映射端口
示例2:映射 Web 服务(HTTP)
[web]
type = http
local_port = 8080
custom_domains = www.yourdomain.com # 需解析到公网服务器IP
示例3:安全 TCP 模式(STCP)
[secret_rdp]
type = stcp
sk = my_secret_key # 访问密钥
local_ip = 192.168.1.100
local_port = 3389 # 远程桌面端口
3. 启动客户端
Linux/macOS:
# 直接启动
./frpc -c frpc.ini
# 后台运行
nohup ./frpc -c frpc.ini > frpc.log 2>&1 &
Windows:
双击 frpc.exe
或使用命令行:
frpc.exe -c frpc.ini
4. 配置客户端开机自启
Windows:
将 frpc.exe 和 frpc.ini 放入启动文件夹(C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
)。
Linux(Systemd):
参考服务端的 Systemd 配置,修改 ExecStart
路径为客户端路径。
四、验证与使用
1. 测试 SSH 穿透
ssh username@公网服务器IP -p 6022
2. 访问 Web 服务
浏览器访问 http://公网服务器IP:80
或 http://www.yourdomain.com
。
3. 监控面板
访问 http://公网服务器IP:7500
,输入用户名密码(配置文件中设置的 dashboard_user
和 dashboard_pwd
),查看连接状态和流量统计。
五、高级配置
1. TLS 加密通信
服务端(frps.ini):
[common]
tls_only = true # 强制TLS加密
客户端(frpc.ini):
[common]
tls_enable = true # 启用TLS
tls_server_name = frp.example.com # 验证服务端证书域名
2. 多端口批量映射
[range:tcp_ports] # 映射6000-6010端口范围
type = tcp
local_ip = 192.168.1.200
local_port = 6000-6010
remote_port = 6000-6010
3. Docker 部署
服务端:
docker run -d --name frps \
-p 7000:7000 -p 80:80 -p 443:443 \
-v /path/to/frps.ini:/etc/frp/frps.ini \
snowdreamtech/frps
客户端:
docker run -d --name frpc \
-v /path/to/frpc.ini:/etc/frp/frpc.ini \
snowdreamtech/frpc
六、故障排查
1. 常见问题
• 连接失败:检查服务端防火墙是否开放端口(7000, 7500, 公网映射端口
)。
• Token 错误:确保客户端和服务端的 token
一致。
• 域名解析问题:使用 nslookup www.yourdomain.com
验证域名是否正确解析。
2. 日志查看
# 服务端日志
tail -f /opt/frp/frps.log
# 客户端日志(Linux)
tail -f frpc.log
七、安全建议
- 定期更换 Token:避免使用默认或简单密钥。
- 限制访问 IP:在服务端配置
allow_ports
和防火墙白名单。 - 禁用 Dashboard 公网访问:仅允许本地或VPN访问
7500
端口。
通过以上步骤,您可以快速部署一套完整的 FRP 内网穿透服务,安全高效地访问内网资源。